1前言
RN的开发中正式发布前需要打包与签名,然后才能上架各家应用市场。打包需要将js与图片资源文件打包进apk文件中,生成index.android.bundle与index.android.bundle.meta文件。下面介绍RN开发中打包APK的主要步骤,IOS没研究过,不再本文讨论范围内。
2 Android下的打包步骤
1 生成Android签名证书
如果你已经有签名证书可以绕过此步骤。
一般在公司开发中,android证书不用我们自己操心,如果个人开发,可以使用android studio生成一个证书文件。
或者自行去网络搜索如何生成证书。
2 设置gradle变量配置证书信息
将你的签名证书放在合适的位置下,例如项目工程主目录
编辑~/.gradle/gradle.properties或../android/gradle.properties(一个是全局gradle.properties,一个是项目中的gradle.properties,大家可以根据需要进行修改) ,加入如下代码:
APP_RELEASE_STORE_FILE=your keystore filename
APP_RELEASE_KEY_ALIAS=your keystore alias
APP_RELEASE_STORE_PASSWORD=*****
APP_RELEASE_KEY_PASSWORD=*****
3 gradle配置文件中添加签名配置
在android 的app module 下的build.gradle
android {
...
defaultConfig { ... }
signingConfigs {
release {
storeFile file(APP_RELEASE_STORE_FILE)
storePassword APP_RELEASE_STORE_PASSWORD
keyAlias APP_RELEASE_KEY_ALIAS
keyPassword APP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
...
signingConfig signingConfigs.release
}
}
}
4 签名打包APK
有了以上配置,就可以运行下面命令来打包Android 下的APK了
在android下运行如下命令进行打包
gradle assembleRelease
生成的APK文件在android/app/build/outputs/apk/目录下。注意检查是否生成了index.android.bundle与index.android.bundle.meta文件,该文件中主要就是js文件和相应的资源文件。
如果需要混淆,修改enableProguardInReleaseBuilds 为true
def enableProguardInReleaseBuilds = true
备注:正式的工程建议编写CI脚本来进行打包与签名