1、 首先在工程目录里 执行 mkdir android\app\src\main\assets
这目录是为了存储稍后的离线包。
2、使用
keytool -genkey -v -keystore my-release-key.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 到 项目根目录 MyFirstProject位置
运行
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目录内
但是实际根据我的测试 即使不使用此命令签名apk一样可以正常使用。
6、cd 到 \android 目录下 使用gradle命令打签名包:
`gradlew assembleRelease `
打包成功后会在 android\app\build\outputs\apk内 找到app-release.apk 就是签名apk。
7、使用`gradlew installRelease `来安装签名包 进行测试。
不执行第5步一样可以将最新的js代码打包到apk中 具体原因有待调查。
[查看原文](http://lib.csdn.net/article/52/33647?knId=1421)