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

是否包含自动重构?

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


当前回答

问题是:

是否包含自动重构?

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

好吧,几乎只需单击一下即可自动重构,但只需先迈出一小步,即创建新包的一小步。下面是完整的解决方案。

您可以通过创建新包(包括所需的文件夹路径)来重命名包,然后从旧包中拖放(并让Android Studio负责从旧包到新包的各种引用的重构),如下所示:

右键单击应用程序下的java。选择新建并打包选择新包的位置为/app/src/main/java输入新包的全名将创建新包。现在,从旧包拖放到新包。如果您想检查AndroidStudio是否正确执行重构,请预览重构。如果一切看起来都很好,请继续重构。

注意:由于应用程序ID和包名现在是分离的,请注意,以上内容仅用于重命名包名。要更改应用程序ID,可以在build.gradle中执行。

其他回答

在Java文件夹中选择软件包名称。移位+F6更改软件包名称并单击“确定”。

您的包名将从所有Java文件和清单文件中更改。您必须从build.gradle手动更改包名。

我用于重命名包名称的方法如下:-

步骤1:从Android Studio的左侧菜单中选择项目选项

步骤2:右键单击java并添加一个新包并设置所需的包名称

步骤3:输入新程序包名称

步骤4:从旧包复制所有文件并粘贴到新包中

步骤5:重命名清单文件中的包名称

步骤6:重命名build.gradle文件中的包名

步骤7:然后右键单击旧包并删除它及其所有数据,同时删除该目录

步骤8:然后重建项目

步骤9:然后您将在项目中发现旧导入包名的一些错误在任何文件中选择旧包名,然后按CTRL+Shift+R,然后在替换框中输入新包名,再按find

步骤10:然后出现如下弹出窗口,并从中选择“所有文件”选项

步骤11:再次重建项目,宾果您的项目包名已更改:)

右键单击包名称->Refactor->重命名->输入包名称->单击“Refactor”。不要编辑“app”文件夹下除“build.gradle”以外的任何构建文件。

从重命名android工作室项目-Vishnu Sivan

我尝试了两个最热门的解决方案,但发现了一些问题,尽管这两个方案在某种程度上都有效。

列表项:新的包拖放方法保持一些不变,并产生一些不希望的效果列表项:重命名包仅更改包名称的最后一部分

经过一些实验,我发现下面的方法对我很有效。

如果您只需要更改包名的最后一部分,请使用GreyBeardedGeek概述的方法,即

右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Rename

如果需要更改整个包名,请执行以下操作。

右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Move

这将创建一个新的包文件夹(必要时),但将保留包名称的最后一部分。如果需要更改最后一个零件,请相应地进行重命名。

还请注意,您可能需要修改例如build.gradle、manifest和/或任何xml资源文件中的包名,甚至需要修改硬编码的代码中的包名称。之后,根据需要执行同步/清理/重建项目。

我找到了一个更容易解决这个问题的方法,它也改变了生成的导入,比如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将同步,您的包名应更改为新的包名。

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