重命名R.java生成的包

我正在使用eclipse,并创build了一个testingandroid项目,包含R.java的“gen”文件夹中的软件包目前被称为com.something.test (我以为我只是testing,但是在它上面构build了我的整个应用程序!)

这是在加载应用程序时引用的,手机有时显示它,所以我需要重命名它。 我通过点击重构来尝试这个,但是用旧的名字重新生成了它!

我可以重命名吗?

右键单击您的项目,然后selectAndroid工具 – >重命名应用程序名称:

在这里输入图像说明

或者,如果您想手动执行此操作,请转至您的清单文件,更改软件包名称并进行项目清理。

检查AndroidManifest.xml ,在<manifest>顶级元素上有一个package属性。 这是R.java生成的地方,你应该小心地重命名它。

对于那些试图手动更改的人来说,R.java文件链接的语句是正确的。 如果只是在清单中更改它,那么在引用资源的所有java文件中,都会得到一长串“R无法parsing”的错误。 为了解决这个问题,你需要为每个文件中的R类添加一个导入。

所以,如果你的包最初是这样的:“com.mycomp.myapp.android”,并将其更改为“com.mynewcomp.myapp.android”,则需要进入每个java类文件并添加:

import com.mynewcomp.myapp.android.R;

如果您在项目上运行最初build议的重命名命令,则会自动完成。

它被命名为您的应用程序的根包。 如果您将您的应用程序的根包更改为其他内容,则R.java现在将存在于该包中。

另一件要检查的是,如果你有自定义视图与XML命名空间。 我花了一分钟才意识到我不得不改变xmlns属性。

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:myxmlnamespace="http://schemas.android.com/apk/res/com.mynew.packagename" ... 

我知道这是一个古老的问题,但我现在需要它,也许别人也需要它。 我正在使用Android Studio 2.1.1

为了使它工作,我不得不改变:

  • 包 – 在AndroidManifest.xml
  • applicationId – 在app文件夹的build.gradle上

这样就没有必要在每个java类上导入R.

重要的是要记住,这不是一个普遍的变化,不应该每次都做。

链接applicationId与软件包名称解释了它们之间的差别以及为什么不应该改变它们。

我使用右键单击 – >重构和Android Manifest.XML重构我的包一个一个。 我的R文件仍然build立在旧的软件包名称上。

closures和打开项目解决了这个问题,但我需要去做所有我的Java文件手动更改。