android+rn+离线包,ReactNative 学习笔记 RN android apk 打包

1. 生成一个签名密钥

在android/app下面生成keystore file:

可以用工具Eclipse,AndroidStudio生成。

命令:keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

密码可以自行设定,这里以123456为例

会生成一个叫做my-release-key.keystore的密钥库文件

2. 添加签名和混淆

打开android/app中的build.gradle文件和android/gradle.properties

加入signingConfigs用来签名

-> android/app/build.gradle

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

}

}

-> android/gradle.properties

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

设定enableProguardInRelease为ture来开启proguard混淆。

混淆可以减小APK文件的大小:proguard会移除掉React Native Java(和它的依赖库中)中没有被使用到的部分。

如果需要添加一些库的混淆可以修改app/proguard-rules.pro文件。

3. 打包文件

进入/android/目录,cmd执行gradlew assembleRelease

打包后的文件在 android/app/build/outputs/apk目录中。

例如app-release.apk

注意:

如果gradlew assembleRelease时提示错误或没有安装 gradle 工具。可以自行下载后放到你的C:\Users\yournamne.gradle\wrapper\dists下面

把下载完成的zip包放入对应的文件夹,解压到当前目录

例如提示下载gradle 2.4,你可以cancel

此时已经生成路径: C:\Users\vivian.gradle\wrapper\dists\gradle-2.4-all\6r4uqcc6ovnq6ac6s0txzcpc0

把下载完成的zip包放入对应的文件夹,解压到当前目录

gradle-2.4-all.zip.part 重命名为 gradle-2.4-all.zip.ok. 这样rn就会认为已经下载完成

重新运行gradlew assembleRelease

gradle版本需要跟 /android/gradle/wrapper/gradele-wrapper.properties 文件中的版本配置保持一致。

gradlew clean 可以清理缓存。

89d1050d2c60ff7975117709dff71115.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值