ReacNative---签名打包发布Release版本的apk安装包
一、NDK的安装和配置: 【 先保证自己正确配置了所有的 RN 环境,(其中包含android-ndk的配置,如若没有配置请按照以下步骤配置,否则可跳过)】
1、下载NDK,【官网链接:https://developer.android.google.cn/ndk/downloads】
2、安装
2.1 打开你的SDK Manger安装的路径,新建一个文件 ndk-bundle
2.2然后将下载的NDK解压出来的所有的文件都放到该文件夹下即可
3、配置环境变量
许多Android项目的编译脚本都会通过NDK_HOME环境变量来调用NDK,因此需要手动新建系统环境变量:
变量名 | NDK_HOME | 变量名必须严格匹配 |
变量值 | C:\Android\ndk-bundle | 需要根据NDK实际的安装路径填写 |
为了方便通过命令行启动ndk-build,还可以在系统环境变量Path中追加%NDK_HOME%。
4、如果出现问题,做如下配置:【ndk的版本号到你安装ndk的路径找 C:\Android\ndk-bundle\source.properties】
二、如何发布一个apk【签名打包官网链接:https://reactnative.dev/docs/signed-apk-android】
1、先保证自己正确配置了所有的 RN 环境
2、在 cmd 命令行中,运行这一句话
keytool -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
此命令提示您输入密钥库和密钥的密码以及密钥的专有名称字段(输入的内容看不到,记得拿小本本记下来)。然后,它将密钥库生成为名为的文件my-upload-key.keystore
。
密钥库包含单个密钥,有效期为10000天。别名是您稍后在对应用程序进行签名时将要使用的名称,因此请记住该别名。
注意:
-
- 其中: `my-release-key.keystore` 表示你一会儿要生成的那个 签名文件的 名称【很重要,包找个小本本记下来】
- `-alias` 后面的东西,也很重要,需要找个小本本记下来,这个名称可以根据自己的需求改动`my-key-alias`
- 当运行找个命令的时候,需要输入一系列的参数,找个口令的密码,【一定要找个小本本记下来】
3、当生成了签名之后,这个签名,默认保存到了自己的用户目录下C:\Users\Administrator\my-upload-key.keystore
4. 将你的签名证书复制到项目根目录 android/app目录下:
5. 进入你的项目根目录,编辑文件~/.gradle/gradle.properties
或android/gradle.properties
,在最后,添加以下内容(替换*****
为正确的密钥库密码,别名和密钥密码)
1 MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore 2 MYAPP_UPLOAD_KEY_ALIAS=my-key-alias 3 MYAPP_UPLOAD_STORE_PASSWORD=*****
4 MYAPP_UPLOAD_KEY_PASSWORD=*****
6、进入你的项目根目录,编辑 android/app/build.gradle文件添加如下代码:
1 ... 2 android { 3 ... 4 defaultConfig { ... } 5 signingConfigs { 6 release { 7 if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) { 8 storeFile file(MYAPP_UPLOAD_STORE_FILE) 9 storePassword MYAPP_UPLOAD_STORE_PASSWORD 10 keyAlias MYAPP_UPLOAD_KEY_ALIAS 11 keyPassword MYAPP_UPLOAD_KEY_PASSWORD 12 } 13 } 14 } 15 buildTypes { 16 release { 17 ... 18 signingConfig signingConfigs.release 19 } 20 } 21 } 22 ...
7. 进入项目根目录下的`android`文件夹,在当前目录打开终端,然后输入`./gradlew assembleRelease`开始发布APK的Release版;
7.1方法一 : 输入以下命令
./gradlew bundleRelease #---Linux系统 gradlew bundleRelease #--window系统
//以上执行完后,接着执行以下命令 开始发布APK的Release版
react-native run-android --variant=release
7.2方法二:直接输入以下命令即可 开始发布APK的Release版
./gradlew assembleRelease #---Linux系统
gradlew assembleRelease #--window系统
8. 当发行完毕后,进入自己项目的`android\app\build\outputs\apk`目录中,找到`app-release.apk`,这就是我们发布完毕之后的完整安装包;
ps: 也可参考: https://blog.csdn.net/m0_37686205/article/details/103098592