React Native App設置&Android版發布


 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文件。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM