参考地址:React native Android 命令 打包apk

首先:尝试使用模拟器测试

这里是因为需要确认目前在电脑上的模拟器是可以正常运行的,并且,开发React native的应用程序,肯定是需要做一些本地测试的

第一:生成签名密钥

这一步的操作主要是生成需要的签名密钥,供android调用,生成的文件待用

在项目根目录运行以下命令,输入的密码是比较简单的1234567890

keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

第二:设置gradle

分两步:

第一步:配置全局的gradle变量

打开C:\Users\chenwes\应该是可以看到一个文件夹.gradle,打开后,应该也有一个文件gradle.properties,如果不存在该文件,可以手动创建,并在该文件中输入以下内容

TEST_RELEASE_STORE_FILE=my-release-key.keystore
TEST_RELEASE_KEY_ALIAS=my-key-alias
TEST_RELEASE_STORE_PASSWORD=1234567890
TEST_RELEASE_KEY_PASSWORD=1234567890

第二步:给项目添加签名

将刚才生成的签名文件my-release-key.keystore复制至react native项目中的android\app文件夹中

并手动编辑android\app文件夹下的build.gradle文件,

...
android {...defaultConfig { ... }signingConfigs {release {storeFile file (TEST_RELEASE_STORE_FILE)storePassword TEST_RELEASE_STORE_PASSWORDkeyAlias TEST_RELEASE_KEY_ALIASkeyPassword TEST_RELEASE_KEY_PASSWORD}}buildTypes {release {...signingConfig signingConfigs.release}}
}
...

以下是我本地修改过的build.gradle的文件

第三步:生成APK

第一次没有成功,

在项目的根目录,运行命令

cd android #如果你已经在anroid目录,则不需要该命令gradlew assembleRelease 

以下这种方法适合对于,在项目的android/app下有一个react.gradle文件的情况,但我的没有,马上进行第二次尝试

第二次尝试

因为在我的电脑中,在项目的android/app下没有react.gradle文件,需要按以下流程来处理

  1:到D:\test\TestAndroidApk\android\app\src\main,创建一个assets的空文件夹

  2:打开命令窗口,定位到项目的根目录,运行命令,运行完成后,应该可以在项目目录下的D:\test\TestAndroidApk\android\app\src\main\assets看到两个文件,即index.bundle和index.bundle.meta两个文件,生成的这两个文件,会打包至APK中。

react-native bundle --platform android --dev false --entry-file index.js  --bundle-output android/app/src/main/assets/index.android.bundle  --assets-dest android/app/src/main/res/#这里注意一下参数--entry-file index.js 因为React Native以前的版本会生成两个文件,现在的版本0.52.0已经变成只有一个文件,这里需要注意,参考别人的文章时需要注意。

  3:命令窗口进入至android目录,运行命令

gradlew assembleRelease

  4:最后需要清理,运行命令

gradlew clean


在生成APK时,如果遇到错误,不要慌,先仔细对一下各项参数是否都可以对应到

1:在生成签名文件时,四个参数是否与C:\Users\chenwes\.gradle文件夹中的gradle.properties设置的四个参数是不是一致。

2:C:\Users\chenwes\.gradle文件夹中的gradle.properties设置的四个参数要与 D:\test\TestAndroidApk\android\app文件夹中的build.gradle中的signingConfigs  =》 release节点中的一致(gradle.properties设置的真实的值,且是全局的,build.gradle的是一个引用值)

3:D:\test\TestAndroidApk\android\app文件夹中的build.gradle中的buildTypes =》 release是不是加入了signingConfig signingConfigs.release

简单的步骤总结:

生成APK1.生成tqstablet.keystore文件,并复制到~\tqs-tablet\android\app文件夹
keytool -genkey -v -keystore tqstablet.keystore -alias tqstablet -keyalg RSA -keysize 2048 -validity 100002.gradle全局文件(不存在则新增)
C:\Users\chenwes\.gradle增加内容
TQSTABLET_RELEASE_STORE_FILE=tqstablet.keystore
TQSTABLET_RELEASE_STORE_PASSWORD=******
TQSTABLET_RELEASE_KEY_ALIAS=tqstablet
TQSTABLET_RELEASE_KEY_PASSWORD=******3.~\tqs-tablet\android\app\src\main创建assets空文件夹4.在根目录执行react-native bundle --platform android --dev false --entry-file index.js  --bundle-output android/app/src/main/assets/index.android.bundle  --assets-dest android/app/src/main/res/
应该会在~\tqs-tablet\android\app\src\main\assets生成index.android.bundle和index.android.bundle.meta5.在根目录的android文件夹执行gradlew assembleRelease
~\tqs-tablet\android\app\build\outputs\apk生成APK完成6.在根目录的android文件夹执行gradlew clean清空

