react native 之打包 Android的apk
react native 打包成Android 的apk安装包有两种方式,第一种方式是利用 Android studio 打包这里就不接介绍了。第二种是利用 react native 自身项目打包
1.生成签名
再一个空文件夹打开CMD,运行以下命令
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
2.按提示输入口令(自定义,要记住)、姓氏、组织单位、城市、天国代码(86)
3.将生成后的 my-release-key.keystore(我这里改成了app.keystore了) 放到你工程中的android/app文件夹下
4.打开编辑项目目录下的android/app/build.gradle文件,添加如下的签名配置(signingConfigs )
signingConfigs { // 将默认的debug 注释或者去掉都可以 // debug { // storeFile file('debug.keystore') // storePassword 'android' // keyAlias 'androiddebugkey' // keyPassword 'android' // } release { keyAlias 'my-key-alias' //别名 keyPassword 'zkr123521' //密钥密码 之前设置秘钥口令 storeFile file('app.keystore') //my-release-key.keystore文件的绝对路径 storePassword 'zkr123521' //存储密码 } }
5.修改android/app/build.gradle 中buildTypes 配置
buildTypes { debug { signingConfig signingConfigs.debug } release { // Caution! In production, you need to generate your own keystore file. // see https://reactnative.dev/docs/signed-apk-android. signingConfig signingConfigs.release //将默认的debug 改成 release minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } }
6.修改android/app/build.gradle 中的enableProguardInReleaseBuilds属性
/** * Run Proguard to shrink the Java bytecode in release builds. */ def enableProguardInReleaseBuilds = true //将默认的false 改成true
7.进入 react native 的andriod 目录 运行
gradlew assembleRelease //windows命令 ./gradlew assembleRelease //在macOS和Linux系统
8.执行完毕后在 你的项目下\android\app\build\outputs\apk\release中可以找到 app-release.apk
本人亲自填的坑!