2016-07-05 25 views
10

Ho trascorso un giorno al CircleCI in Android Project e continuo a ricevere java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin: versione major.minor non supportata 52.0 quando CircleCI esegue il comando gradle dependencies. Ecco uno stacktrace che mostra:CircleCI Android non supportata major.minor versione 52.0

* Where: 
Build file '/home/ubuntu/MyProject/app/build.gradle' line: 1 

* What went wrong: 
A problem occurred evaluating project ':app'. 
> java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0 

* Try: 
Run with --info or --debug option to get more log output. 

* Exception is: 
org.gradle.api.GradleScriptException: A problem occurred evaluating project ':app'. 
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:93) 
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl$1.run(DefaultScriptPluginFactory.java:144) 
    at org.gradle.configuration.ProjectScriptTarget.addConfiguration(ProjectScriptTarget.java:72) 
    at org.gradle.configuration.DefaultScriptPluginFactory$ScriptPluginImpl.apply(DefaultScriptPluginFactory.java:149) 
    at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:38) 
    at org.gradle.configuration.project.BuildScriptProcessor.execute(BuildScriptProcessor.java:25) 
    at org.gradle.configuration.project.ConfigureActionsProjectEvaluator.evaluate(ConfigureActionsProjectEvaluator.java:34) 
    at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:55) 
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:510) 
    at org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:90) 
    at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:47) 
    at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:35) 
    at org.gradle.initialization.DefaultGradleLauncher$2.run(DefaultGradleLauncher.java:125) 
    at org.gradle.internal.Factories$1.create(Factories.java:22) 
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) 
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52) 
    at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:122) 
    at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32) 
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99) 
    at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93) 
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90) 
    at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62) 
    at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93) 
    at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82) 
    at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94) 
    at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28) 
    at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) 
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43) 
    at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28) 
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78) 
    at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:48) 
    at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:52) 
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) 
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) 
    at org.gradle.util.Swapper.swap(Swapper.java:38) 
    at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.health.DaemonHealthTracker.execute(DaemonHealthTracker.java:47) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:66) 
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72) 
    at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.health.HintGCAfterBuild.execute(HintGCAfterBuild.java:41) 
    at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120) 
    at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) 
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:246) 
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54) 
    at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40) 
Caused by: com.google.common.util.concurrent.ExecutionError: java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0 
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199) 
    at com.google.common.cache.LocalCache.get(LocalCache.java:3934) 
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938) 
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821) 
    at org.gradle.api.internal.plugins.DefaultPluginRegistry.uncheckedGet(DefaultPluginRegistry.java:149) 
    at org.gradle.api.internal.plugins.DefaultPluginRegistry.lookup(DefaultPluginRegistry.java:144) 
    at org.gradle.api.internal.plugins.DefaultPluginRegistry.lookup(DefaultPluginRegistry.java:127) 
    at org.gradle.api.internal.plugins.DefaultPluginManager.apply(DefaultPluginManager.java:108) 
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.applyType(DefaultObjectConfigurationAction.java:112) 
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.access$200(DefaultObjectConfigurationAction.java:35) 
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction$3.run(DefaultObjectConfigurationAction.java:79) 
    at org.gradle.api.internal.plugins.DefaultObjectConfigurationAction.execute(DefaultObjectConfigurationAction.java:135) 
    at org.gradle.api.internal.project.AbstractPluginAware.apply(AbstractPluginAware.java:46) 
    at org.gradle.api.plugins.PluginAware$apply.call(Unknown Source) 
    at org.gradle.api.internal.project.ProjectScript.apply(ProjectScript.groovy:35) 
    at org.gradle.api.Script$apply$0.callCurrent(Unknown Source) 
    at build_3t8kcqhef15uw367iarbj60nz.run(/home/ubuntu/MyProject/app/build.gradle:1) 
    at org.gradle.groovy.scripts.internal.DefaultScriptRunnerFactory$ScriptRunnerImpl.run(DefaultScriptRunnerFactory.java:91) 
    ... 58 more 
Caused by: java.lang.UnsupportedClassVersionError: com/android/build/gradle/AppPlugin : Unsupported major.minor version 52.0 
    at org.gradle.api.internal.plugins.DefaultPluginRegistry$1.load(DefaultPluginRegistry.java:71) 
    at org.gradle.api.internal.plugins.DefaultPluginRegistry$1.load(DefaultPluginRegistry.java:51) 
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524) 
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317) 
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280) 
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195) 
    ... 75 more 


BUILD FAILED 

Total time: 33.396 secs 

Qui è la mia configurazione nel file di .yml:

machine: 
java: 
version: openjdk7 
environment: 
ANDROID_HOME: /usr/local/android-sdk-linux 

dependencies: 
pre: 
- echo y | android update sdk --no-ui --all --filter "tools" 
- echo y | android update sdk --no-ui --all --filter "platform-tools" 
- echo y | android update sdk --no-ui --all --filter "build-tools" 
- echo y | android update sdk --no-ui --all --filter "android-24" 
- echo y | android update sdk --no-ui --all --filter "extra-google-m2repository" 
- echo y | android update sdk --no-ui --all --filter "extra-google-google_play_services" 
- echo y | android update sdk --no-ui --all --filter "extra-android-support" 
- echo y | android update sdk --no-ui --all --filter "extra-android-m2repository" 
- (./gradlew -version): 
timeout: 360 
#override: 
#- ANDROID_HOME=/usr/local/android-sdk-linux ./gradlew dependencies 

checkout: 
post: 
- git submodule init 
- git submodule update 
test: 
override: 
- (./gradlew assemble -PdisablePreDex): 
timeout: 360 
- cp -r ${HOME}/${CIRCLE_PROJECT_REPONAME}/app/build/outputs/apk/ $CIRCLE_ARTIFACTS 
- emulator -avd circleci-android22 -no-audio -no-window: 
background: true 
parallel: true 
# wait for it to have booted 
- circle-android wait-for-boot 
# run tests against the emulator. 
- ./gradlew connectedAndroidTest 
deployment: 
staging: 
branch: staging 
commands: 
- (./gradlew clean assembleStaging crashlyticsUploadDistributionStaging -PdisablePreFex): 
timeout: 720 

ho impostato compileOptions java in build.gradle alla versione 1.7 e abilitare l'Databinding.

android { 
... 
compileOptions { 
sourceCompatibility JavaVersion.VERSION_1_7 
targetCompatibility JavaVersion.VERSION_1_7 
} 
} 

Qualcuno ha affrontato questo problema prima? Per favore dammi alcuni consigli. Grazie.

risposta

14

Si ottiene questo errore perché un Java 7 VM cerca di caricare una classe compilato per Java 8

Java 8 ha il file di classe versione 52.0, ma un Java 7 VM può solo carico file di classe fino alla versione 51.0

Nel tuo caso la Java 7 VM è il vostro costruire Gradle e la classe è com.android.build.gradle.AppPlugin

Please give me some advices.

tenta di aggiornare il tuo .yml di configurazione in modo da utilizzare un Java 8 VM:

machine: 
    java: 
    version: openjdk8 # This line is what you need. 
    environment: 
    ANDROID_HOME: /usr/local/android-sdk-linux 
+0

Grazie, questo risolve un problema, ma è solo venire con un altro :(. Creerò un nuovo thread. Inoltre ho rimosso compileOptions. – Jutikorn

+0

Mi è successo su una macchina Jenkins. Dovevo installare manualmente JDK 8 su di esso per risolverlo. Grazie per il suggerimento –

+0

salvato la mia giornata :) – sha

Problemi correlati