安卓打包
1.首先在工程目录里 执行 mkdir android\app\src\main\assets 这目录是为了存储稍后的离线包;
2.使用 keytool -genkey -v -keystore pemsReleaseKey.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 申请一个keyStore ;
3.设置gradle变量将(2)申请到的keystore文件放到android\app目录下;编辑\android\gradle.properties,添加如下的代码(注意:请把其中的** 替代为替换的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.添加签名到应用的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 到项目根目录位置。运行:
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/
这个 命令的意思就是生产 index.android.bunlde 离线包文件,位置就在第一步 android\app\src\main\assets目录内
但是实际根据我的测试,如果不使用此命令打包js文件到签名apk中,有时候apk会出现打开后闪退现象(js文件未打包进去)。
6.cd 到 \android 目录下,使用gradle命令打签名包:
gradlew assembleRelease
打包成功后会在 android\app\build\outputs\apk内找到app-release.apk 就是签名apk。
7.使用gradlew installRelease 来安装签名包 进行测试。
不执行第5步一样可以将最新的js代码打包到apk中 具体原因有待调查。