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

是否包含自动重构?

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


当前回答

请尝试以下步骤:

单击设置档位图标并取消选择压缩空中间包现在,我们可以看到每个包文件夹都被分解为多个部分现在右键单击第一个包文件夹>>重构>>重命名现在将显示一个警告,但您可以继续并单击“重命名”包裹之后,输入域名作为软件包名称单击“Do Refactor”现在它已经更改了应用程序的包域名。现在更改根据您的要求提供域名扩展名和应用程序文件夹名称现在在gradle脚本中打开build.gradle(模块:app)。此处更改应用程序id并单击“立即同步”。

*******终于完成了******

其他回答

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

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

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

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

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

更改应用程序ID(现在独立于包名)可以在一个步骤中轻松完成。你不必接触AndroidManifest。相反,请执行以下操作:

右键单击项目的根文件夹。单击“打开模块设置”。转到“口味”选项卡。将applicationID更改为所需的任何包名称。按OK(确定)。

注意,这不会更改包名称。包名称和应用程序ID的解耦在这里解释:http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

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

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

右键单击项目面板上的包。

从上下文菜单中选择Refactor->Rename。

问题是:

是否包含自动重构?

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

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

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

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

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