2018年7月1日 星期日

[React Native]打包android apk的踩雷筆記


1.環境:
   Node.js
   Android Studio
2.環境變數:

ANDROID_HOME
   c:\Users\使用者名稱\AppData\Local\Android\Sdk
Path
   C:\Users\使用者名稱\AppData\Local\Android\Sdk\platform-tools //為了下adb指令
   C:\Users\使用者名稱\AppData\Local\Android\Sdk\
   C:\Users\使用者名稱\AppData\Local\Android\Sdk\tools
   C:\Program Files\Java\jdk1.8.0_77\bin //為了下keytool指令

3.在「專案資料夾\android\app」路徑下跑指令產生keystore檔
$ keytool -genkey -v -keystore keystore檔案名.keystore -alias keystore檔案名 -keyalg RSA -keysize 2048 -validity 10000
過程中意外都是中文,記得要把輸入的金鑰都記起來

4.在「C:\Users\使用者名稱\.gradle」路徑下新增一個檔案「gradle.properties」
MYAPP_RELEASE_STORE_FILE=keystore檔案名.keystore
MYAPP_RELEASE_KEY_ALIAS=keystore檔案名
MYAPP_RELEASE_STORE_PASSWORD=剛剛創keystore檔輸入的
MYAPP_RELEASE_KEY_PASSWORD=剛剛創keystore檔輸入的
5.在「專案資料夾\android\app\build.gradle」新增這些屬性
android {
    ...
    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
        }
    }
}
6.打開Android Studio 的AVD模擬器(或是用Nexus_4_API_27)或者用USB插上Android手機
7.下指令開始打包apk
react-native run-android --variant=release
8.打包完後,檔案會出現在「專案資料夾\android\app\build\outputs\apk」
9.註記:若打包失敗,記得要先把「專案資料夾\android\app\build」刪掉再重跑react-native run-android --variant=release


沒有留言:

張貼留言