首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android插件apklib Mojo在结果apklib中不包括编译的R

Android插件apklib Mojo在结果apklib中不包括编译的R
EN

Stack Overflow用户
提问于 2012-01-11 17:02:19
回答 1查看 3.6K关注 0票数 5

我正在尝试将Android文件夹提取到一个单独的项目中,该项目作为apklib依赖项包含在我的主项目中。问题是,虽然/res的内容包含在结果的.apklib中,但编译的R.class却没有。更令人困惑的是,mvn clean install命令生成.apklib.jar文件,jar文件具有R.class,但/res文件夹中没有任何内容。如何生成包含所有资源和已编译类的单个包( .jar或.apklib)?

pom.xml

代码语言:javascript
复制
<packaging>apklib</packaging>
...
<plugin>
  <groupId>com.jayway.maven.plugins.android.generation2</groupId>
  <artifactId>android-maven-plugin</artifactId>
  <configuration>
    <attachSources>true</attachSources>
    <sdk>
      <platform>12</platform>
    </sdk>
  </configuration>
<plugin>

生成以下内容:

.jar

代码语言:javascript
复制
./morseflash-resources.jar
  com/.../R.class    

.apklib

代码语言:javascript
复制
./morseflash-resorces.apklib
  META-INF
  AndroidManifest.xml
  res/
      layout/
      values/

我希望所有这些内容都放在一个文件中,并且我希望能够在我的主要Android项目中将其作为依赖项列出。这是可能的吗?如果有,我怎样才能做到呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-11 21:15:07

这是android plugin的工作方式,要将库项目作为主项目的依赖项添加到主项目的pom.xml中:

代码语言:javascript
复制
<dependencies>
  <dependency>
    <groupId>com.company.common.lib</groupId>
    <artifactId>common-lib</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <type>apklib</type>
  </dependency>
</dependencies>

请注意,这与常规的jar依赖项不同,apklib只是所有srcres文件夹的压缩,这些文件夹具有Android/Eclipse项目的标准目录结构布局(src/com/...而不是src/main/java/com/...)。其原因是支持在其他非mavenlized项目中使用apklib (有关详细信息,请参阅ApkLib文档 )。您不是将库添加为编译后的jar依赖项,而是将库依赖项添加为源代码和资源,只需从zip文件中添加即可。

在执行mvn clean install时,在android-maven-plugin:3.0.0:generate-sources目标中,Android plugin将解压缩apklib依赖项,并在编译项目之前将源代码和资源合并到主项目中;这就是Android项目的工作方式。“图书馆项目”不仅仅是编译所有的东西。为了节省内存和磁盘空间,只有使用过的部分被复制并编译到最终的apk中。您可以轻松地覆盖主项目中的资源,因为它们只是在最终编译之前的合并步骤中替换库内容。

这是丑陋的,但这是目前的工作方式,Android团队目前正在进行这方面的工作,并将在未来支持jar依赖,可能在r17中(我认为这也需要android插件更改/升级),更多细节在他们的官方博客帖子"对Android工具中的库项目的更改,r14“中。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8823392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档