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

本人親自填的坑!
