如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
转到AndroidManifest.xml文件。将光标放在软件包名称中,如下所示。不要选择它,只需放置它。然后按Shift+F6,您将看到一个弹出窗口,如下所示。选择重命名包。输入新名称并选择Refactor。(注意:由于我的光标位于“something”上,因此只有something被重命名。)
完成了。
其他回答
我尝试了两个最热门的解决方案,但发现了一些问题,尽管这两个方案在某种程度上都有效。
列表项:新的包拖放方法保持一些不变,并产生一些不希望的效果列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现下面的方法对我很有效。
如果您只需要更改包名的最后一部分,请使用GreyBeardedGeek概述的方法,即
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Rename
如果需要更改整个包名,请执行以下操作。
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Move
这将创建一个新的包文件夹(必要时),但将保留包名称的最后一部分。如果需要更改最后一个零件,请相应地进行重命名。
还请注意,您可能需要修改例如build.gradle、manifest和/或任何xml资源文件中的包名,甚至需要修改硬编码的代码中的包名称。之后,根据需要执行同步/清理/重建项目。
一定要去Sheharyar的伟大答案。随之而来的答案和评论太多,很容易让人感到困惑和放弃,但不要。这个答案有效。
简而言之,你要做三件事:
(1) 取消选择压缩空中间包装。
(2) 然后,通过选择“更改包”(而不是“更改目录”)来重命名每个旧目录节点,以匹配新的包名称。(请务必预览更改。)
(3) 编辑build.gradle文件,使APPLICATION_ID与新的包名匹配。
在Java文件夹中选择软件包名称。移位+F6更改软件包名称并单击“确定”。
您的包名将从所有Java文件和清单文件中更改。您必须从build.gradle手动更改包名。
如果您的包以mypackageold.something.test开头,则不能更改为mypackagenew.somethingnew.testnew。
在这种情况下,如果我按照上面接受的回答步骤,结果将是mypackageold.something.testnew。
只有当您的包以com….to New包开头时,上述接受的答案才有效。
因此,如果您想从根级别更改包
更改清单中的Required包名称,移除旧软件包并在Android标签下装入新软件包,将所有文件从旧包拖到新包,在Manifest中,还可以更改这些文件的包名,清洁项目,打开build.gradle并更新applicationId。
在Android Studio中更改包名的3种方法
我想这是一个新的。我试过了,效果很好。如果上述方法不适用于您。试试这个。在我上面提到的网站上,还有两种其他的图像教程方法。我也检查了一下。
首先,我将讨论更改包名称。在本例中,我们将包名“com.androidride.myapplication”更改为“info.xyz.yourapplication”。
右键单击要更改的包名称,然后选择Refactor->Move。此时会出现一个新对话框,选择将包“com.androidride.myapplication”移动到另一个包,然后单击“确定”。出现警告对话框,单击yes。在新对话框中输入新包名称。但只有“info.xyz”离开你的应用程序。现在,您将看到一个警告对话框,显示Package info.xyz不存在。是否要创建它?单击yes。单击“Do Refactor”。现在,您的包名已更改为info.xyz.myapplication。右键单击info.xyz.myapplication和Refactor->Rename。单击重命名包。重命名对话框:将myapplication更改为您的应用程序。单击Do refactor。删除旧的包名目录并更改build.gradle中的应用程序id,将其更改为info.xyz.yourapplication。这就是全部。