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

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

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

任何想法?


当前回答

我会给你提供循序渐进的程序。

首先,我们需要了解为什么我们需要重命名一个包? 主要用于唯一识别应用程序,对吗?React Native是一个跨平台的应用程序,可以在iOS和Android上运行。所以我的建议是在两个平台中需要相同的标识符。Android包名是你应用的唯一标识符,iOS是它的捆绑包ID。

步骤:

首先关闭所有编辑器/studio,例如:xcode android studio vscode,然后在终端上运行命令安装“react-native-rename”包(如果您觉得不安全,请将您的项目文件夹副本保存在另一个文件夹中进行备份):

NPM安装react-native-rename -g

成功安装包后,在终端中打开你的项目文件夹,点击以下命令,其中“your app name Within double quotes”是app名称,< your package name without双/单引号>被替换为package/bundle name/id:

react-native-rename "<你的应用名称包含双引号>" -b <你的包名称不包含双引号或单引号>

例如:react-native-rename "Aptitude Test App" -b com.vaibhavmojidra.aptitudetestapp

注意:确保包/包名/id都是小写的

这还没有完成,现在每个文件都会改变它有包/包的名字,除了一个在ios项目,我们手动需要做的,打开xcode>打开一个项目或文件>选择文件从projectfolder/ios/projectname。Xcodeproj,然后单击打开 单击您的项目名。xcodeproj是项目导航器中的第一个文件,然后在Bundle identifier字段中输入包名/Bundle ID,如下所示:

之后在终端上运行

cd ios

然后运行

正在安装

然后运行

cd . .

现在你完成了ios的所有更改,最后一步是打开Android Studio>打开现有项目>选择projectfolder/ Android文件夹>单击打开 让它加载并完成所有过程,然后在构建菜单中单击“清理项目”,然后在文件菜单中>关闭项目 关闭所有编辑器,现在你可以尝试在ios和android上运行项目的命令,它将以重命名的打包方式运行,同时启动服务器,添加额外的标志——reset-cache:

NPM start -reset-cache

现在就享受吧

其他回答

重命名所有包名后, 来自android studio。File ->使缓存失效/重新启动可以修复这类错误

这对我很有效

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

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

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

要更改包的名称,您必须在项目中编辑四个文件:

 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文件,那么你还必须改变该文件中的包名。

在这之后,你必须清理你的项目。

运行后:

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

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

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