安卓打包
1.首先在工程目錄里 執(zhí)行 mkdir android\app\src\main\assets 這目錄是為了存儲(chǔ)稍后的離線包兴泥;
2.使用 keytool -genkey -v -keystore pemsReleaseKey.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 申請(qǐng)一個(gè)keyStore ;
3.設(shè)置gradle變量將(2)申請(qǐng)到的keystore文件放到android\app目錄下;編輯\android\gradle.properties,添加如下的代碼(注意:請(qǐng)把其中的** 替代為替換的keystore密碼):
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
4.添加簽名到應(yīng)用的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
}
}
}
5.cd 到項(xiàng)目根目錄位置。運(yùn)行:
react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/
這個(gè) 命令的意思就是生產(chǎn) index.android.bunlde 離線包文件,位置就在第一步 android\app\src\main\assets目錄內(nèi)
但是實(shí)際根據(jù)我的測(cè)試缀辩,如果不使用此命令打包js文件到簽名apk中,有時(shí)候apk會(huì)出現(xiàn)打開后閃退現(xiàn)象(js文件未打包進(jìn)去)踪央。
6.cd 到 \android 目錄下臀玄,使用gradle命令打簽名包:
gradlew assembleRelease
打包成功后會(huì)在 android\app\build\outputs\apk內(nèi)找到app-release.apk 就是簽名apk。
7.使用gradlew installRelease 來安裝簽名包 進(jìn)行測(cè)試畅蹂。
不執(zhí)行第5步一樣可以將最新的js代碼打包到apk中 具體原因有待調(diào)查健无。