React-Native之打包發布(Android)
一,介紹與需求
移動端打包發布到應用市場
二,發布配置
注意:以下所有操作都在win10下進行,React Native版本0.59.5,android-studio 版本 3.2
1,生成簽名
1 keytool -genkey -v -keystore app.keystore -alias yingqi -keyalg RSA -keysize 2048 -validity 10000
附加說明:
-genkey 生成文件
-keystore 文件名
-alias 別名
-keyalg 加密算法
-validity 有效期(單位是天)
輸入如上命令以后,出現以下步驟:
注意:輸入密鑰庫口令【很重要,要記住】
生成的的keystore文件默認是在項目的根目錄中,如下圖所示:
2,在gradle文件中添加簽名配置
把app.keystore文件放到你工程中的android/app文件夾下。
打開編輯項目目錄下的android/app/build.gradle文件,添加如下的簽名配置:
1 ... 2 android { 3 ... 4 defaultConfig { ... } 5 signingConfigs { 6 release { 7 keyAlias 'yingqi' //別名 8 keyPassword '123456' //密鑰密碼 之前設置秘鑰口令 9 storeFile file('app.keystore') //my-release-key.keystore文件的絕對路徑 10 storePassword '123456' //存儲密碼 11 } 12 } 13 buildTypes { 14 release { 15 ... 16 minifyEnabled enableProguardInReleaseBuilds // 在 當前文件中,找到變量 enableProguardInReleaseBuilds ,將其值修改為 true 17 signingConfig signingConfigs.release // 引用簽名 18 } 19 } 20 } 21 ...
3,修改應用名稱
打開編輯項目目錄下的android/app/src/main/res/values/strings.xml文件,修改名稱
4,修改應用icon
將如下文件夾中的icon替換成需要修改的圖標即可,注意icon大小保持一致
5,代碼混淆
啟用Proguard代碼混淆來縮小APK文件的大小(保護源代碼,縮小APK包大小)
Proguard是一個Java字節碼混淆壓縮工具,它可以移除掉React Native Java (和它的依賴庫中)中沒有被使用到的部分,最終有效的減少APK的大小。
重要:每次啟用Proguard之后,必須再次全面地測試你的應用。Proguard有時候需要為你引入的每個原生庫做一些額外的配置。參見app/proguard-rules.pro文件。
在android/app/build.gradle文件中,找到enableProguardInReleaseBuilds然后修改def enableProguardInReleaseBuilds = true
6,打包命令配置
1 "scripts": { 2 "start": "node node_modules/react-native/local-cli/cli.js start", 3 "bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.js --platform ios --dev false --bundle-output ./ios/main.jsbundle --bundle-encoding utf8 --assets-dest ./ios", 4 "bundle-android": "cd ./android && ./gradlew assembleRelease", 5 "bundle-win-android": "cd android && gradlew assembleRelease", 6 "test": "jest" 7 },
運行打包與成功效果