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

是否包含自动重构?

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


当前回答

IntelliJ IDEA有一个名为“压缩空中间包”的选项。选择“项目”选项卡的选项图标,然后取消/激活该选项。

请参阅:如何更改IntelliJ IDEA中的顶级包名称?

其他回答

在使用这些技术之一重命名包之后,可能会开始看到错误。

如果/当你的R.java没有正确生成时,你会在项目中收到很多错误,比如错误:找不到符号类R,以及错误:包R不存在。

记住检查应用程序清单xml。清单包名称必须与实际包名称匹配。R.java似乎是从应用程序清单生成的,如果不匹配,可能会导致这些错误。

记住检查<manifestpackage=“com.yourcompany.coolapp”>中的package属性匹配

在java目录中创建一个新的包,并将项目移动到该包中。就像您当前的项目id是com.testapp.user,您希望将其更改为xyz.testpp.user。然后在src/java目录中创建一个名为xyz的包,并将您的子包testapp.use移动到xyz中。最后,更新build.gradle和manifest项目id。

右键单击package->refactor并更改名称。

您也可以在清单中更改它。有时,如果您更改包名,但在创建.apk文件后,它会显示不同的包名。此时,检查build.gradle文件中的“applicationId”。

在Android Studio中,您可以执行以下操作:

例如,如果要将com.example.app更改为my.awesome.game,则:

在项目面板中,单击小齿轮图标()取消选中“压缩空中间包”选项您的程序包目录现在将被分解为单独的目录单独选择要重命名的每个目录,然后:

右键单击它选择重构单击重命名在弹出对话框中,单击重命名包而不是重命名目录输入新名称并点击Refactor单击底部的Do Refactor留出一分钟让Android Studio更新所有更改注意:在Android Studio中重命名com时,可能会发出警告。在这种情况下,选择“全部重命名”

现在打开Gradle Build文件(Build.Gradle-通常是应用程序或手机)。如果尚未自动更新,请将defaultConfig中的applicationId更新为新的Package Name和Sync Gradle:您可能需要更改清单中的package=属性。清洁并重建。完成!无论如何,Android Studio需要让这个过程简单一点。

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

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