Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 重构包名会破坏整个应用程序_Java_Android_Eclipse_Refactoring_Android Manifest - Fatal编程技术网

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

Java 重构包名会破坏整个应用程序,java,android,eclipse,refactoring,android-manifest,Java,Android,Eclipse,Refactoring,Android Manifest,我正在尝试使用Eclipse重构我的包 org.sheehan.activity 到 由于某种原因,当我这样做的时候,我的项目就崩溃了,而R没有重新生成。如何正确重构 更新: 我更新了我的Android清单以反映这一变化。R仍然不能再生。即使在一次清洁之后。编译器正在抱怨org.sheehan.activity.R如果重命名正确,整个项目中的所有引用都应该得到更新。完成此操作后,通过转到project>clean来清理项目。这应该可以解决问题。包名不会在XML文件中更新。特别是您的清单,它需要

我正在尝试使用Eclipse重构我的包

org.sheehan.activity

由于某种原因,当我这样做的时候,我的项目就崩溃了,而R没有重新生成。如何正确重构

更新
我更新了我的Android清单以反映这一变化。R仍然不能再生。即使在一次清洁之后。编译器正在抱怨org.sheehan.activity.R

如果重命名正确,整个项目中的所有引用都应该得到更新。完成此操作后,通过转到project>clean来清理项目。这应该可以解决问题。

包名不会在XML文件中更新。特别是您的清单,它需要知道基本包。

我通过以下方式解决:

Android Tools > Rename Package Application

修复eclipse中缺少的对
R
的引用:

  • 重构->重命名`

  • 建造->清洁

  • Android工具->修复项目属性


  • 在eclipse软件包管理器中选择项目的基本软件包,按F2键(重命名),在重命名对话框中:选中所有复选框:


    这应该可以做到

    对于更高级的导入和重构,字面上关闭Eclipse IDE可以刷新缓存,从而导致随机错误,如“结束位置超出文档范围”或“曾经工作过的现在不会出错”

    尝试重命名内容时应关闭Eclipse的标志有:

  • 导入项目时,执行一些重构(如尝试更改包名),然后删除项目并重试,您将立即看到以前没有的R.java错误

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

  • 询问是否要“重命名子包”的框意外选中

  • “Preview>>”中的代码看起来好像是以前编写过的,而不是替换了专有名称的黑白代码

  • 清单活动名称中会出现如下XML错误

  • android:name=“com.ns.proj.CustomCocom.ns.proj.CustomControlse=“@android:style/Theme.Light.NoTitleBar”

    应该是什么时候

    android:name=“com.ns.proj.CustomControls” android:style=“Theme.Light.NoTitleBar”

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


    一般来说,在关闭IDE之前请先关闭它…它可以挽救您的生命

    在项目中单击鼠标右键,转到

    Android Tools > Rename Package Application
    

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

    我尝试过Project>Clean,运气不好。R仍然指向旧包您也可以删除R文件并强制它以这种方式重新生成?这就是问题所在,gen文件夹不再有R。当我打开/关闭/清理项目时,什么都没有发生。如果您进行更改并保存,会怎么样?您的工作区设置是否设置为自动生成/刷新?(Windows>首选项>常规>工作区)检查您是否在任何xml文件上有任何错误,这可能对您有帮助re factor没有100%起作用,因此我必须在修复我的Android清单后执行此操作。缺少引号。对于超级初学者,请确保在项目浏览器中突出显示您的项目,右键单击,您将看到底部附近的Android工具。您的问题让我在许多方面“破坏”了Eclipse…直到我关闭Eclipse并重试,您的答案才起作用。看看我的答案,让我开怀大笑!我认为你真的帮助了很多人。
    Android Tools > Rename Package Application