React Native App设置amp;Android版发布
?React Native系列
《邏輯性最強(qiáng)的React Native環(huán)境搭建與調(diào)試》?
《ReactNative開(kāi)發(fā)工具有這一篇足矣》?
《解決React Native unable to load script from assets index.android.bundle on windows》?
《React Native App設(shè)置&Android版發(fā)布》?
一、設(shè)置APP信息
1.設(shè)置包名、版本號(hào)
目錄:~/android/app/build.gradle
2.設(shè)置應(yīng)用名
目錄:~/android/app/src/main/res/values/strings.xml
3.設(shè)置圖標(biāo)
在~/android/app/src/main/res/下,你會(huì)看到一系列mipmap開(kāi)頭的文件夾(默認(rèn)是4個(gè)),按照里面ic_launcher.png的尺寸,生成四個(gè)版本的icon并替換。
有時(shí)候圖標(biāo)修改會(huì)遲遲不生效,此時(shí)從手機(jī)上徹底刪掉原應(yīng)用,刪掉文件夾android/build和android/app/build,然后再重新打包。如圖:
二、打包發(fā)布android應(yīng)用
1.生成簽名秘鑰
在Windows上keytool命令放在JDK的bin目錄中(比如C:\Program Files\Java\jdkx.x.x_x\bin),你可能需要在命令行中先進(jìn)入那個(gè)目錄才能執(zhí)行此命令:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
需要輸入兩次密碼,它會(huì)生成一個(gè)叫做my-release-key.keystore的密鑰庫(kù)文件,有效期為10000天,執(zhí)行界面如圖:
2.設(shè)置gradle變量
①.把my-release-key.keystore文件放到你工程中的~/android/app文件夾下。
②.編輯~/android/gradle.properties,添加如下的代碼(注意把其中的****替換為相應(yīng)密碼)
MYAPP_RELEASE_STORE_FILE=my-release-key.keystoreMYAPP_RELEASE_KEY_ALIAS=my-key-aliasMYAPP_RELEASE_STORE_PASSWORD=*****MYAPP_RELEASE_KEY_PASSWORD=*****如圖:
3.添加簽名到項(xiàng)目的gradle配置文件
目錄~/android/app/build.gradle,添加如下的簽名配置:
...android {...defaultConfig { ... }signingConfigs {release {storeFile file(MYAPP_RELEASE_STORE_FILE)storePassword MYAPP_RELEASE_STORE_PASSWORDkeyAlias MYAPP_RELEASE_KEY_ALIASkeyPassword MYAPP_RELEASE_KEY_PASSWORD}}buildTypes {release {...signingConfig signingConfigs.release}}}...如圖:
4.發(fā)行應(yīng)用
執(zhí)行命令:?
cd android && gradlew assembleRelease生成的APK文件位于android/app/build/outputs/apk/app-release.apk
5.啟用Proguard代碼混淆來(lái)縮小APK文件的大小(可選)
進(jìn)入目錄~/android/app/build.gradle,設(shè)置minifyEnabled選項(xiàng)為true:
def enableProguardInReleaseBuilds = true如圖:
Proguard是一個(gè)Java字節(jié)碼混淆壓縮工具,它可以移除掉React Native Java(和它的依賴庫(kù)中)中沒(méi)有被使用到的部分,最終有效的減少APK的大小。
重要:啟用Proguard之后,你必須再次全面地測(cè)試你的應(yīng)用。Proguard有時(shí)候需要為你引入的每個(gè)原生庫(kù)做一些額外的配置。參見(jiàn)app/proguard-rules.pro文件。
?
總結(jié)
以上是生活随笔為你收集整理的React Native App设置amp;Android版发布的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: vuejs深入浅出—基础篇
- 下一篇: Android 禁止屏幕旋转 旋转屏幕