安卓已包名作为应用的唯一id,相对iOS来说改起来就不是那么方便,但为了能正式发布自己的应用,还是得改过来。
假设包名为com.exease.etd.objective
,以下地方需要修改。
- 首先是两个java文件:android/app/src/main/java/com/PROJECT_NAME/MainActivity.java和/MainApplication.java,修改第一行为
package com.exease.etd.objective;
- 然后是安卓的描述文件android/app/src/main/AndroidManifest.xml,第二行把package的至改为
com.exease.etd.objective
- 之后是两个打包脚本。
- android/app/BUCK,修改两个package的值
package = 'com.exease.etd.objective',
- android/app/build.gradle其中的applicationID,改为
applicationId "com.exease.etd.objective"
- android/app/BUCK,修改两个package的值
修改完成后,命令行进入android目录,执行./gradlew clean
清除缓存即可(windows上是 gradlew.bat)
至此差不多修改完成,能够打包出正确包名的apk。不过在开发过程中,如果需要自动link原生模块,会导致命令出错无法link成功。所以还是建议按照java的规范把java文件放入包名匹配的目录中。
把android/app/src/main/java/com/PROJECT_NAME/MainActivity.java和/MainApplication.java两个文件移入新创建的目录android/app/src/main/java/com/exease/etd/objective/里面,就能够愉快的react-native link了。
转自:http://www.jianshu.com/p/8b7412bab029