jenkins-maven-android when running throwing the er

2019-07-10 04:28发布

I start setting up the jenkins-maven-android and i'm facing an issue when running the jenkin job

Execution default-generate-sources of goal com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources failed: Path "/opt/android-sdk-linux/platforms" is not a directory. Please provide a proper Android SDK directory path as configuration parameter

Please help me to fix this issue..

My Machine Details $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

I've set the ENV Variables in ~/.bashrc

#JAVA_HOME 
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk 
export PATH=$JAVA_HOME:$PATH

#Android PATH 
export ANDROID_HOME=/opt/android-sdk-linux 
export PATH=$ANDROID_HOME:$PATH
export PATH=${PATH}:$ANDROID_HOME/tools export
PATH=${PATH}:$ANDROID_HOME/platform-tools

#Apache Maven 
export M2_HOME=/opt/apache-maven-3.0.4 
export M2=$M2_HOME/bin 
export MAVEN_OPTS="-Xms256m -Xmx512m" 
export PATH=$M2:$PATH

 root@development2:~# mvn -version 

Apache Maven 3.0.4 (r1232337;2012-01-17 08:44:56+0000) 
Maven home: /opt/apache-maven-3.0.4 
Java version: 1.6.0_24, vendor: Sun Microsystems Inc. 
Java home:/usr/lib/jvm/java-6-openjdk/jre 
Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.0.0-12-virtual", arch:
 "amd64", family: "unix"

Stack Trace in Jenkins:

 mavenExecutionResult exceptions not empty message : Failed to execute
 goal
 com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources
 (default-generate-sources) on project base-template: Execution
 default-generate-sources of goal
 com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources
 failed: Path "/opt/android-sdk-linux/platforms" is not a directory.
 Please provide a proper Android SDK directory path as configuration
 parameter <sdk<path...</path</sdk in the plugin <configuration/.
 As an alternative, you may add the parameter to commandline:
 -Dandroid.sdk.path=... or set environment variable ANDROID_HOME. cause : Execution default-generate-sources of goal
 com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources
 failed: Path "/opt/android-sdk-linux/platforms" is not a directory.
 Please provide a proper Android SDK directory path as configuration
 parameter <sdk<path...</path</sdk in the plugin <configuration/.
 As an alternative, you may add the parameter to commandline:
 -Dandroid.sdk.path=... or set environment variable ANDROID_HOME. Stack trace :  org.apache.maven.lifecycle.LifecycleExecutionException:
 Failed to execute goal
 com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources
 (default-generate-sources) on project base-template: Execution
 default-generate-sources of goal
 com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources
 failed: Path "/opt/android-sdk-linux/platforms" is not a directory.
 Please provide a proper Android SDK directory path as configuration
 parameter <sdk<path...</path</sdk in the plugin <configuration/.
 As an alternative, you may add the parameter to commandline:
 -Dandroid.sdk.path=... or set environment variable ANDROID_HOME.   at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225)
    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:57)
    at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)     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:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)     at
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679) Caused by:
 org.apache.maven.plugin.PluginExecutionException: Execution
 default-generate-sources of goal
 com.jayway.maven.plugins.android.generation2:android-maven-plugin:3.1.1:generate-sources
 failed: Path "/opt/android-sdk-linux/platforms" is not a directory.
 Please provide a proper Android SDK directory path as configuration
 parameter <sdk<path...</path</sdk in the plugin <configuration/.
 As an alternative, you may add the parameter to commandline:
 -Dandroid.sdk.path=... or set environment variable ANDROID_HOME.   at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
    at
 org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 27 more Caused by:
 com.jayway.maven.plugins.android.InvalidSdkException: Path
 "/opt/android-sdk-linux/platforms" is not a directory. Please provide
 a proper Android SDK directory path as configuration parameter
 <sdk<path...</path</sdk in the plugin <configuration/. As an
 alternative, you may add the parameter to commandline:
 -Dandroid.sdk.path=... or set environment variable ANDROID_HOME.   at com.jayway.maven.plugins.android.AndroidSdk.assertPathIsDirectory(AndroidSdk.java:125)
    at
 com.jayway.maven.plugins.android.AndroidSdk.getPlatformDirectories(AndroidSdk.java:285)
    at
 com.jayway.maven.plugins.android.AndroidSdk.findAvailablePlatforms(AndroidSdk.java:260)
    at
 com.jayway.maven.plugins.android.AndroidSdk.<init(AndroidSdk.java:80)
    at
 com.jayway.maven.plugins.android.AbstractAndroidMojo.getAndroidSdk(AbstractAndroidMojo.java:844)
    at
 com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.generateR(GenerateSourcesMojo.java:329)
    at
 com.jayway.maven.plugins.android.phase01generatesources.GenerateSourcesMojo.execute(GenerateSourcesMojo.java:102)
    at
 org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
    ... 28 more channel stopped Finished: FAILURE

1条回答
Ridiculous、
2楼-- · 2019-07-10 04:59

Seems you don't have correct permission to Android SDK path. Please check from which user that Jenkins is running. try 'ps -ef' check the user.

Login in from that user and try to access the Android SDK folder.

if you don't have access then provide relavent permission the Android SDK path.

查看更多
登录 后发表回答