create-react-native-app 运行npm run eject后根目录会产生一个andriod目录和ios目录。里面就是运行打包的配置文件。
如果你是用react-native-cli 开发RN的应该一开始就有这俩目录。

比如 android 目录里面会有build.gradle,gradle.properties 等
简单说 gradle 是一个依赖管理/自动化编译测试部署打包工具。

首先生成签名key

.\keytool.exe -genkey -v -keystore D:/my-release-key.keystore -alias my-key-a lias -keyalg RSA -keysize 2048 -validity 10000
有个小坑是生成key的路径是D盘,因为在当前C盘生成的话在windows下可能会有权限问题。

image.png

然后按照这个 教程,改动一些配置文件。

修改相关配置文件

在根目录的android目录下执行 ./gradlew assembleRelease
后面就踩了很多坑,大多数版本问题。
比如java jdk从最新的9改为了8
gradle版本改为了最新的4.3
还报了一些缺少npm包的错误,直接npm install缺哪个装哪个就行了。

具体的见下面的文件改动

android/build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {repositories {jcenter()}dependencies {/*这里之前是 2.2.3卡在这里半天,老是报 com.android.build.gradle.tasks.factory.AndroidJavaCompile.setDependencyCacheDir(Ljava/io/File;)V*/ classpath 'com.android.tools.build:gradle:2.3.2'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}allprojects {repositories {mavenLocal()jcenter()maven {// All of React Native (JS, Obj-C sources, Android binaries) is installed from npmurl "$rootDir/../node_modules/react-native/android"}}
}

android/app/build.gradle

android {// 这里之前是// compileSdkVersion 23// buildToolsVersion "23.0.1compileSdkVersion 25buildToolsVersion "25.0.1"...

android\gradle\wrapper

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
# distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-4.3-all.zip

执行最后的打包命令 ./gradlew assembleRelease

切换到android目录 打包成功画面

image.png

注意事项:打包过程会占用大量内存,把WebStorm等大的程序关掉。

ReactNative windows下打包生成安卓apk相关推荐

  1. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码...

    C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 原文:C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 前言 系列 ...

  2. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码

    我记得,之前在写安卓方面的文章的时候,有人就问过我.Xamarin.Android为什么打包出来这么大?随便一个HelloWord就20-30MB? 嗯..今天我们就来解决这个问题.. 我们先从指定一 ...

  3. uniapp项目创建打包生成安卓apk文件

    1.下载开发工具 HBuilder X 并安装 下载地址(安装过程不赘述):HBuilderX-高效极客技巧 2.创建uniapp项目 点击左上角文件=>新建=>项目,选择项目类型,填写项 ...

  4. UE4在windows下打包IOS(虚拟机)

    UE4在windows下打包IOS 1.简述 2.搭建步骤 3.报错 1.简述 之前整理过在linux下配置UE4的文章(linux下安装编译ue4问题报错的解决方法),今天梳理下在虚拟机上安装Mac ...

  5. installshield打包mysql_实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包

    实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包 undefined undefined用Installshield对Php+mysql+apache做的 ...

  6. installshield mysql_实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包

    实现Installshield对Php+mysql+apache做的程序在WINDOWS下打包 上一篇 / 下一篇  2007-09-30 09:39:59 / 个人分类:For Test 实现Ins ...

  7. 如何在Windows下搭建Qt安卓开发环境?

    一.导读 本文描述如何在Windows下搭建Qt安卓开发环境,由于Qt维护的安卓开发环境和安卓开发环境在很大程度上不兼容,所以在选择Qt版本的时候需要注意:在JDK和Android SDK环境的选择上 ...

  8. 记录下Mac生成安卓证书

    最近开发基于uniapp框架的app,需要打包为安卓的apk安装包. 会用到安卓证书. 先装环境: JRE(Java Runtime Environment)环境, 我们需要安装Java SE.下载对 ...

  9. libxml2 iconv 在windows下的生成指南

    libxml2 + iconv + msvc 在windows下生成使用库 为了跨平台的解析xml,偶然获得Linux下比较好用的一个xml的解析库libxml2,使用起来确实比较简单,方便:但移植到 ...

最新文章

  1. CSS的三种使用方式
  2. 存储知识:数据一致性、分级存储、分层存储与信息生命周期管理
  3. python 操作mongodb数据库参考文档
  4. ubuntu下的jdk环境变量配置(解决sun jdk和open jdk的问题)
  5. linux添加网络节点,Pi网络节点配置教程(windows10专业版)
  6. CSS命名与书写规范
  7. 三星内存编码_想问一下三星内存条的型号有什么区别
  8. Android原生开发饱和后,为什么还有这么多人没转行?,渣本Android开发小伙如何一步步成为架构师
  9. 大数据BI解决方案:医疗行业的数据治理
  10. 实验一 验证删除快照时VMware会改变父快照或基础磁盘
  11. 删除hdfs上的内容报错:rm: Cannot delete /wxcm/ Name node is in safe mode.
  12. 【手机】手机代码查询命令大集合
  13. 【Java---数据结构】栈(Stack)
  14. javascript事件触发器
  15. weblogic1213打补丁报错,对 ORACLE_HOME/.patch_storage 没有读权限或写权限
  16. python之HTMLParser解析HTML文档
  17. vue中使用excelJs导出excel
  18. PDF转PPT免费软件哪个好?告诉你几个PDF转PPT的软件
  19. 攻防世界进阶upload
  20. Web文件管理系统!免费使用版

热门文章

  1. mysql补充(3)优化sql语句查询常用的30种方法
  2. jee websocket搭建总结
  3. linux机群下NFS+NIS服务的搭建以及MPICH的简单安装
  4. Sitemesh排除Exclude不装饰特定页面的解决办法
  5. 【Linux 内核 内存管理】内存管理架构 ⑤ ( sbrk 内存分配系统调用代码示例 | 在 /proc/pid/maps 中查看进程堆内存详情 )
  6. 【数字信号处理】相关系数 ( 相关系数特点 | 完全相关 | 完全无关 | 部分相关 | 取值范围 | 相关信号产生 | 相干信号产生 )
  7. 【Groovy】Groovy 脚本调用 ( Groovy 脚本中调用另外一个 Groovy 脚本 | 调用 evaluate 方法执行 Groovy 脚本 | 参数传递 )
  8. 【Java 虚拟机原理】Dalvik 虚拟机 ( 简介 | CPU 指令集 | Dalvik 虚拟机内存 )
  9. 【Java 泛型】泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )
  10. 【Flutter】Image 组件 ( 加载网络图片 | 加载静态图片 | 加载本地图片 | path_provider 插件 )