我使用React - Native init MyApp初始化一个新的React Native应用程序。 这创建了一个带有com.myapp包的Android项目。

更改这个包名称的最佳方法是什么,例如:com.mycompany.myapp?

我尝试在AndroidManifest.xml中更改它,但它创建了其他错误,所以我假设这不是方法。

任何想法?


当前回答

Goto Android工作室

右键单击你的包(最可能是com)-> Refractor -> Rename ->在对话框中输入新的包名称-> Do Refractor

它将重命名您的包的名称。

其他回答

非常简单的方法:

cd /your/project/dir

执行如下命令:

grep -rl "com.your.app" . | xargs sed -i 's/com.your.app/com.yournew.newapp/g'

重命名文件夹

android/app/src/main/java/com/your/app

改变

android/app/src/main/java/com/yournew/newapp

我重命名了项目的子文件夹从:“android/app/src/main/java/MY/ app/ OLD_ID/”到:“android/app/src/main/java/MY/ app/ NEW_ID/”

然后手动切换新旧包id:

: android / app / src / main / java /我的/ app / NEW_ID / MainActivity.java:

package MY.APP.NEW_ID;

在android / app / src / main / java /我的/ app / NEW_ID / MainApplication.java:

package MY.APP.NEW_ID;

在android / app / src / main / AndroidManifest.xml:

package="MY.APP.NEW_ID"

在android/app/build.gradle中:

applicationId "MY.APP.NEW_ID"

在android / app /美元:

android_build_config(
  package="MY.APP.NEW_ID"
)
android_resource(
  package="MY.APP.NEW_ID"
)

Gradle'清理结束(在/android文件夹):

./gradlew clean

这些信息对你很有帮助,所以仔细听……

After updating package name and changing files, don't forget to change in 
package.json and app.json file at the root directory of your react native project

否则,您将得到下面的错误

Invariant Violation: "Your new package name" has not been registered

进入文件android/app/src/main/AndroidManifest.xml -

更新:

attr android:元素应用程序的标签为:

旧值- android:label="@字符串/app_name" android:label="(你想放的字符串)"

and

attr android:标签的元素活动为:

旧值- android:label="@字符串/app_name" android:label="(你想放的字符串)"

为我工作过,希望能有所帮助。

这里有很多糟糕的答案

如果您想更改包名称,请转到您的构建。应用程序中的Gradle

 defaultConfig {
        applicationId "your.new.package.name" //change this line

然后,当从命令行运行应用程序时,将新的包名作为参数传入

react-native run-android --appId your.new.package.name

没有必要重新命名整个项目