android - 在 Jenkins 错误上使用 Maven 构建

标签 android maven jenkins

我正在尝试让一个 Android 应用程序在 Jenkins 上构建,但是它失败了,并显示了一条模糊的错误消息。该应用程序在我的机器上使用 Maven 构建良好,但它不适用于 Jenkins。我四处寻找解决方案,它说更新我所做的 android SDK,但它没有解决问题。这是完整的堆栈跟踪。

注意:我将 Google Play 服务和 Facebook SDK 项目引用为依赖项。

mavenExecutionResult exceptions not empty message : Failed to execute goal

com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.6.0:dex (default-dex) on project lv2-geosafe: cause : Stack trace : org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.6.0:dex (default-dex) on project lv2-geosafe: at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239) at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158) at hudson.maven.Maven3Builder.call(Maven3Builder.java:98) at hudson.maven.Maven3Builder.call(Maven3Builder.java:64) at hudson.remoting.UserRequest.perform(UserRequest.java:118) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:326) at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: org.apache.maven.plugin.MojoExecutionException: at com.jayway.maven.plugins.android.phase08preparepackage.DexMojo.runDex(DexMojo.java:382) at com.jayway.maven.plugins.android.phase08preparepackage.DexMojo.execute(DexMojo.java:145) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 27 more Caused by: com.jayway.maven.plugins.android.ExecutionException: ANDROID-040-001: Could not execute: Command = /bin/sh -c cd /root/.hudson/jobs/lv2/workspace/lv2-geosafe && /usr/local/jdk1.6.0_23/jre/bin/java -Xmx1024M -jar /usr/local/android-sdk/platform-tools/lib/dx.jar --dex --output=/root/.hudson/jobs/lv2/workspace/lv2-geosafe/target/classes.dex /root/.m2/repository/com/google/code/gson/gson/2.2.2/gson-2.2.2.jar /root/.m2/repository/com/unboundid/unboundid-ldapsdk/2.3.3/unboundid-ldapsdk-2.3.3.jar /root/.m2/repository/com/terrapages/mapapi/mapapi/1.0.0/mapapi-1.0.0.jar /root/.m2/repository/com/google/android/gms/google-play-services/2.3.0/google-play-services-2.3.0.jar /root/.hudson/jobs/lv2/workspace/lv2-util/target/lv2-util.jar /root/.m2/repository/com/google/android/support-v4/r7/support-v4-r7.jar /root/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.0.Final/hibernate-jpa-2.0-api-1.0.0.Final.jar /root/.hudson/jobs/lv2/workspace/lv2-model/target/lv2-model.jar /root/.m2/repository/org/hibernate/hibernate-commons-annotations/3.2.0.Final/hibernate-commons-annotations-3.2.0.Final.jar /root/.m2/repository/com/terrapages/ims/model/1.0.7/model-1.0.7.jar /root/.m2/repository/org/hibernate/hibernate-annotations/3.5.6-Final/hibernate-annotations-3.5.6-Final.jar /root/.m2/repository/com/github/avianey/facebook-android-api/3.0.1/facebook-android-api-3.0.1.jar /root/.m2/repository/ch/acra/acra/4.4.0/acra-4.4.0.jar /root/.m2/repository/com/github/avianey/facebook-android-api/3.0.1/facebook-android-api-3.0.1.apklib /root/.hudson/jobs/lv2/workspace/lv2-api/target/lv2-api-1.0.2-SNAPSHOT.jar /root/.m2/repository/com/terrapages/ims/util/1.0.7/util-1.0.7.jar /root/.hudson/jobs/lv2/workspace/lv2-geosafe/target/classes /root/.m2/repository/com/google/android/gms/google-play-services/2.3.0/google-play-services-2.3.0.apklib /root/.m2/repository/com/terrapages/ims/api/1.0.7/api-1.0.7.jar, Result = 1 at com.jayway.maven.plugins.android.CommandExecutor$Factory$DefaultCommandExecutor.executeCommand(CommandExecutor.java:246) at com.jayway.maven.plugins.android.phase08preparepackage.DexMojo.runDex(DexMojo.java:378) ... 30 more channel stopped Finished: FAILURE

最佳答案

好吧,深入研究你的堆栈跟踪你会看到这一行:

引起:com.jayway.maven.plugins.android.ExecutionException:ANDROID-040-001:无法执行:Command =/bin/sh -c cd/root/.hudson/jobs/lv2/workspace/lv2 -geosafe &&/usr/local/jdk1.6.0_23/jre/bin/java -Xmx1024M -jar/usr/local/android-sdk/platform-tools/lib/dx.jar --dex --output=/root/.hudson/jobs/lv2/workspace/lv2-geosafe/target/classes.dex ... 很多 jar ...,结果 = 1

如果您在终端中执行规定的命令(包括我在上面遗漏的 jar 文件列表,但不包括“, Result = 1”),您可能会收到有关此命令失败原因的更多信息。也许您在/usr/local/android-sdk 没有 Android SDK?

关于android - 在 Jenkins 错误上使用 Maven 构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17479626/

相关文章:

.net - 如何在 Jenkins 构建中从 SVN 监控中排除文件\文件夹

Jenkins Cron 表达式未在正确的时间安排

Android - 应用程序之间的共享变量

Android Studio/项目出现故障

安卓房间 : How to know if a primary key exists?

android-maven-plugin:3.8.0 需要 Maven 版本 3.1.1

android - 为 Android 开发流媒体服务器

Maven - 无法找到有效的认证路径

java - Jersey + hibernate = NoSuchMethodError : org. objectweb.asm.ClassReader.accept(Lorg/objectweb/asm/ClassVisitor

azure - Jenkins azure部署错误: az login error issuer