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

是否包含自动重构?

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


当前回答

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

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

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

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

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

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

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

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

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

其他回答

在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。这就是全部。

最好的方法是编写新的包名,然后从旧的包名中拖动。

第二种方法是,如果单击Refactor then move选项,然后重命名包名,它将重命名包名并重新生成。

在Build.gradle中,您必须手动执行,如果重构,则不会在Build.ggradle中重命名。

我相信你正在寻找的是重构>移动。也可以按F6。

你会得到两个弹出窗口。确保在这两个上都选择了重命名包。之后,您将看到一个弹出窗口来放置新的包名。

请注意,如果您的包名是例如com.example.android.projectname,那么这将允许您将com.example.aandroid更改为其他名称。

还有一件事,这也将更新build.gradle中的applicationId。只需确保选中“在注释和字符串中搜索”和“搜索文本引用”复选框即可。

转到项目路径>找到Java文件和包的位置创建新文件夹,例如com→ 超级程序包→ 活动Android Studio将刷新项目结构将所有Java文件移动到新文件夹删除旧文件夹菜单编辑→ 发现→ 替换路径:将旧包名称更改为新包舱单和建造坡度也发生变化

完成!

这很容易做到。只需遵循两个步骤:

右键单击根文件夹,然后单击打开的模块设置。之后,转到口味选项卡并根据需要更改应用程序id。

对于那些认为这只会更改build.gradle文件中的应用程序id的人:

这是谷歌写的

在build.apk的清单中使用的最后一个包是“应用程序id”,它是您的应用程序在设备和Google Play商店中的名称。

and

源代码中用于引用R类和解析任何相关活动/服务注册的包继续称为“包”。

您可以阅读更多http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename