APP - 签名打包布发
APP - 签名打包布发布
1. 生成密钥库文件
打开项目,进入 android 文件夹目录,使用控制台执行命令,文中测试密钥使用:123456
keytool -genkey -v -keystore awerncd-release-key.keystore -alias awerncd-release-key -keyalg RSA -keysize 2048 -validity 10000
这条命令会要求你输入密钥库(keystore)和对应密钥的密码,然后设置一些发行相关的信息。最后它会生成一个叫做 awerncd-release-key.keystore
的密钥库文件。
在运行上面这条语句之后,密钥库里应该已经生成了一个单独的密钥,有效期为10000天。--alias参数后面的别名是你将来为应用签名时所需要用到的,所以记得记录这个别名。
2. 设置gradle变量
把my-release-key.keystore
文件放到你工程中的android/app
文件夹下
编辑android/gradle.properties
(没有这个文件你就创建一个),添加如下的代码(注意把其中的****
替换为相应密码)
关于密钥库的注意事项:一旦你在Play Store发布了你的应用,如果想修改签名,就必须用一个不同的包名来重新发布你的应用(这样也会丢失所有的下载数和评分)。所以请务必备份好你的密钥库和密码。
# keytool -genkey -v -keystore awerncd-release-key.keystore -alias awerncd-release-key -keyalg RSA -keysize 2048 -validity 10000 MYAPP_RELEASE_STORE_FILE=awerncd-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=awerncd-release-key MYAPP_RELEASE_STORE_PASSWORD=123456 MYAPP_RELEASE_KEY_PASSWORD=123456
3、添加签名到项目的gradle配置文件
编辑你项目目录下的
android/app/build.gradle
,添加如下的签名配置: signingConfigs { debug { storeFile file('awerncd-release-key.keystore') storePassword '123456' keyAlias 'awerncd-release-key' keyPassword '123456' } } buildTypes { debug { signingConfig signingConfigs.debug }
release {
// Caution! In production, you need to generate your own keystore file.
// see https://reactnative.dev/docs/signed-apk-android.
signingConfig signingConfigs.debug
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
}
}
4. 生成apk包
1) 在android目录下执行
./gradlew assembleRelease
2) 可以在package.json里面增加打包命令,执行命令即可
"scripts": { "android": "react-native run-android", "ios": "react-native run-ios", "lint": "eslint .", "start": "react-native start", "release:android": "cd android && gradlew assembleRelease", "test": "jest" },
npm run release:android
生成APK文件目录:
引用:https://www.cnblogs.com/yiyi17/p/8888252.html