使用Google Play服务的Android Studio中的编译问题

我正在运行AndroidStudio 0.8.4,并在AndroidStudio 0.8.2上试过这个。
我正在运行Java JDK 1.8.0_11并尝试使用JDK 1.8.0_05。

每当我尝试构建我的android工作室项目 – Build -> Rebuild Project – 或尝试运行该应用程序时,我收到以下错误:

An exception has occurred in the compiler (1.8.0_11). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you. com.sun.tools.javac.code.Symbol$CompletionFailure: class file for java.lang.invoke.MethodType not found

这是我的build.gradle:mobile模块:

 apply plugin: 'com.android.application' android { compileSdkVersion 'android-L' buildToolsVersion '20.0.0' defaultConfig { applicationId "com.energy.dartboard.dartboard" minSdkVersion 17 targetSdkVersion 'L' versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } dependencies { apply plugin: 'findbugs' compile fileTree(dir: 'libs', include: ['*.jar']) wearApp project(':wear') compile 'com.google.android.gms:play-services:5.0.89' } 

我怀疑这是Google Play服务的一个问题,因为我在设计视图中使用Google+登录按钮尝试预览我的xml布局文件(如下)时出现以下错误:

 java.lang.VerifyError: Expecting a stackmap frame at branch target 15 Exception Details: Location: com/google/android/gms/common/SignInButton.C(Landroid/content/Context;)V @4: ifnull Reason: Expected stackmap frame at this location. Bytecode: 0000000: 2ab4 0016 c600 0b2a 2ab4 0016 b600 262a 0000010: 2b2a b400 182a b400 15b8 0029 b500 16a7 0000020: 001c 4d12 0512 04b8 001a 572a 2b2a b400 0000030: 182a b400 15b8 0022 b500 162a 2ab4 0016 0000040: b600 232a b400 162a b600 25b6 001b 2ab4 0000050: 0016 2ab6 001c b1 Exception Handler Table: bci [15, 31] => handler: 34 at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) at java.lang.Class.getConstructor0(Class.java:2803) at java.lang.Class.getConstructor(Class.java:1718) at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:310) at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:100) at com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:172) at android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207) at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:132) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:802) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) at android.view.LayoutInflater.rInflate(LayoutInflater.java:778) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:805) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) at android.view.LayoutInflater.rInflate(LayoutInflater.java:778) at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:805) at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64) at android.view.LayoutInflater.rInflate(LayoutInflater.java:778) at android.view.LayoutInflater.inflate(LayoutInflater.java:500) at android.view.LayoutInflater.inflate(LayoutInflater.java:381) at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:400) at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:329) at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332) at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.java:575) at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.java:564) at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932) at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:564) at com.android.tools.idea.rendering.RenderService.render(RenderService.java:691) at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:604) at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1900(AndroidLayoutPreviewToolWindowManager.java:80) at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:546) at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178) at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209) at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171) at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:541) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320) at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310) at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254) at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269) at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227) at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217) at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238) at com.intellij.util.Alarm$Request$1.run(Alarm.java:327) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) 

和XML文件:

       

它使预览很好,但没有Google+登录按钮和错误消息。 没有Google Play服务的其他xml布局文件可以正常呈现,没有任何错误。

这个项目昨天没有问题,但是一旦我启动android studio并尝试构建它,它就给了我这个错误。

注意 :我已经尝试清理/重新构建项目,使android studio的缓存无效,并重新启动android studio。

我不认为使用Java 8可以实现android开发。但是使用Java 7肯定是可行的。尝试切换到Java 7:

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

我没有使用Android Studio,但我想你还需要在IDE GUI中的其他地方更改项目设置(指向Java 7 SDK并将语言级别设置为Java 7)。