如何在Eclipse中更改Android项目的包名称?

我有一个在Eclipse中创build的Android项目。 我想修改项目的包名和应用程序。 我如何在Eclipse中做到这一点?

像往常一样,通过按下软件包名称上的F2 ,可以重新命名或更改软件包名称,也可以通过右键单击然后selectRename选项,更改或重命名软件包名称。

当您按下F2键时,会显示如下对话框:

替代文字

在这个对话框中,不要忘记勾选“更新引用”checkbox,因为通过对该checkbox进行“检查”,它将更改项目其他组件引用的所有程序包引用。

这是Eclipse Android工具中的一个错误 。

修复:右键单击项目,进入Android工具 – >重命名应用程序包。

如果更新正确,也检查AndroidManifest.xml 。 在我的情况下,它没有,这应该解决这个问题。

这些都没有为我工作,他们都引入了错误。

以下为我工作:

  • 右键单击该项目,然后selectAndroid工具>>重命名应用程序包。
  • input新的包名称
  • 接受所有想做的自动更改
  • 说是更新启动configuration

一个非常重要的通知:

切勿使用直接的包名来传递包含包名的string值。 使用方法getPackageName()。 这将使重命名dynamic。 做任何达到方法getPackageName()。

在Eclipse Juno中,正确的重命名方法是:

  1. 去编辑清单。
  2. 清除清单中的每个旧包名称。
  3. 放在清单内的每个位置,而不是旧的软件包名称,新的软件包名称。 你可能有需要直接包名引用的类(活动)。
  4. 保存清单。
  5. 然后右键单击项目中的包名称。
  6. select“重构”。
  7. select“重命名”。
  8. input新的软件包名称。
  9. select“更新参考”。
  10. 按确定,你就完成了,还要小心,应该做些什么来取代新的名字。
  11. 不要忘记用新的包名称更新布局XML文件。 你可能有一个自定义的视图。 寻找他们。
  Right click on your project name and select Android Tools , then click Rename Application Package, then change your project name click OK and click Finish. 

在这里输入图像描述

在这里输入图像描述

在这里输入图像描述

只需右键单击项目名称并selectAndroid工具 ,然后单击重命名应用程序包名称并重命名它。 这只适用于Android项目。

要在Android中更改应用程序名称,请转至res/values/strings.xml并将app_name更改为所需内容。

F2然后重新命名(或右键单击项目并selectRename )。 无论在你的项目中声明哪个包,它都会改变。 它会自动重新命名。

转到Android项目的Src文件夹,然后打开Java文件。

将包OldName.android.widget更改为newName.android.widget

它给你这样的错误

声明的包“newName.android.widget”与预期的包“OLDName.android.widget”不匹配。

要解决这个问题,select移动filename.Java到Newname.android.widget并删除旧的包文件夹。

下一步:转到AndroidManifest.xml并将package="OldName.android.widget"更改为package="newName.android.widget"

这对我来说是完美的(简单的文本replace):

转到search – >文件

包含文本:旧的pakage名称

文件名称模式:*

范围:工作区

按“ replace”

replace:新的软件包名称

现在你的项目充满了错误。

在项目浏览器中点击你的包,然后按F2 (重命名)。

填写新的软件包名称并检查所有复选标记。

预览

点击OK

等待Eclipse刷新。 如果仍有错误,请清理工作区中的所有项目:

项目 – > 清洁

好的,这是我必须做的:

问题:我有一个基础项目,我想用它作为与基础项目位于同一工作区的其他几个项目的起点。 基地项目已经在我自己的当地回购中受到GiT控制。 现在是复制基础项目“MyBaseApp”成为“MyKillerApp”的起点的时候了。

解:

  1. 我只是将整个MyBaseApp目录复制为MyKillerApp,并且有两个并排的目录。
  2. 我编辑文件MyKillerApp – >。项目,并将名称从MyBaseApp更改为MyKillerApp。 (这是步骤3的工作所必需的。)
  3. 我打开了Eclipse,做了一个File-> Import MyKillerApp(我省略了一些关于如何使用Import菜单的细节,但是点击左右,你会发现它。)
  4. 我右键单击包pipe理器中的MyKillerApp,然后selectAndroid Tools->将应用程序包重命名为MyKillerApp。 我检查了所有的重命名选项,除了关于非java文件的最后一个checkbox。
  5. 我在软件包pipe理器中突出显示了src-> com.myname.MyBaseApp,并且对MyKillerApp做了一个F2。 然后我做了几个类,包括我的开放活动类的东西,进入你的AndroidManifest.xml文件。
  6. 我不得不更新一些函数调用名字,但是编译器很方便地指出了这些名字。

因此,我从一个基地项目中得到了一个新的项目,没有从基础项目中剩下的命名,而是在它自己的本地GiT回购中。

以下在eclipse中为我工作:

转到AndroidManifest,search并用新的旧包名replace,并在保存时更新所有内容。 转到您的根项目包,然后按F2,写入新名称,并检查更新引用和重命名子包checkbox。 在这之后,在项目中一切都是红的(抱怨每个java文件都导入了R),因为它并没有改变我在xmls中的自定义视图的closures标签。 手动改变这些之后,一切都恢复正常了。 这就对了。

直到我结合了这篇文章中提到的两个答案之后,这些工作对我来说都没有用。

第1步:右键单击项目 – >selectAndroid工具 – >重命名应用程序包。 (这将改变gen文件夹和AndroidManifest中的所有文件,但不会更改src文件夹中的包名,所以我按照步骤2)

步骤2:在src文件夹内右键单击您的软件包名称 – >重构 – >重命名 – >input您在步骤1中input的新名称。

只要确保检查AndroidManifest是否还有旧的软件包名称,并用新的(在我的情况下,在“使用权限”标签内)replace。

然后closuresEclipse并重新打开它。 从您的设备卸载应用程序,并再次安装,一切都应该工作正常。

希望这有助于节省您的时间。

重命名应用程序 – 完整指南

 **A) for changing Just the application name (App name which is displayed below icon) in the Manifest.xml file, in <application tag, android:label="YourAppName" then do the same in All the <activity Tags B) For changing EVERYTHING (folder names, Package names, Refrences,app name, etc.) *1) Renaming package names in gen folder and manifest.xml Right Click on Your project Android tools- Rename Application Package *2) Renaming package names in src folder Expand src folder, Click on package (Single click) Press Alt+Shift+R Check Update references and Rename subpackages 3) Renaming the app's main Folder (Optional) click on the application's folder (Single click) then Press Alt+Shift+R 4) Renaming application name- Refer "A)"** 

只要得到远经理 ,search旧名称。 然后手动(在远程pipe理器)到处replace。 可悲的是,这是在100%的可能情况下唯一的方法。

我也有很大的麻烦。

我通过重构对项目和包进行了重命名,但它使应用程序无用。 我把它重新命名为原来的,并使用Android工具重命名包,这工作,但我的包文件夹和类有旧名称。

然后我重构了包文件夹。 现在应用程序不会运行。 我的清单是一团糟。 例如, com.ronguilmet.app/com.ronguilmet.com.class将我的启动器名称com.ronguilmet.app/com.ronguilmet.com.class 。 我修好了,我不得不手动编辑所有的活动。