原文地址 http://www.cnblogs.com/pengsi/p/7121344.html
一上午就整了个React Native的打包,中间还遇到各种问题,这里还是记录下吧:
文档链接: http://reactnative.cn/docs/0.45/signed-apk-android.html#content
打包步骤如下:
1> cd 项目目录;
2>执行以下命令:
react-native bundle --entry-file index.android.js --bundle-output ./android/app/src/main/assets/index.android.jsbundle --platform android --assets-dest ./android/app/src/main/res/ --dev false
3>执行:
1
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
会出现以下要求输入一系列信息:
完成之后,显示如下:
4>下载好之后,把 my-release-key.keystore 放到android/app目录下面;
5>修改android/app/build.gradle文件如下:
注意:
storeFile和密码和你设置的进行一致. 这是简化版的设置,也可以安装官网的来设置
...android {
...
defaultConfig { ... }
signingConfigs{
release{
storeFile file("my-release-key.keystore")
storePassword "123456"
keyAlias "my-key-alias"
keyPassword "123456"
}
}
buildTypes {
release {...signingConfig signingConfigs.release}
}
}
切记不要忘记 signingConfig signingConfigs.release 别问为什么,血的教训。。。。
6>修改完成执行 cd android && ./gradlew assembleRelease
命令自动下载文件 (也可以在此步操作之前 运行 react-native run-android --variant=release 测试应用是否有问题);
7>出现以下界面表示打包成功:
安装好的apk 在文件 android/app/build/outputs/apk 里面.
可能出现的错误:
解决方法:
在local.properties文件里设置sdk和ndk的路径即可.
ps:
sdk路径可以在SDK Manager中查看
[图片上传中。。。(9)]
ndk路径没有安装的可以直接下载安装下即可<已经安装了的不知道路径也可以重新下载安装>
ndk下载链接: https://developer.android.google.cn/ndk/downloads/index.html
解决错误,再次执行第6>步骤,打包成功.
补充一下代码混淆:
参考链接:http://www.cnblogs.com/zhen-android/p/6014336.html
混淆前是9.7M,混淆后是8.7M,注意,混淆打包后的apk文件大小会比不使用混淆要小。
关于百度地图打包后,不显示的问题请参考我的另一篇文章
《打包后百度地图无法正常显示》