问题标签 [android-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1540 浏览

android - Android - Maven Build - Proguard - 找不到引用的类

目前我正在尝试为我现有的 Android 应用程序设置一个 Maven 构建。(以前是用 Ant 构建的)在运行 proguard 混淆时,我收到很多警告,告诉我以下内容:

缺少的参考来自org.apache.http包。我认为它们应该包含在 android.jar 中。我正在使用android-maven-plugin版本3.2.0。在 pom.xml 中定义了以下 android 依赖项。

我已经使用maven-android-sdk-deployer安装了 Android 依赖项。

这种错误的正确解决方案是什么?没有混淆,构建成功,生成的 APK 运行良好。我没有更改 proguard 配置文件。(它与蚂蚁结合使用)

0 投票
1 回答
3707 浏览

android - 使用 maven 构建 apk 中的 ClassNotFoundException

我想在 Android 开发中为我的构建过程切换到 maven。我按照http://www.sonatype.com/books/mvnref-book/reference/android-dev-sect-archetype.html创建 pom.xml 并稍微调整了版本以便我使用最新版本的android-maven-plugin。

虽然我的 apk 可以从我的 IDE(IntellJ)中手动构建,但使用 maven 构建的 apk 存在问题。显然缺少一些不会将类放入 apk 的东西。

当我检查两个生成的apk(解压缩它)时,我发现maven生成的apk的classes.dex(2.6kB)比常规的(24.9kB)小得多。显然那里缺少课程。

因此,在启动此 apk 时,我收到以下错误:

这是我使用的 pom.xml:mvn install -P signmvn android:apk

0 投票
2 回答
6107 浏览

android - mvn android:deploy 不工作(尽管确认成功)

我正在使用 android-maven-plugin 3.2.0 并运行以下命令以在我的设备(Nexus One、Android 2.3.6)上安装和启动 apk,这是唯一通过 USB 连接且对 adb 可见的设备; 也没有并行运行的模拟器。

下面是我的 shell 中的输出,看起来一切都很好,我什至收到一条消息说

成功安装/Users/myuser/Projects/MyCompany/com.mycompany.abc/target/com.mycompany.abc-1.0-SNAPSHOT.apk到HT9CPP805008_HTC_NexusOne

但这不是真的,我的设备上没有安装 apk,在应用程序下找不到。我目前可以真正安装 apk 的唯一方法是通过解决方法,因为android:deploy它似乎无法正常工作。(虽然 adb 本身工作正常,但我可以通过 adb 手动运行任何命令(推送、安装等),它也可以毫无问题地找到我的设备。我在 Mac OS X Lion 上使用 adb v1.0.29)

更新:

这是我刚刚发现的一个有趣的发现:如果我之前已经在我的设备上安装了该应用程序然后运行 ​​maven,那么它会首先取消部署旧的 apk,然后重新部署新的 apk android:deploy/run。这行得通!但是 - 如果我之前根本没有在我的设备上安装该应用程序,或者在运行 maven 之前手动删除该应用程序,它将无法正常工作。更改from to的值在这里也没有任何区别。<undeployBeforeDeploy>truefalse

以前有人遇到过这个问题吗?

pom.xml:

0 投票
2 回答
852 浏览

android - android-maven-plugin,仪器测试和 testSize

我正在使用 Maven 来构建、运行和测试我的 Android 应用程序。Android 测试框架具有三个不同的测试范围@SmallTest@MediumTest@LargeTest,并且 android-maven-plugin 可以通过testTestSizetest/testSize参数选择测试范围。此参数可以是其中之一,small|medium|large并且可以从相关范围运行您的测试。

但是,如果我想同时运行小型和中型测试,不仅是小型测试还是中型测试,我该怎么办?这个问题的任何解决方案存在吗?

0 投票
1 回答
2192 浏览

android - Maven 构建 Android 应用程序 - BuildConfig

在尝试使用 Maven 构建 Android 项目时,我认识到 maven-android-plugin 在构建时不会自动生成 BuildConfig 类。我找到了一张关于该问题的票和一个 Google Groups 线程。

问题:http ://code.google.com/p/maven-android-plugin/issues/detail?id=275

谷歌组:http ://groups.google.com/group/maven-android-developers/browse_thread/thread/cc74267bbb7baebb/4e63b710513bb535?lnk=gst&q=BuildConfig#4e63b710513bb535

问题线程中的快速破解建议创建另一个微型 maven 项目以在构建期间使用配置文件开关设置 BuildConfig.DEBUG 变量。这将迫使我为每个小应用程序构建一个多模块项目。

Google Groups 线程中的建议对我来说听起来不错(从 SDK 执行 Ant 任务以生成 BuildConfig 类),但在深入研究 build.xml 并尝试完成这项工作后,我放弃了。

有人为 maven+android 的 BuildConfig 问题找到了实用的解决方案吗?

0 投票
2 回答
1459 浏览

android - Android Maven 编译失败

我已经为此苦苦挣扎了好几个小时......我有一个 maven Android lib 项目,编译它失败并显示以下调试输出:

请注意,类路径变量之一是:C:\Users\TacB0sS.m2\repository\com\google\android\android\3.2_r1\android-3.2_r1.jar

我已经两次和三次检查了这个,我确定这些方法和类在上面的 jar 中,在 Eclipse 中我在标准构建路径中使用相同的 jar,它编译得很好,浏览它也显示了对象和方法包括在内。

我错过了什么?

更新:

一些有效的pom:

0 投票
1 回答
1030 浏览

jenkins - jenkins-maven-android 运行时抛出错误“android-sdk-linux/platforms”不是目录”

我开始设置 jenkins-maven-android 并且在运行 jenkin 作业时遇到问题

目标 com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources 的执行 default-generate-sources 失败:路径“/opt/android-sdk-linux/platforms”不是一个目录。请提供正确的 Android SDK 目录路径作为配置参数

请帮我解决这个问题..

我的机器详细信息 $uname -a

Linux development2 3.0.0-12-virtual #20-Ubuntu SMP Fri Oct 7 18:19:02 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

我在 ~/.bashrc 中设置了 ENV 变量

Jenkins 中的堆栈跟踪:

0 投票
1 回答
359 浏览

android - 使用android maven插件时出现片段问题

我有一个集成了 maven 的 android 项目,插件部分在这里

一切顺利,就在我集成了 Fragment 之后,它停止从 mvn 命令行构建。

我已经检查并在 aapt 调用中存在 android 库...\android-sdk-windows\platforms\android-13\android.jar

我收到一些错误,其中包含

作为 mvn clean install 上的编译错误

我可以切换到使用支持库,但我更喜欢使用 android.app.Fragment。有人知道我错过了什么吗?

0 投票
2 回答
1453 浏览

android - NoClassDefFoundError 使用 Android 应用程序、Maven 和 Eclipse 开发库

我正在开发一个 Android 库 ( SiriRestClient ),其工件通过 Maven 进行管理,并且我正在使用 Eclipse 进行开发。我将工件打包为 JAR 文件,因为我在项目中没有任何资产,只有 Java 类,并且存在使用 Eclipse/Maven/ADT 将工件打包为 apklib 的问题

我还在开发一个依赖于 SiriRestClient 库的 Android 用户界面应用程序 ( SiriRestClientUI )。我正在通过 Maven 管理对 SiriRestClient 库的依赖。

项目在 Eclipse 中独立构建和部署。

问题:

由于我开始通过 Maven 管理 SiriRestClientUI 对 SiriRestClient 库的依赖关系,如果我在 Eclipse 中同时打开了库项目和 SiriRestClientUI,NoClassDefFoundError当我尝试将 SiriRestClientUI 应用程序部署到设备时,我会得到一个。

例如:

这是库和应用程序同时开发过程中的主要烦恼,因为我发现的唯一解决方法是编辑库代码,构建库项目,关闭库项目,然后执行 SiriRestClientUI 应用程序。

我认为这个问题源于库项目打开时 Eclipse/Maven 如何处理 Maven 依赖项。

这是一个 Eclipse 屏幕截图,显示了 SiriRestClientUI 项目,当库项目(SiriRestClient,在其上方)关闭时:

在此处输入图像描述

您可以在“Maven 依赖项”下看到该sirirestclient-1.0.0-SNAPSHOT.jar文件是从我的本地 Maven 存储库中提取的,这正是我想要的。在这种配置下,一切正常。

但是,当我打开 SiriRestClient 库项目时,我的“Maven 依赖项”条目发生了变化,JAR 文件消失了,而是显示了该项目的文件夹:

在此处输入图像描述

如果我在两个项目都打开时尝试启动 SiriRestClientUI,那么我会得到NoClassDefFoundError. 因此,似乎 Eclipse 正在重定向项目构建并且未包含库类。

问题:

如何配置 Eclipse/Maven 使其始终依赖本地 Maven 存储库中的 JAR 文件,而不是将 Maven 依赖项切换到本地项目?

或者,有没有另一种方法可以摆脱NoClassDefFoundError这种配置?

库项目的 pom.xml 文件在此处

SiriRestClientUI 应用程序项目的 pom.xml 文件位于此处

0 投票
1 回答
252 浏览

android - POM 策略多个 Git 存储库和一个库项目

我已经开始了将我的 Android 项目移植到使用 Maven 的艰巨任务。我在查找有关组织我的 pom 文件和依赖项的最佳方式的信息时遇到了一些麻烦。我有两个 Android 应用程序,它们都使用包含资源和网络代码的同一个 Android 库项目。所有三个项目都使用 git 进行源代码控制,并在 github 上的单独存储库中进行。我将所有 3rd 方库依赖项都放在 Library Project 上,例如 Action Bar Sherlock、View Pager Indicator 等,并使用该库将它们导出到项目中。

我想让我的团队的其他成员尽可能轻松地使用它们的依赖项构建这两个 Android 应用程序。我应该将所有三个 repos 克隆到同一个目录中并使 pom 依赖于假设同一目录的库,还是将一个 git repo 与父 pom 与 git sub modules 和 pom 模块一起使用会更好?但是,我担心这会变得太混乱。