1. 程式人生 > >react native 安卓打包--mac環境,如果打包不成功可註意下my-release-key.keystore的位置關系(絕對路徑)

react native 安卓打包--mac環境,如果打包不成功可註意下my-release-key.keystore的位置關系(絕對路徑)

項目 雙引號 添加 star ica local strong pre mos

// my-release-key.keystoremy-key-alias都是可修改的名稱

1.生成簽名密鑰(keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

2.在項目中找到android/app/src/main目錄下創建一個叫assets的文件夾

在工程目錄下(android/app/src/main/assets),並在 此文件夾下(assets)生成index.android.bundle

(生成index.android.bundle

一定要先起服務(react-native start)再輸入才會有效,否則生成的是空的)

下面是指令(蘋果自帶curl

curl -k ‘http://localhost:8081/index.android.bundle‘ > android/app/src/main/assets/index.android.bundle

3.添加gradleandroid keystore配置(設置app文件夾下的build.gradle文件):

// 簽名 ---寫在android {}中
signingConfigs { // 放在defaultConfig{} 下面 // 以下字符串為單引號,雙引號好像會報錯(忘記了)

release {
storeFile file(‘/Users/zhou/Desktop/demoS/my-release-key.keystore‘) // 這裏的位置是keystore在系統文件的絕對路徑位置
storePassword ‘密碼’
keyAlias ’alias名字‘
keyPassword ‘MYAPP_RELEASE_KEY_PASSWORD’
}}


buildTypes {
release {

  minifyEnabled enableProguardInReleaseBuilds
  proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"

signingConfig signingConfigs.release // 再加入這行代碼,添加這句話引入簽名配置,使之簽名生效
}
}

4.啟用Proguard代碼混淆來縮小apk文件的大小:

修改為true:def enableProguardInReleaseBuilds = true

5./android/目錄中執行gradle assembleRelease命令,打包後的文件(apk格式帶簽名的)在android/app/build/outputs/apk目錄中,如果打包碰到問題可以先執行gradle clean清理一下。

react native 安卓打包--mac環境,如果打包不成功可註意下my-release-key.keystore的位置關系(絕對路徑)