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

是否包含自动重构?

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


当前回答

安卓工作室2022


分步实施

步骤1:要在Android studio中重命名包名,请首先在Android模式下打开项目,如下图所示。

步骤2:现在单击设置齿轮图标并取消选择紧凑型中间包。

步骤3:现在,packages文件夹被分解为下图所示的部分。

步骤4:现在右键单击第一个包名(com),然后Refactor>Rename。将显示警告消息,但继续并单击重命名当前按钮。

步骤5:根据需要重命名目录名,然后单击Refactor按钮。

注意:转到“Build”>“Rebuild Project”以显示更新的名称。

现在,您可以从com->gfg中看到目录名的更改,如下图所示。

步骤6:根据您的要求,对域名扩展名和应用程序文件夹名称执行相同操作。

现在,您可以看到包名已从com.example.pulltorefreshwithlistview更改为gfg.geekesforgeekes.listview,如下图所示。

步骤7:现在转到gradle脚本中的build.gradle(模块:app)。此处更改applicationId并单击“立即同步”。并且成功地重命名了包名。


资料来源:如何在Android Studio中重命名软件包名称?

其他回答

如果您的包以mypackageold.something.test开头,则不能更改为mypackagenew.somethingnew.testnew。

在这种情况下,如果我按照上面接受的回答步骤,结果将是mypackageold.something.testnew。

只有当您的包以com….to New包开头时,上述接受的答案才有效。

因此,如果您想从根级别更改包

更改清单中的Required包名称,移除旧软件包并在Android标签下装入新软件包,将所有文件从旧包拖到新包,在Manifest中,还可以更改这些文件的包名,清洁项目,打开build.gradle并更新applicationId。

对我来说,我只是更改了库模块的目录名而不是包名,并单击了底部的Do refactor(示例:从com.reg.register->com.reg1.register)。

之后,确保更新了buildgradle文件和manifest文件中的新目录名。

重建项目。

这对我来说非常有效,即使是更改所有相关模块中的引用,也可以更改我想在包中修改的文件夹名称,但对我来说,只有完全按照以下步骤操作,这才有效:

A-如果您想更改根文件夹的名称(换句话说,通常在包中用于包含主要活动的文件夹的名称),可以在以下步骤(B到C)之前或之后通过退出“Android Studio”手动重命名此根文件夹。单击“导入项目…”,然后单击项目的新名称(此导入过程将自动使用项目文件重新调整“Gradle”文件)B-在接下来的C步骤之前,不要忘记手动修改要在包中更改的文件夹名称,方法是在以下3个文件中更改它们:“AndroidManifest.xml”、“MainActivity.java”(或您最终为第一个活动选择的名称)和“build.gradle(Module:app)”文件。C-按照上述步骤1至6(“在项目窗格中,单击小齿轮图标…”)->https://stackoverflow.com/a/29092698/2001610 D-仅当您现在想要更改根文件夹的名称时,您可以按照上面所述的“A”过程进行操作。

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

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

选择要重构的包。重构(Refactor)→ 移动→ “将xxx移动到新包”。