在模拟器使用生成的APK

转载于:https://www.cnblogs.com/weschen/p/8358952.html

react native 生成APK相关推荐

  1. React Native之APK文件签名及打包

    生成apk签名文件 我们使用android studio的方式进行签名 AS工具栏找到并点击 build->gennrate signed apk 两种情况: 1.这里如果已经有签名文件了则直接 ...

  2. Windows 下React Native 打包APK 错误解决

    今天学习window下将React Native 打包成Android Apk 的时候遇到一个坑,先将解决方法记录一下; 问题: 按照RN官网一步步操作: 官网地址:https://reactnati ...

  3. react native生成APP报错:You have not accepted the license agreements of the following SDK components:

    今晚因为这个问题,加班到晚上11点都没搞出来.实在是气愤,幸好回来查找资料,终于找到了罪魁祸首. 一.报错信息 * What went wrong: A problem occurred config ...

  4. React Native进行签名打包成Apk

    为什么80%的码农都做不了架构师?>>>    Android签名文件生成 上面有一个Android官方的签名生成方法的地址,大家可以进行详情查看,不过需要翻墙哦~.我现在给大家讲解 ...

  5. 最火移动端跨平台方案盘点:React Native、weex、Flutter

    本文原文由"恋猫月亮"原创发布,原题为<移动端跨平台开发的深度解析>,本次重新整理后,为了优化阅读体验,内容略有改动,感谢原作者的无私分享. 1.前言 跨平台一直是老生 ...

  6. React Native 环境搭建步骤

    之前一直用RN写APP,但是真正对于RN的安装以及环境配置缺不太了解.相当于站在巨人的肩膀.这次,研究RN的同事离职,所以这块儿就必须要接手.从新搭建了一次环境.在此记录一下. 一.RN环境搭建的必须 ...

  7. React Native布局详细指南

    本文出自<React Native学习笔记>系列文章. 一款好的APP离不了一个漂亮的布局,本文章将向大家分享React Native中的布局方式FlexBox.  在React Nati ...

  8. react native 开发笔记(一)

    1.准备工作: (1)安装node.js程序 (2)安装android-studio程序(项目第一次加载需要 androidSDK) (3)java环境的配置(百度) (4)需要一个安卓程序模拟器,我 ...

  9. React Native App设置amp;Android版发布

    React Native系列 <逻辑性最强的React Native环境搭建与调试>  <ReactNative开发工具有这一篇足矣>  <解决React Native ...

最新文章

  1. POJ 3683 【2-sat+求一组可行解】.cpp
  2. maven开发工具安装
  3. Spring JDBC-使用Spring JDBC访问数据库
  4. 十七、深入Java的类
  5. JDK提供的检测工具
  6. 安装ubuntu系统步骤
  7. 使用C++访问OPC Server的简单方法
  8. leetcode322 零钱兑换
  9. 衡量激光雷达性能好坏的标准是什么?
  10. struts2系列(四):struts2国际化的多种方式
  11. 《异星入境》-超粒方
  12. 【15】 数学建模 | 典型相关分析 | 内附具体实现流程(清风课程,有版权问题,私聊删除)
  13. autojs切换输入法
  14. 卷积和反卷积输出的计算公式
  15. java bean 转bean_如何用Bull转换任意类型的Java Bean
  16. 微信分账:分账接收方列表格式错误
  17. IPadDemo之QQZone
  18. 2022-8-3----Android10.0(MTK)-----SN_Writer 写入 SN 注意事项
  19. 电脑被绑架开机自动装流氓软件
  20. [内附完整源码和文档] 基于JAVA的房屋中介管理系统

热门文章

  1. android 获取手机运行的进程
  2. android openGl纹理的使用
  3. 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。
  4. 【转】React 16 中从 setState 返回 null 的妙用
  5. Java中只有按值传递,没有按引用传递!
  6. gradle编译打包过程 之 ProcessAndroidResources的源码分析
  7. 简单线性回归预测实现
  8. 洛谷 P2046 BZOJ 2007 海拔(NOI2010)
  9. Function types cannot have argument labels 错误解决方案
  10. Android学习起步 - 新建工程及相关