生成密匙
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
上面的 my-release-key 这个名字可以自己取名,同时my-key-alias 也是自己取名,其中第二个名称 alias 参数后边的别名,在后面你在为应用签名的时候需要用到,所以暂时记录一下这个别名。
上面的命令我们需要输入密钥库 (keystore) 密码和对应秘钥的密码,然后设置名字,组织,国家,省份相关的信息,最后会生成my -release-key.keystore 的签名文件。
最后生成:my-release-key.keystor e文件在主目录上
然后把文件放在D:\reactNative\MyProject\android\app 路径下
Gradle配置
D:\reactNative\MyProject\android下的gradle.properties
gradle.properties 添加如下信息 原来的信息不用管
android.useDeprecatedNdk=true
MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
MYAPP_RELEASE_KEY_ALIAS=my-key-alias
MYAPP_RELEASE_STORE_PASSWORD=123456
MYAPP_RELEASE_KEY_PASSWORD=123456
D:\reactNative\MyProject\android\app下的build.gradle
build.gradle添加signingConfigs 在buildTypes 里面添加signingConfig signingConfigs.release
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 {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
}
开始打包
D:\reactNative\MyProject\android下运行gradlewassembleRelease
gradlewassembleRelease运行后开始打包
最终放在:
D:\reactNative\MyProject\android\app\build\outputs\apk下的app-release.apk是打包好的APK
第二次打包注意
第二次打包的时候要删除掉...\android\app\src\main\res\asserts下面的两个文件
在模拟器运行
react-native start
另开一个服务react-native run-android (这里要注意删除掉\android\app\src\main\res\asserts下的文件 因为他们是你上次打包产生的 对你来说 能用到就只有APK 所以删除掉无所谓 第二次打包 还会生成这些文件)