jenkins-maven-android when running throwing the error “android-sdk-linux/platforms” is not a directory"

谁说胖子不能爱 提交于 2019-12-11 02:43:43

问题


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:


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.



来源:https://stackoverflow.com/questions/12532510/jenkins-maven-android-when-running-throwing-the-error-android-sdk-linux-platfor

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!