android-maven integration-test deploy在运行时没有找到jar库

时间:2013-04-18 21:15:28

标签: android maven continuous-integration android-testing

我们正在尝试在线获取一些我们编写的android库(.jar文件,但不是设置了库标志的android项目)的连续集成测试。我在IntelliJ中创建了一个测试android项目,并设法通过Android模拟器上的IntelliJ使测试运行良好。

添加Maven支持,获取POM文件正确,并使用android-maven-plugin v3.5.3构建maven并将测试解决方案部署到android模拟器后,我得到以下运行时错误(更确切地说喜欢它):

04-18 04:41:10.800: WARN/dalvikvm(1532): VFY: unable to resolve static method 35: Lcom/joobworld/joobmobile/network/HttpResult$HttpVerb;.valueOf (Ljava/lang/String;)Lcom/joobworld/joobmobile/network/HttpResult$HttpVerb;

pom以下列方式引用“缺失”库:

<dependency>
    <groupId>com.joobworld.joobmobile</groupId>
    <artifactId>JoobMobile</artifactId>
    <version>3.1.0.0</version>
    <type>jar</type>
    <scope>provided</scope>
</dependency>

如上所述,maven在构建或部署测试解决方案时不会抱怨。它将jar库从我们的本地存储库正确填充到.m2文件夹中,所以看起来由于某种原因它不包含apk中的jar文件。我对maven相当新,所以可能错过了设置中显而易见的东西。任何有助于解决此运行时依赖性问题的帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

我不使用maven,但我有手动解决方案。

您可以将.jar复制到/ libs文件夹,它们将自动包含在.apk中。注意:您的构建系统可能会自动删除它们!

答案 1 :(得分:0)

您将范围设置为“已提供”,告诉maven不要在apk中包含jar。尝试使用编译或删除默认编译的范围标记。