1

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

在添加 Maven 支持、正确获取 POM 文件并让 maven 使用 android-maven-plugin v3.5.3 构建测试解决方案并将其部署到 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 还很陌生,所以可能错过了设置中明显的一些东西。任何解决此运行时依赖问题的帮助将不胜感激。

4

2 回答 2

0

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

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

于 2013-10-22T11:09:46.210 回答
0

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

于 2013-11-23T08:09:02.403 回答