第一步 生成一个签名密钥
命令行输入
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
其中红线框部分:前者是即将生成的密钥库文件,后者是其别称
然后会让你输入一些信息,好像可以随便填
最后它会生成一个叫做
my-release-key.keystore
的密钥库文件第二步
找到路径/android/app/src/main
,并在该目录下新建assets文件夹
,assets
这个名字是固定不可更改的
第三步
首先我们下载下图这个东西
解压后把里面的程序放进项目文件夹
命令行输入语句
curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle
作用是在工程目录下将index.android.bundle
下载并保存到assets
资源文件夹中
第四步
打开下图所示位置的build.gradle文件
输入如下信息
signingConfigs{
release {
storeFile file("D://WORK/mywork/Hello/my-release-key.keystore")
storePassword "123456"
keyAlias "my-key-alias"
keyPassword "123456"
}
}
然后在buildTypes
内添加一条语句如下
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release //添加这句话引用签名配置
}
}
第五步
启用Proguard
代码混淆来缩小APK
文件的大小
Proguard
是一个Java字节码混淆压缩工具
,它可以移除掉React Native Java(和它的依赖库中)
中没有被使用到的部分,最终有效的减少APK
的大小。
重要:启用Proguard
之后,你必须再次全面地测试你的应用。Proguard
有时候需要为你引入的每个原生库做一些额外的配置。参见app/proguard-rules.pro
文件。
def enableProguardInReleaseBuilds = true
这一步不做也不会有什么影响
第六步
在/android/目录中执行gradle assembleRelease``命令 打包后的文件在
android/app/build/outputs/apk```目录中,如果打包碰到问题可以先执行 gradle clean 清理一下。
成功界面如下