我使用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中更改它,但它创建了其他错误,所以我假设这不是方法。
任何想法?
当前回答
你可以简单地使用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
其他回答
如果你使用VSCode和Windows。
1.按Control + Shift + F。
2.找到您的包名,并用新的包名替换所有的包名。
输入cd android 类型”。/ gradlew干净”
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
我通过在以下位置手动更新包名来解决这个问题
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>/
进入文件android/app/src/main/AndroidManifest.xml -
更新:
attr android:元素应用程序的标签为:
旧值- android:label="@字符串/app_name" android:label="(你想放的字符串)"
and
attr android:标签的元素活动为:
旧值- android:label="@字符串/app_name" android:label="(你想放的字符串)"
为我工作过,希望能有所帮助。
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/