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

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

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

任何想法?


当前回答

你可以简单地使用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

其他回答

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

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

进入文件android/app/src/main/AndroidManifest.xml -

更新:

attr android:元素应用程序的标签为:

旧值- android:label="@字符串/app_name" android:label="(你想放的字符串)"

and

attr android:标签的元素活动为:

旧值- android:label="@字符串/app_name" android:label="(你想放的字符串)"

为我工作过,希望能有所帮助。

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

非常简单的方法:

cd /your/project/dir

执行如下命令:

grep -rl "com.your.app" . | xargs sed -i 's/com.your.app/com.yournew.newapp/g'

重命名文件夹

android/app/src/main/java/com/your/app

改变

android/app/src/main/java/com/yournew/newapp

Goto Android工作室

右键单击你的包(最可能是com)-> Refractor -> Rename ->在对话框中输入新的包名称-> Do Refractor

它将重命名您的包的名称。