React Native安卓代码混淆和打包
一上午就整了个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>执行:
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 } } }
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中查看
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文件大小会比不使用混淆要小。
还有不懂的可以问我,知道的一定告诉你哟!!!