重构包名称会破坏整个应用程序

时间:2011-06-27 23:18:21

标签: java android eclipse refactoring android-manifest

我正在尝试使用Eclipse

重构我的包
org.sheehan.activity

org.sheehan.stocks.activity

出于某种原因,当我这样做时,我的项目就会爆炸,R不会重新生成。我怎样才能正确地重构?

更新: 我更新了我的Android Manifest以反映这一变化。 R仍然没有再生。即使在干净之后。编译器抱怨org.sheehan.activity.R

7 个答案:

答案 0 :(得分:16)

我解决了:

Android Tools > Rename Package Application

答案 1 :(得分:2)

如果您正确重命名,您项目中的所有引用都应该已更新。完成此操作后,转到Project>清理项目。清洁。这应该解决它。

答案 2 :(得分:1)

在eclipse中修复R的缺失引用:

  1. 重构 - > Rename`

  2. 构建 - >清洁

  3. Android工具 - >修复项目属性

答案 3 :(得分:1)

在eclipse包资源管理器中选择项目的基础包,在重命名对话框中按F2(重命名):选中所有复选框: enter image description here

应该这样做

答案 4 :(得分:0)

包名称不会在XML文件中更新。特别是你的清单需要知道基础包。

答案 5 :(得分:0)

对于更高级的导入和重构,从字面上关闭Eclipse IDE可以刷新一个缓存,导致随机错误,如“结束位置位于文档范围之外”或“曾经工作过的东西不会导致拔毛器错误。”

在尝试重命名时,应该关闭Eclipse的迹象是:

  1. 导入项目时,进行一些重构(比如尝试更改软件包名称),然后删除项目并再试一次,如果没有,则会立即看到R.java错误

  2. 当您导入具有手动生成的R.java文件的项目时,这些文件具有“com.ns.proj.R”等自定义导入,并且在预览中看不到名称更新

  3. 意外检查是否要“重命名子包”的框

  4. “预览>>”中的代码看起来好像之前已被编译,而不是黑名单和代码更换

  5. 的黑白代码
  6. 您在清单活动名称中收到XML错误,例如

  7.   

    机器人:名称= “com.ns.proj.CustomCocom.ns.proj.CustomControlse =” @机器人:风格/ Theme.Light.NoTitleBar“

    什么时候应该

      

    机器人:名称= “com.ns.proj.CustomControls”    机器人:式= “Theme.Light.NoTitleBar”

    显然有太多的名字,但这与体育运动中“关注球”一样重要。容易忘记的东西,但这些东西适用于其他软件程序,如Dreamweaver(例如,当您使用Dreamweaver“Put”选项而不是使用FileZilla拖动FTP时,您注意到您的域未在线更新您的更改)。 8年前,当我第一次成为开发人员时,我打电话给Adobe,因为我知道我没有做错任何事。他们说有时执行动作的生成文件会被破坏......换句话说,IDE也有错误!

    一般情况下,在关闭之前关闭IDE ...它可以挽救你的生命!

答案 6 :(得分:0)

右键单击项目,转到

Android Tools > Rename Package Application

有时,如果Project > Clean不起作用,请删除项目的/gen/bin文件夹。