您引用的链接中提到了它:
兼容非 Maven Android 库项目!
生成的 .apklib 文件将具有标准 Android/Eclipse 库项目的布局。这意味着无论您的 Maven 布局如何,.apklib 文件中的布局都将是源代码位于“src/”而不是“src/main/java/”中,但在 Android/Maven 应用程序中使用时仍能正确解释项目。这是为了兼容非 Maven 开发者的库项目,这对于发展 Android 开发者社区很重要。
使用其他非 Maven 开发者的库
这也意味着我们可以获取任何外部 Android 库项目 zip 文件(来自非 Maven 开发人员)并对其执行 mvn install:install-file ... 并开始使用它作为依赖项。
与非 Maven 开发人员共享您的 .apklib
要与非 Maven 开发人员共享您的 .apklib 文件,如果您将其重命名为 .zip,他们可能会感觉更舒服。然后,他们可以简单地将其解压缩到一个目录中并从那里使用它。
如果它是一个 mavenized Android 库项目,只需运行mvn clean install
以创建 apklib 并将其安装在本地 Maven 存储库中。
如果是常规的 Android 库项目,只需压缩项目文件夹(最好去掉所有不必要的 IDE 生成的文件),将 my-lib.zip 重命名为 my-lib.apklib,然后运行mvn install:install-file
将 my-lib.apklib 安装到本地Maven 存储库。
请注意,在你的多模块maven项目中,如果子模块lib2没有maven化,运行maven build时可能会出现配置错误,毕竟它被称为多模块Maven项目,所以包含一个非-mavenized子项目。如果 lib2 尚未 mavenized,请将其 mavenize 作为 mutli-module maven 项目的一部分,或者将其从 mutli-module maven 项目中删除并单独维护它(通过 apklib 的命令行构建和通过源代码的 IDE 开发)。
Also note that project building in Maven and Eclipse are totally different story, if you are creating/importing the project into IDE, you need the library project source anyway. If lib2 is mavenized as part of the multi-module project, it will be imported and setup automatically when import the parent project, otherwise, you may need import and setup the standalone project manually. Check out this answer and this answer for more details.