如何将一个 android 包拆分成多个包

How to break up one android package into several packages

我有一个包含 168 个模块的遗留应用程序,我想将其分成几个 java 个包,来自:

com.mycompany.ediary 

com.mycompany.ediary.util
com.mycompany.ediary.data
com.mycompany.ediary.services

...etc.  

这样可以更好的组织代码。我读到每个包少于 30 个文件是理想的,正如您所看到的,这已经超出了这个范围。做这个的最好方式是什么?我目前 运行 Android Studio 1.5

作为 @Antoniossss says "".

稍微解释一下...


在较早的 Eclipse 日子里,Java 包和 Android 清单包(现在称为作为应用程序中的“应用程序 ID”。这是由 Eclipse(几乎)强制执行的,要求您将代码放入与应用程序 ID 同名的 Java 包中。

在 Eclipse 中更改代码的根 (Java) 包有点棘手,通常您需要使用 Android 工具菜单来完成。这确保 R class 在更改后正确导入。


Android Studio 使区分这两个概念变得容易得多。加上术语现在更容易了,因为接受的术语 "Android manifest package" 现在是 "application ID".

这在您的 gradle 构建文件中设置:

  • applicationId "mobi.glowworm.demo"

如何组织 Java 代码不再依赖于此值。您可以使用任何您想要的包结构。

所以,是的,“

这并不像我在 Android Studio 中想象的那么容易,但比我同时想的要容易。

添加新包基本上就是向项目结构添加新目录,方法是添加新的 "packages" 并让 Android Studio 在您的代码中完成重构工作。我确实与 manifest-merger-release-report.txt 文件发生了一些冲突,但在手动修复这些冲突并更新我的清单后,我能够将文件分解为更有条理的格式。我根本不需要触及 gradle 文件。

右键单击应用程序中的 java 文件夹,select 新建 -> 包 - 然后输入完整的包名称:com.mycompany.ediary.utils。然后剪切并粘贴要添加到新 directory/package 的文件,当提示重新格式化时,点击 "reformat",然后让 Android studio 发挥它的魔力。