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

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

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

任何想法?


当前回答

反应Native@0.70.x 尝试从com重命名包名。X到com.y.z

我通过以下方法度过了这个痛苦的过程:

将app.json中的displayName更改为z。

{
  "name": "<THIS_SHOULD_STAY_SAME>",
  "displayName": "<Z>"
}

修改strings.xml中字符串app_name的内容

<resources>
  ...
  <string name="app_name"><Z></string>
  ...
</resources>

在react-native项目中搜索com。X和替换所有com。X与com.y.z

重要:以防您正在使用外部服务,以及以防如果 你生成了一个文件,把它放在/android下 确保您正在使用的服务仍然正常工作。我建议 您必须使用新的包名生成一个新的配置文件 Com.y.z,然后把它放在完成下面描述的步骤之后。

更新文件夹结构如下:

old: .../android/app/src/main/java/com/x
new: .../android/app/src/main/java/com/y/z

将所有文件移动到…/android/app/src/main/java/com/x到/android/app/src/main/java/com/y/z。 清理。

  $ ./gradlew clean

构建。

  $ react-native run-android

其他回答

如果您正在使用Android Studio-

com的变化。Myapp到com.mycompany.myapp

create a new package hierarchy com.mycompany.myapp under android/app/src/main/java Copy all classes from com.myapp to com.mycompany.myapp using Android studio GUI Android studio will take care of putting suitable package name for all copied classes. This is useful if you have some custom modules and don't want to manually replace in all the .java files. Update android/app/src/main/AndroidManifest.xml and android/app/build.gradle (replace com.myapp to com.mycompany.myapp Sync the project (gradle build)

要更改包的名称,您必须在项目中编辑四个文件:

 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文件,那么你还必须改变该文件中的包名。

在这之后,你必须清理你的项目。

转到Android Studio,打开应用程序,右键单击java并选择 新建,然后打包。

给出你想要的名字(例如com.something)。

将文件从另一个包(要重命名)移动到新包。删除旧包。

在编辑器中找到你的项目,使用快捷方式搜索所有文件(在mac上是shift cmd F)。输入旧包的名称。更改对新包名的所有引用。

点击Android Studio,构建,清洁项目,重建项目。

完成了!

快乐编码:)

如果你使用VSCode和Windows。

1.按Control + Shift + F。

2.找到您的包名,并用新的包名替换所有的包名。

输入cd android 类型”。/ gradlew干净”

我重命名了项目的子文件夹从:“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