如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
我尝试了两个最热门的解决方案,但发现了一些问题,尽管这两个方案在某种程度上都有效。
列表项:新的包拖放方法保持一些不变,并产生一些不希望的效果列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现下面的方法对我很有效。
如果您只需要更改包名的最后一部分,请使用GreyBeardedGeek概述的方法,即
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Rename
如果需要更改整个包名,请执行以下操作。
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Move
这将创建一个新的包文件夹(必要时),但将保留包名称的最后一部分。如果需要更改最后一个零件,请相应地进行重命名。
还请注意,您可能需要修改例如build.gradle、manifest和/或任何xml资源文件中的包名,甚至需要修改硬编码的代码中的包名称。之后,根据需要执行同步/清理/重建项目。
其他回答
更新答案:2015年5月
好吧,我一直在努力在Android Studio中克隆和重命名项目,但最终我实现了这一目标。以下是需要遵循的步骤:
复制项目文件夹,重命名并用Android Studio打开从资源管理器重命名模块目录重命名projectName.iml和内容重命名idea/.name内容在项目窗格中,单击小齿轮图标->取消选中“压缩空中间包”为新的包名重构src目录(重命名包,“不重命名目录”)在build.gradle中重命名应用程序idsettings.gradle重命名模块
就是这样。。。
一个人可能犯的常见错误是无法重命名包结构,即当试图在com.name.android级别进行修改时,无法将com.name.aandroid更改为com.Renamed.android。
为了获得相同的所需更改,请升级一个级别,即com.name,在重构时将其更改为Renamed。这将永远有效。
在使用这些技术之一重命名包之后,可能会开始看到错误。
如果/当你的R.java没有正确生成时,你会在项目中收到很多错误,比如错误:找不到符号类R,以及错误:包R不存在。
记住检查应用程序清单xml。清单包名称必须与实际包名称匹配。R.java似乎是从应用程序清单生成的,如果不匹配,可能会导致这些错误。
记住检查<manifestpackage=“com.yourcompany.coolapp”>中的package属性匹配
选择要重构的包。重构(Refactor)→ 移动→ “将xxx移动到新包”。
例如,如果您希望将包从com.example.a更改为com.example.b
1) 将项目样式文件夹从android更改为package(在项目端)
2) 右键单击文件夹顶部,然后单击路径中的替换
3) “在项目中选择”按钮
4) 在第一输入write com.example.a
5) 在第二输入中写入com.example.b
6) 当您看到警告时,选择“全部替换”以替换值
完成替换后,您可以看到您的包名为com.example.b