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

是否包含自动重构?

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


当前回答

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

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

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

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

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

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

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

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

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

其他回答

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

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

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

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

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

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

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

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

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

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

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

安卓工作室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中重命名软件包名称?

我看过最热门的答案,但我发现这样做有点不同,我尝试做最完整的教程。

在Android Studio中,单击齿轮图标(),然后选择选项:“压缩空中间包”,以在树视图中查看分开的文件夹。

现在选择文件夹,单击右键打开上下文菜单,选择Refactor,然后重命名

建议您重构包:

然后一个窗口将显示项目内的巧合,选择“Do Refactor”:

我们不必手动更改AndroidManifest.xml或build.gradle文件,重构包就可以了!。

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

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

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

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

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

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

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

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

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

我需要运行文件->使缓存无效/重新启动。。。清除原始包装的残留物