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

是否包含自动重构?

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


当前回答

一个人可能犯的常见错误是无法重命名包结构,即当试图在com.name.android级别进行修改时,无法将com.name.aandroid更改为com.Renamed.android。

为了获得相同的所需更改,请升级一个级别,即com.name,在重构时将其更改为Renamed。这将永远有效。

其他回答

更改程序包名称


要重命名包名,只需转到AndroidManifest.xml文件,并将鼠标光标放在要更改的包名部分的前面。



右键单击>重构>重命名



在新窗口中,按Rename package



更改名称并按Refactor



…然后按底部的Do Refactor。



您的包名通常采用com.domain.appname格式;在本例中,我们更改了appname部分,但您也可以对域执行相同的步骤。

完成!您已更改包名称!

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

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

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

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

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

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

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

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

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

转到AndroidManifest.xml在那里,您将找到作为manifest标记属性的包。只需选择要更改的部件,右键单击->重构->重命名

也许早些时候,这很难,但到今天为止,这已经不难了。

您可能还想在中更改应用程序id

defaultConfig {
    applicationId 
}

短而甜

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

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

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

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

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

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

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

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

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

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

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

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

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