react-native 在生成项目的时候,会有一个项目名,也即是包名。我们可以通过修改app名称和生成不同的key签名来生成不同的app,但是由于包名没有修改,新的 app 是不能和原有的app安装在一个手机上,于是我们必须修改包名,才能利用原有的项目工程和 JavaScript 代码 生成一个新的 app。
修改工程名需要修改这几个地方:
- 修改 android/app/build.gradle 里的 applicationId,为新包名,譬如:com.xxx.yyy.myProject
- 修改 android/app/src/main/AndroidManifest.xml 里的package,为新包名,譬如:com.xxx.yyy.myProject
- 在 android/app/src/main/java/com 下根据新包名中多出的两级xxx.yyy新创建两级新目录,譬如:android/app/src/main/java/com/xxx/yyy
- 将之前android/app/src/main/java/com下的myProject文件夹剪切到android/app/src/main/java/com/xxx/yyy下面
- 打开android/app/src/main/java/com/xxx/yyy/myProject/MainActivity.java,修改第一行为:package com.xxx.yyy.myproject;最后的
@Override
protected String getMainComponentName(){
return "新的包名"
}
- 修改 index.js 里 AppRegistry.registerComponent('新的包名', () => App);
- 生成新的 key 签名,修改 app 名称(非必须),打包,完成。
本文也发表于所在团队开源技术文档,语雀_Rocket
网友评论