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

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

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

任何想法?


当前回答

2021年没有世博会

设原App名称为:com.myApp 让新的应用程序名称:com.newname.myApp

android\app\src\main\AndroidManifest.xml


重命名xml属性:' package="com.newname.myApp"


android主要\ app \ src \ \ java \ com \ [yourAppName] \ MainActivity.java

重命名包com.myApp的第一行;来打包com.newname.myApp;


android主要\ app \ src \ \ java \ com \ [yourAppName] \ MainApplication.java

重命名第一行到包com.newname.myApp;

在类中私有静态void initializeFlipper 复述这句话:

Class<?> aClass = Class.forName(“com.myApp.ReactNativeFlipper”);

To

Class<?> aClass = Class.forName(“com.newname.myApp.ReactNativeFlipper”);


Android\app\build.gradle

在defaultConfig上重命名applicationId

“com.newname.myApp”


在命令行上运行: $ NPX react-native start $ NPX react-native run-android

其他回答

你可以简单地使用react-native-rename NPM包。

安装使用

NPM安装react-native-rename -g

然后从React Native项目的根目录执行以下命令

MyApp -b com.mycompany

在NPM上React-native-rename

但是注意,这个库删除了MainActivity.java和MainApplication.java。 在更改包名之前,对这两个文件进行备份,并在更改包名后将其放回原处。这个解决办法对我有用

更多信息: react-native-rename

如果您正在使用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)

运行后:

react-native-rename "MyApp" -b com.mycompany.myapp

确保也转到构建。Gradle在android/app/… 并重命名应用程序Id如下所示:

defaultConfig {
        applicationId:com.appname.xxx
........
}

这里有很多糟糕的答案

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

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

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

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

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

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

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