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

是否包含自动重构?

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


当前回答

如何将com.example.app重命名为com.android.app:

在包com.example.app中选择示例移位+F6选择重命名包将示例重命名为android确认进行重构

其他回答

如果您的包名超过两个点分隔,请说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)重新生成并运行项目以查看其是否有效。然后使用“在路径中查找”来查找您要重命名的其他非接触名称。享受它。

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

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

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

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

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

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

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

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

这很容易做到。只需遵循两个步骤:

右键单击根文件夹,然后单击打开的模块设置。之后,转到口味选项卡并根据需要更改应用程序id。

对于那些认为这只会更改build.gradle文件中的应用程序id的人:

这是谷歌写的

在build.apk的清单中使用的最后一个包是“应用程序id”,它是您的应用程序在设备和Google Play商店中的名称。

and

源代码中用于引用R类和解析任何相关活动/服务注册的包继续称为“包”。

您可以阅读更多http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename

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

如果您的包以mypackageold.something.test开头,则不能更改为mypackagenew.somethingnew.testnew。

在这种情况下,如果我按照上面接受的回答步骤,结果将是mypackageold.something.testnew。

只有当您的包以com….to New包开头时,上述接受的答案才有效。

因此,如果您想从根级别更改包

更改清单中的Required包名称,移除旧软件包并在Android标签下装入新软件包,将所有文件从旧包拖到新包,在Manifest中,还可以更改这些文件的包名,清洁项目,打开build.gradle并更新applicationId。