请求bundle地址
http://localhost:8081/index.android.bundle?platform=android
生成一个签名密钥
- 生成密钥命令
keytool -genkey -v -keystore key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
- 最后生成一个key.keystore的密钥文件
- 找到路径
/android/app/src/main
下面的assets
文件夹,如果没有该文件夹可以直接创建 - 在工程目录下将
index.android.bundle
下载并且保存到assets资源文件夹中 - 调用命令
curl -k "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle
D:\demo\ReactNatice\Tianhongliang01>curl -k “http://localhost:8081/index.androi
.bundle” > android/app/src/main/assets/index.android.bundle
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2047k 100 2047k 0 0 2051k 0 –:–:– –:–:– –:–:– 64.2M
在git bash或者cmd中调用上面的步骤,并且在assets文件夹中出现index.android.bundle
文件证明已经成功把bundle文件生成
在生成bundle文件之前要让应用在真机上运行着,react-native start
和react-native run-android
配置app build.gradle文件
signingConfigs{
release{
storeFile file("D://demo/ReactNatice/Tianhongliang01/my-release-key.keystore")
storePassword "tianhongliang"
keyAlias "Tianhongliang01"
keyPassword "tianhongliang"
}
}
buildTypes {
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release //签名配置
}
}
代码混淆
- 启用Proguard代码混淆来缩小APK文件的大小
Proguard的一个Java字节码混淆压缩工具,它可以移除掉React Native Java和依赖中多余的部分
enableProguardInReleaseBuilds = true
然后再android目录下面执行gradle assembleRelease
或者gradle assembleRelease --console plain
打包命令
做好上面的我们就可以打包发布了。