如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
如何在基于IntelliJ IDEA的新IDE Android Studio中重命名软件包?
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
当前回答
在java目录中创建一个新的包,并将项目移动到该包中。就像您当前的项目id是com.testapp.user,您希望将其更改为xyz.testpp.user。然后在src/java目录中创建一个名为xyz的包,并将您的子包testapp.use移动到xyz中。最后,更新build.gradle和manifest项目id。
其他回答
我相信你正在寻找的是重构>移动。也可以按F6。
你会得到两个弹出窗口。确保在这两个上都选择了重命名包。之后,您将看到一个弹出窗口来放置新的包名。
请注意,如果您的包名是例如com.example.android.projectname,那么这将允许您将com.example.aandroid更改为其他名称。
还有一件事,这也将更新build.gradle中的applicationId。只需确保选中“在注释和字符串中搜索”和“搜索文本引用”复选框即可。
在java目录中创建一个新的包,并将项目移动到该包中。就像您当前的项目id是com.testapp.user,您希望将其更改为xyz.testpp.user。然后在src/java目录中创建一个名为xyz的包,并将您的子包testapp.use移动到xyz中。最后,更新build.gradle和manifest项目id。
问题是:
是否包含自动重构?
我想进行大规模重构,但我不知道怎么做。我在Eclipse工作了两年,在Eclipse中它是一个一键操作。
好吧,几乎只需单击一下即可自动重构,但只需先迈出一小步,即创建新包的一小步。下面是完整的解决方案。
您可以通过创建新包(包括所需的文件夹路径)来重命名包,然后从旧包中拖放(并让Android Studio负责从旧包到新包的各种引用的重构),如下所示:
右键单击应用程序下的java。选择新建并打包选择新包的位置为/app/src/main/java输入新包的全名将创建新包。现在,从旧包拖放到新包。如果您想检查AndroidStudio是否正确执行重构,请预览重构。如果一切看起来都很好,请继续重构。
注意:由于应用程序ID和包名现在是分离的,请注意,以上内容仅用于重命名包名。要更改应用程序ID,可以在build.gradle中执行。
包装有两个目的。一个是在Google Play商店中唯一识别您的应用程序。另一个是为构建项目时生成的R.java类命名包。您可以将第一个目的看作外部包,第二个目的看作内部包。假设您想更改外部包,以便在Play商店中进行识别,有一种方便的方法可以做到这一点。
在Android Studio中,
choose File -> Project Structure -> Choose your app's module -> Click on the
Flavors tab -> change the Application id.
现在,当您构建项目时,您的APK和清单将使用此新的包名称。
我尝试了两个最热门的解决方案,但发现了一些问题,尽管这两个方案在某种程度上都有效。
列表项:新的包拖放方法保持一些不变,并产生一些不希望的效果列表项:重命名包仅更改包名称的最后一部分
经过一些实验,我发现下面的方法对我很有效。
如果您只需要更改包名的最后一部分,请使用GreyBeardedGeek概述的方法,即
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Rename
如果需要更改整个包名,请执行以下操作。
右键单击“项目”窗格中的包。从上下文菜单中选择Refactor->Move
这将创建一个新的包文件夹(必要时),但将保留包名称的最后一部分。如果需要更改最后一个零件,请相应地进行重命名。
还请注意,您可能需要修改例如build.gradle、manifest和/或任何xml资源文件中的包名,甚至需要修改硬编码的代码中的包名称。之后,根据需要执行同步/清理/重建项目。