如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?

是否包含自动重构?

我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。


当前回答

有很多答案,但我仍在尝试。

步骤1:如上图所示,选择设置选项。。。

第2步:选择压缩中间包选项。。。

步骤3:现在展开包,如图所示

步骤4:扩展后,它看起来像

步骤5:选择子包中的任何一个(在或示例或googledevsmsverify中),然后单击Shift+f6按钮。。。

我选择了中间的包示例,因此它将显示如上图所示简单地重命名包并单击重构按钮

步骤6:单击Refactor按钮后,您将看到以下屏幕,单击DO Refactor,然后等待构建渐变。。。

步骤7:转到build.gradle(Mobile:app)并更改applicationID的包名,如图所示

步骤8:只需检查manifest.xml文件中的包。。。

全部完成包是change...@Ambilpura

其他回答

如果您的包名超过两个点分隔,请说com.hello.world,而且您没有在com/和com/hello/中输入任何内容。您的所有类都放入了com/hello/world/中,您可以在Android Studio或IntelliJ中执行以下步骤来重构包名:

[FIRST]在目录(com/,com/hello/)下添加一些内容。你可以通过首先向com.hello.world包中添加两个文件来实现这一点

com.hello.world.PackageInfo1.javacom.hello.world.PackageInfo2.java

然后通过将它们分别移动到com和com.hello来重构它们。你会看到com和com.hello坐在项目中(Alt+1或命令+1表示快捷方式),重命名目录重构是正如你所期望的那样在那里等待。

重构以重命名一个或多个目录以达到您的目标。在这里您唯一应该注意的是,当对话框询问您时,您必须选择目录而不是包。如果你的项目中有很多类,那么你需要一段时间来等待它的自动扫描和重命名。此外,我想,您需要手动重命名AndroidManifest.xml中的包名,以便该文件中的其他名称可以使用前缀。[同时],它可能需要您将所有com.hello.world.R替换为新的XXX.XXX.XXX.R(简称Command+Shift+R)重新生成并运行项目以查看其是否有效。然后使用“在路径中查找”来查找您要重命名的其他非接触名称。享受它。

另一个好方法是:首先右键单击Java文件夹,创建一个具有所需名称的新包→ 新→ 包裹

然后,选择并将所有类拖到新包中。AndroidStudio将到处重构包名。

最后,删除旧包。

完成。

非常重要:

如果使用此方法,则必须手动将AndroidManifest.xml和build.gradle文件更改为新包。

IntelliJ IDEA有一个名为“压缩空中间包”的选项。选择“项目”选项卡的选项图标,然后取消/激活该选项。

请参阅:如何更改IntelliJ IDEA中的顶级包名称?

我找到了一个更容易解决这个问题的方法,它也改变了生成的导入,比如com.test.testpackagechange.R,只需要一分钟。

第一步是打开Android Studio并打开替换所有窗口(Mac:cmd+shift+R,我假设Windows为:ctrl+shift+R)。输入您的旧软件包名称和新软件包名称下面的名称。单击查找。这可能需要一段时间,因为它也在查看生成的项目。如果点击次数超过1000次,只需单击“继续”。

完成后,按下“全部替换”,用新的包名替换旧的包名。

现在关闭Android Studio并转到Mac上的Finder或Windows上的Windows Explorer。将文件夹的名称更改为新的程序包名称,如下所示:

现在再次打开Android Studio。Gradle将同步,您的包名应更改为新的包名。

我发现这是最简单的一个,它涵盖了所有领域,比如生成的文件。

第一部分包括在java文件夹下创建一个新包,然后选择并将所有源文件从旧包拖到这个新包。之后,您需要将android manifest中的包名称重命名为新包的名称。在步骤2中,这是您需要做的。除了更改清单中的包名之外,您还需要更改android studio中模块build.gradle下applicationId中的旧包名。总之,单击“AndroidManifest.xml”下面的build.gradle并将applicationId的值修改为新的包名。然后,在顶部,建造不足。清理项目,然后重建。从这里开始应该很好。