移動端打包發佈到應用市場node
注意:如下全部操做都在win10下進行,React Native版本0.59.5,android-studio 版本 3.2react
1 keytool -genkey -v -keystore app.keystore -alias yingqi -keyalg RSA -keysize 2048 -validity 10000
附加說明:android
-genkey 生成文件 ios
-keystore 文件名 算法
-alias 別名react-native
-keyalg 加密算法android-studio
-validity 有效期(單位是天) app
輸入如上命令之後,出現如下步驟:工具
注意:輸入密鑰庫口令【很重要,要記住】測試
生成的的keystore文件默認是在項目的根目錄中,以下圖所示:
把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 ...
打開編輯項目目錄下的android/app/src/main/res/values/strings.xml文件,修更名稱
將以下文件夾中的icon替換成須要修改的圖標便可,注意icon大小保持一致
啓用Proguard代碼混淆來縮小APK文件的大小(保護源代碼,縮小APK包大小)
Proguard是一個Java字節碼混淆壓縮工具,它能夠移除掉React Native Java (和它的依賴庫中)中沒有被使用到的部分,最終有效的減小APK的大小。
重要:每次啓用Proguard以後,必須再次全面地測試你的應用。Proguard有時候須要爲你引入的每一個原生庫作一些額外的配置。參見app/proguard-rules.pro文件。
在android/app/build.gradle文件中,找到enableProguardInReleaseBuilds而後修改def enableProguardInReleaseBuilds = true
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 },
運行打包與成功效果