我使用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中更改它,但它创建了其他错误,所以我假设这不是方法。
任何想法?
当前回答
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;";
其他回答
我使用react-native-rename* npm包。通过
npm install react-native-rename -g
然后,从你的React Native项目的根目录,执行以下命令:
react-native-rename "MyApp" -b com.mycompany.myapp
将包名从“com”更改为“。”Myapp到com.mycompany.myapp(例如),
对于react应用的iOS应用,在general下使用xcode -。 对于android应用程序,打开构建。在模块级Gradle。android/app文件夹里的那个。你会发现
// ...
defaultConfig {
applicationId com.myapp
// ...
}
// ...
改变名称。Myapp给你任何你需要的。
希望这能有所帮助。
我通过在以下位置手动更新包名来解决这个问题
1) app.json | ./
2) index.js | ./
3) package.json | ./
4) settings.gradle | ./android/
5) BUCK | ./android/app/
6) build.gradle | ./android/app/
7) AndroidManifest.xml | ./android/app/src/main/
8) MainActivity.java | ./android/app/src/main/java/**
9) MainApplication.java | ./android/app/src/main/java/**
10)strings.xml | ./android/app/src/main/res/values
11)ReactNativeFlipper.java| ./android/app/src/debug/java/com/<package-name>/
init脚本根据你给它的名字为Android生成一个唯一的标识符(例如com。acmeapp for acmeapp)。
你可以通过在android/app/build.gradle中查找applicationId键来查看生成的名称。
如果你需要改变唯一的标识符,现在就做如下所述:
在/android文件夹中,替换所有出现的com。Acmeapp由com.acme.app提供
然后使用如下命令修改目录结构:
mkdir android / app / src / java / com/acme玩
Mv android/app/src/main/java/com/acmeapp android/app/src/main/java/com/acme/app
应用程序标识符中的每个点都需要一个文件夹级别。
来源:https://blog.elao.com/en/dev/from-react-native-init-to-app-stores-real-quick/
这些信息对你很有帮助,所以仔细听……
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