在 React Native 中更改 Android 的包名称

新手上路,请多包涵

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

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

我尝试在 AndroidManifest.xml 中更改它,但它产生了其他错误,所以我假设它不是这样。

任何想法?

原文由 mllm 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 447
2 个回答

我已将项目的子文件夹从:“ _android/app/src/main/java/MY/APP/ OLD_ID /_ ”重命名为:“ _android/app/src/main/java/MY/APP/ NEW_ID /_ ”

然后手动切换新旧包ID:

在: _android/app/src/main/java/MY/APP/NEWID/MainActivity.java

 package MY.APP.NEW_ID;

在 _android/app/src/main/java/MY/APP/NEWID/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/BUCK 中:

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

最后清理 Gradle(在 /android 文件夹中):

 ./gradlew clean

原文由 Ivan Chernykh 发布,翻译遵循 CC BY-SA 4.0 许可协议

Ivan Chernykh 的答案是正确的 react-native 0.67 及以下 对于 react-native 0.68 及以上的新架构,一旦你对 Ivan Chernykh 提到的步骤感到失望

对于 android 你必须去 app => src => main => ini 文件夹

MainApplicationTurboModuleManagerDelegate.h

更改以下行

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

MainComponentsRegistry.h

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

原文由 Pritish 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