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

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

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

任何想法?


当前回答

在VS Code中,按Ctrl + Shift + F,在“Find”中输入旧的包名,在“Replace”中输入新包名。然后按“替换所有事件”。

绝对不是务实的方式。但是,这对我来说很管用。

其他回答

Ivan Chernykh的答案对于react-native 0.67及以下是正确的 对于react-native 0.68及以上版本的新架构,只要你遵循了Ivan Chernykh提到的步骤

对于android,你必须进入app => src => main => jni文件夹

在MainApplicationTurboModuleManagerDelegate.h

以下更改

static constexpr auto kJavaDescriptor =
      "Lcom/yournewpackagename/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;";

在MainComponentsRegistry.h

 constexpr static auto kJavaDescriptor =
      "Lcom/yournewpackagename/newarchitecture/components/MainComponentsRegistry;"; 

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

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 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)

重命名所有包名后, 来自android studio。File ->使缓存失效/重新启动可以修复这类错误

这对我很有效

在VS Code中,按Ctrl + Shift + F,在“Find”中输入旧的包名,在“Replace”中输入新包名。然后按“替换所有事件”。

绝对不是务实的方式。但是,这对我来说很管用。