我使用React - Native init MyApp初始化一个新的React Native应用程序。 这创建了一个带有com.myapp包的Android项目。
更改这个包名称的最佳方法是什么,例如:com.mycompany.myapp?
我尝试在AndroidManifest.xml中更改它,但它创建了其他错误,所以我假设这不是方法。
任何想法?
我使用React - Native init MyApp初始化一个新的React Native应用程序。 这创建了一个带有com.myapp包的Android项目。
更改这个包名称的最佳方法是什么,例如:com.mycompany.myapp?
我尝试在AndroidManifest.xml中更改它,但它创建了其他错误,所以我假设这不是方法。
任何想法?
当前回答
你可以简单地使用react-native-rename NPM包。
安装使用
NPM安装react-native-rename -g
然后从React Native项目的根目录执行以下命令
MyApp -b com.mycompany
在NPM上React-native-rename
但是注意,这个库删除了MainActivity.java和MainApplication.java。 在更改包名之前,对这两个文件进行备份,并在更改包名后将其放回原处。这个解决办法对我有用
更多信息: react-native-rename
其他回答
运行后:
react-native-rename "MyApp" -b com.mycompany.myapp
确保也转到构建。Gradle在android/app/… 并重命名应用程序Id如下所示:
defaultConfig {
applicationId:com.appname.xxx
........
}
我今天才知道这个答案,但添加这个答案是为了帮助别人。你只需要在app/build中添加一个命名空间。Gradle引用旧的名字,像这样:
defaultConfig {
applicationId "com.mycompany.myapp"
namespace "com.myapp"
}
然后你可以有一个bash脚本,用这样的东西改变applicationId:
function sedi {
if [ "$(uname)" == "Linux" ]; then
\sed -i "$@"
else
\sed -i "" "$@"
fi
}
bundle_name=com.mycompany.myapp
sedi -E "s/applicationId \"[-0-9a-zA-Z._]*\"/applicationId \"${bundle_name}\"/" android/app/build.gradle
我使用react-native-rename* npm包。通过
npm install react-native-rename -g
然后,从你的React Native项目的根目录,执行以下命令:
react-native-rename "MyApp" -b com.mycompany.myapp
如果你使用VSCode和Windows。
1.按Control + Shift + F。
2.找到您的包名,并用新的包名替换所有的包名。
输入cd android 类型”。/ gradlew干净”
要更改包的名称,您必须在项目中编辑四个文件:
1. android/app/src/main/java/com/reactNativeSampleApp/MainActivity.java
2. android/app/src/main/java/com/reactNativeSampleApp/MainApplication.java
3. android/app/src/main/AndroidManifest.xml
4. android/app/build.gradle
前两个文件的包名如下所示。
package com.WHATEVER_YOUR_PACKAGE_NAME_IS;
将其更改为所需的包名称。
package com.YOUR_DESIRED_PACKAGE_NAME;
您还必须在另外两个文件中编辑包名。
android/app/build.gradle
android/app/src/main/AndroidManifest.xml
注意你是否有谷歌服务。Json文件,那么你还必须改变该文件中的包名。
在这之后,你必须清理你的项目。