react-native 修改包名

安卓已包名作为应用的唯一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目录,执行./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了。