React Native:无法更改包名称-总是失败

时间:2019-01-11 18:11:52

标签: android reactjs react-native npm package-name

目前,我正面临一个问题,自3天以来我一直试图解决。.我想为我的react native android应用程序重命名我的包名称。

因此,为了完全确保我所做的一切正确,我创建了一个新项目并尝试重命名包名称。我这样做是为了确保错误不是来自我的项目,并且还无法修复我的错误。

我像往常一样初始化了一个新项目:react-native init MyAwesomeProject

然后我将以下文件中的com.myawesomeproject替换为com.awesome.project

/ android / app / BUCK:

android_build_config(
...
package = 'com.awesome.project',
)
android_resource(
...
package = 'com.awesome.project',
)

android / app / src / main / AndroidManifest.xml

package="com.awesome.project"

android / app / build.gradle

defaultConfig {
    applicationId "com.awesome.project"
    ...
}

我还用package com.myawesomeproject;替换了package com.awesome.project;,并将MainActivity.javaMainApplication.java文件从android/app/src/main/java/com/myawesomeproject/移到了新路径android/app/src/main/java/com/awesome/myawesomeproject/。 / p>

完成所有这些更改后,我在android文件夹中运行了./gradlew clean,然后运行了该命令react-native run-android

但是,我仍然面临与实际项目中相同的问题。

> Task :app:compileDebugJavaWithJavac FAILED
/Users/max/Desktop/Max/MyAwesomeProject/android/app/src/main/java/com/myawesomeproject/MainApplication.java:19: error: cannot find symbol
      return BuildConfig.DEBUG;
             ^
  symbol: variable BuildConfig
1 error


FAILURE: Build failed with an exception. 

此外,我已经尝试将以下代码添加到MainApplication.java文件的顶部:

import com.facebook.react.BuildConfig;

但是我已将代码添加到位于MainApplication.java的{​​{1}}中,就像在错误输出中说的那样。如果这样做,则控制台在运行android/app/src/main/java/com/myawesomeproject之后不会引发任何错误,但是会安装应用react-native run-android,并且如果尝试打开它,则该应用将崩溃。

这清楚地表明React仍在使用错误的路径!

我什至尝试了npm rename package并运行了以下命令:

myawesomeproject

这甚至都不能解决我的问题。运行react-native-rename "project" -b com.project时,我仍然完全错误。

你们可以看到问题不是来自我的项目,因为在我建立了一个完全从头开始构建的新项目之后,我遇到了完全相同的问题!

我将不胜感激!谢谢你们。

1 个答案:

答案 0 :(得分:2)

重命名时,多个文件中要进行更改。因此可能会变得棘手。使用react-native rename非常容易。

使用react-native-rename

我刚刚尝试使用react-native init MyAwesomeProject

设置初始项目

然后我跑了:npm install react-native-rename -g

然后更改我运行的项目的名称cd MyAwesomeProject,然后更改

react-native-rename "project" -b com.awesome.project

然后运行react-native run-android,它将生成没有错误的内容。

手动安装Android

如果您打算手动进行更改,则有很多文件需要更改。实际上,取决于您添加到项目中的内容,可能还有更多。这是更改原始项目的指南。

在应用程序根目录中

app.json中将namedisplayName更改为"project"

package.json中,将name更改为"name": "project",

android / settings.gradle

rootProject.name更改为所需的名称:rootProject.name = 'project'

android / app / build.gradle

在默认配置中,将applicationId更改为所需的应用程序ID,在这种情况下:applicationId com.awesome.project

android / app / BUCK

android_build_configandroid_resources中的软件包都更改为所需的软件包,在这种情况下:package = "com.awesome.project",

android / app / src / main / AndroidManifest.xml

将软件包更改为所需的软件包名称,在这种情况下:package="com.awesome.project"

android / app / src / main / res / values / strings.xml

将应用程序名称更改为所需的应用程序名称,在这种情况下为<string name="app_name">project</string>

更新* .java文件

这有点麻烦,因为您必须创建文件夹,移动文件然后重命名文件内部的一部分。

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

创建一个名为awesome的文件夹,并在该文件夹中创建一个名为project的文件夹

MainActivty.java中的MainApplication.javaandroid/app/src/main/java/com/myawesomeproject复制到最近创建的android/app/src/main/java/com/awesome/project文件夹中。

MainActivity.javaMainApplication.java的内部,将文件包从package com.myawesomeproject;保留到package com.awesome.project;

还在MainActivity.java中将getComponentName()函数返回的字符串重命名为"project"

手动iOS

手动操作有点麻烦,但是在Xcode中更改包ID和应用程序名称很简单。我不会像您刚刚专门针对Android那样执行Xcode程序。