我使用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中更改它,但它创建了其他错误,所以我假设这不是方法。
任何想法?
当前回答
如果您正在使用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)
其他回答
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/
要更改包的名称,您必须在项目中编辑四个文件:
1. android/app/src/main/java/com/reactNativeSampleApp/MainActivity.java
2. android/app/src/main/java/com/reactNativeSampleApp/MainApplication.java
3. android/app/src/main/AndroidManifest.xml
4. android/app/build.gradle
前两个文件的包名如下所示。
package com.WHATEVER_YOUR_PACKAGE_NAME_IS;
将其更改为所需的包名称。
package com.YOUR_DESIRED_PACKAGE_NAME;
您还必须在另外两个文件中编辑包名。
android/app/build.gradle
android/app/src/main/AndroidManifest.xml
注意你是否有谷歌服务。Json文件,那么你还必须改变该文件中的包名。
在这之后,你必须清理你的项目。
进入文件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
在VS Code中,按Ctrl + Shift + F,在“Find”中输入旧的包名,在“Replace”中输入新包名。然后按“替换所有事件”。
绝对不是务实的方式。但是,这对我来说很管用。