React Native系列
《邏輯性最強的React Native環境搭建與調試》
《ReactNative開發工具有這一篇足矣》
《解決React Native unable to load script from assets index.android.bundle on windows》
《React Native App設置&Android版發布》
一、設置APP信息
1.設置包名、版本號
目錄:~/android/app/build.gradle

2.設置應用名
目錄:~/android/app/src/main/res/values/strings.xml

3.設置圖標
在~/android/app/src/main/res/下,你會看到一系列mipmap開頭的文件夾(默認是4個),按照里面ic_launcher.png的尺寸,生成四個版本的icon並替換。
有時候圖標修改會遲遲不生效,此時從手機上徹底刪掉原應用,刪掉文件夾android/build和android/app/build,然后再重新打包。如圖:

二、打包發布android應用
1.生成簽名秘鑰
在Windows上keytool命令放在JDK的bin目錄中(比如C:\Program Files\Java\jdkx.x.x_x\bin),你可能需要在命令行中先進入那個目錄才能執行此命令:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
需要輸入兩次密碼,它會生成一個叫做my-release-key.keystore的密鑰庫文件,有效期為10000天,執行界面如圖:

2.設置gradle變量
①.把my-release-key.keystore文件放到你工程中的~/android/app文件夾下。
②.編輯~/android/gradle.properties,添加如下的代碼(注意把其中的****替換為相應密碼)
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-key-alias MYAPP_RELEASE_STORE_PASSWORD=***** MYAPP_RELEASE_KEY_PASSWORD=*****
如圖:
3.添加簽名到項目的gradle配置文件
目錄~/android/app/build.gradle,添加如下的簽名配置:
...
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
...
如圖:
4.發行應用
執行命令:
cd android && gradlew assembleRelease
生成的APK文件位於android/app/build/outputs/apk/app-release.apk
5.啟用Proguard代碼混淆來縮小APK文件的大小(可選)
進入目錄~/android/app/build.gradle,設置minifyEnabled選項為true:
def enableProguardInReleaseBuilds = true
如圖:
Proguard是一個Java字節碼混淆壓縮工具,它可以移除掉React Native Java(和它的依賴庫中)中沒有被使用到的部分,最終有效的減少APK的大小。
重要:啟用Proguard之后,你必須再次全面地測試你的應用。Proguard有時候需要為你引入的每個原生庫做一些額外的配置。參見app/proguard-rules.pro文件。
