1.文档说明
文档日期 2018/04/016
react-native版本:0.55.2
2.打包步骤
(一)Android签名文件生成
使用java工具keytool.exe生成签名文件,命令如下:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
标记红色的可以改,my-release-key是签名文件名 my-key-alias 是别名是你将来为应用签名时所需要用到的,所以记得记录这个别名。
打开cmd,你想生成的签名文件存在哪个路径下,那么久切换到哪里,我的秘钥文件存储在D:\appkey下,命令行如下:
然后再使用keytool命令,如上命令,输入如下图:
回车(当然前提是你已经安装java环境并配置环境变量):完成这个命令的执行,我们需要填写:
完成后,会在当前目录生成一个签名文件:
(二)、配置gradle全局变量
1.Windows配置
在
C:\Users\用户名\
下创建文件为:
gradle.properties
2.mac配置
在
/Users/用户名
下创建文件为:gradle.properties
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全局变量
现在我们把
签名文件my-release-key.keystore放在我们的react native项目的android\app下,如下图示:
然后编辑项目目录下的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
}
}
}
...
(四)、生成带签名的APK包
执行如下两个命令
$ cd android && ./gradlew assembleRelease
分解执行:
$ cd android
$ gradlew assembleRelease
会在android\app\build\outputs\apk路径下生成app-release.apk,这个就是要发布的apk
如果想重新再更新发布,你可以先使用
gradlew clean