文档日期 2017/01/08
React Native版本为0.40
使用java工具keytool生成签名文件,命令如下:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
其中
my-release-key.keystore 是生成的签名文件,
my-key-alias 是文件的别名,
有效期为10000天。
打开cmd,你想生成的签名文件存在哪个路径下,那么久切换到哪里,我的秘钥文件存储在D:\appkey下,命令行如下:
然后再使用keytool命令,如上命令,输入如下图:
回车(当然前提是你已经安装java环境并配置环境变量):完成这个命令的执行,我们需要填写:
完成后,会在当前目录生成一个签名文件:
C:\Users\用户名\
下创建文件为:
gradle.properties
/Users/用户名
下创建文件为:gradle.properties
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=*****
MYAPP_RELEASE_KEY_PASSWORD=*****
1.Android签名文件生成
2.配置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
}
}
}
...
分两种情况
$ cd android
$ gradlew assembleRelease
执行如下命令
$ mkdir -p android\app\src\main\assets
$ 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/
$cd android && ./gradlew assembleRelease
执行mkdir -p android\app\src\main\assets 命令如下:
在android\app\src\main 下生成文件assets,如下:
执行: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/ 命令如下:
完成后,在项目的android\app\src\main\assets下就会生成两个文件,如下:
主要是index.android.bundle文件。
执行最后一条命令:
gradlew assembleRelease
如下:
会在android\app\build\outputs\apk路径下生成app-release.apk,这个就是要发布的apk
如下图:
如果想重新再更新发布,你可以先使用
gradlew clean
清理一下上次打包的。
命令执行结果如下: