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

是否包含自动重构?

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


当前回答

例如,如果您希望将包从com.example.a更改为com.example.b

1) 将项目样式文件夹从android更改为package(在项目端)

2) 右键单击文件夹顶部,然后单击路径中的替换

3) “在项目中选择”按钮

4) 在第一输入write com.example.a

5) 在第二输入中写入com.example.b

6) 当您看到警告时,选择“全部替换”以替换值

完成替换后,您可以看到您的包名为com.example.b

其他回答

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

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

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

defaultConfig {
    applicationId 
}

短而甜

另一个好方法是:首先右键单击Java文件夹,创建一个具有所需名称的新包→ 新→ 包裹

然后,选择并将所有类拖到新包中。AndroidStudio将到处重构包名。

最后,删除旧包。

完成。

非常重要:

如果使用此方法,则必须手动将AndroidManifest.xml和build.gradle文件更改为新包。

如果您的包名超过两个点分隔,请说com.hello.world,而且您没有在com/和com/hello/中输入任何内容。您的所有类都放入了com/hello/world/中,您可以在Android Studio或IntelliJ中执行以下步骤来重构包名:

[FIRST]在目录(com/,com/hello/)下添加一些内容。你可以通过首先向com.hello.world包中添加两个文件来实现这一点

com.hello.world.PackageInfo1.javacom.hello.world.PackageInfo2.java

然后通过将它们分别移动到com和com.hello来重构它们。你会看到com和com.hello坐在项目中(Alt+1或命令+1表示快捷方式),重命名目录重构是正如你所期望的那样在那里等待。

重构以重命名一个或多个目录以达到您的目标。在这里您唯一应该注意的是,当对话框询问您时,您必须选择目录而不是包。如果你的项目中有很多类,那么你需要一段时间来等待它的自动扫描和重命名。此外,我想,您需要手动重命名AndroidManifest.xml中的包名,以便该文件中的其他名称可以使用前缀。[同时],它可能需要您将所有com.hello.world.R替换为新的XXX.XXX.XXX.R(简称Command+Shift+R)重新生成并运行项目以查看其是否有效。然后使用“在路径中查找”来查找您要重命名的其他非接触名称。享受它。

包装有两个目的。一个是在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和清单将使用此新的包名称。

还有一个很好的键盘快捷键,只需单击n选择要重命名的类/包,然后按ALT+两次R或Shift+F6

它反映了Android Studio中的:->Refactor菜单和Rename功能。重命名现有包后,它会在底部显示此反射/重命名的效果,如果您单击Refector按钮,它将更改整个项目中使用的类名/包名。