来源未发现BaseGameUtilities Android Studio中 [英] Sources not found BaseGameUtilities in Android Studio

查看:270
本文介绍了来源未发现BaseGameUtilities Android Studio中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在试图安装谷歌播放服务了好几个小时,但试图到处搜索后,我似乎无法找到一个解决我的问题。我想我已经进口的两个 BaseGameUtils PlayGamesServices Android的工作室自动识别这些在我的应用程序现在,这对我来说看起来他们得到落实。

然而,当我尝试添加的登录按钮

 < com.google.android.gms.common.SignInButton
    机器人:ID =@ + ID / bHighScore
    机器人:layout_width =WRAP_CONTENT
    机器人:layout_height =WRAP_CONTENT
    机器人:layout_alignBaseline =@ + ID /按钮1
    机器人:layout_alignBottom =@ + ID /按钮1
    机器人:layout_marginLeft =98dp
    机器人:layout_toRightOf =@ + ID /按钮1
    机器人:文字=积分榜
    />

报告说,

 以下类不能被实例化:
- com.google.android.gms.common.SignInButton(公开课,显示异常)
java.lang.VerifyError:期待在分支目标13 stackmap框架

异常详细信息:
  位置:
    COM /谷歌/安卓/ GMS /普通/ SignInButton.setStyle(II)V @ 1:IFLT
  原因:
    在这个位置有望stackmap框架。


  

字节code:


  0000000:1b9b 000C 1b06 A200 A700 0704 0403 1206
0000010:04bd 0014 5903 1bb8 002C 53b8 0028 1c9b
0000020:000C 1c05 A200 A700 0704 1207 0403 04bd
0000030:0014 5903 1cb8 002C 53b8 0028 2a1b B500
0000040:182A 1cb5 0015 2a2a B600 23b7 0027 B1在java.lang.Class.getDeclaredConstructors0(本机方法)
在java.lang.Class.privateGetDeclaredConstructors(Class.java:2658)
在java.lang.Class.getConstructor0(Class.java:2964)
在java.lang.Class.getConstructor(Class.java:1812)
在org.jetbrains.android.ui preview.ViewLoader.createNewInstance(ViewLoader.java:310)
在org.jetbrains.android.ui preview.ViewLoader.loadView(ViewLoader.java:100)
在com.android.tools.idea.rendering.LayoutlibCallback.loadView(LayoutlibCallback.java:172)
在android.view.BridgeInflater.loadCustomView(BridgeInflater.java:207)
在android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:132)
在android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:802)
在android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)
在android.view.LayoutInflater.rInflate(LayoutInflater.java:778)
在android.view.LayoutInflater.inflate(LayoutInflater.java:500)
在android.view.LayoutInflater.inflate(LayoutInflater.java:381)
在com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:400)
在com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:329)
在com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
在com.android.tools.idea.rendering.RenderService $ 3.compute(RenderService.java:575)
在com.android.tools.idea.rendering.RenderService $ 3.compute(RenderService.java:564)
在com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932)
在com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:564)
在com.android.tools.idea.rendering.RenderService.render(RenderService.java:691)
在org.jetbrains.android.ui$p$pview.AndroidLayout$p$pviewToolWindowManager.doRender(AndroidLayout$p$pviewToolWindowManager.java:586)
在org.jetbrains.android.ui$p$pview.AndroidLayout$p$pviewToolWindowManager.access$1900(AndroidLayout$p$pviewToolWindowManager.java:80)
在org.jetbrains.android.ui$p$pview.AndroidLayout$p$pviewToolWindowManager$6$1.run(AndroidLayout$p$pviewToolWindowManager.java:528)
在com.intellij.openapi.progress.impl.ProgressManagerImpl $ 2.run(ProgressManagerImpl.java:178)
在com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
在com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
在com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
在org.jetbrains.android.ui$p$pview.AndroidLayout$p$pviewToolWindowManager$6.run(AndroidLayout$p$pviewToolWindowManager.java:523)
在com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
在com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
在com.intellij.util.ui.update.MergingUpdateQueue $ 2.run(MergingUpdateQueue.java:254)
在com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
在com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
在com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
在com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
在com.intellij.util.Alarm $ $请求1.run(Alarm.java:327)
在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:617)
在java.lang.Thread.run(Thread.java:745)

当我打开它说没有找到源类的,我不知道要放什么东西在附加来源。

任何帮助将大大AP preciated。


解决方案

<一个href=\"http://stackoverflow.com/questions/25149692/compilation-issue-in-android-studio-with-google-play-services/25149764?noredirect=1#comment39151806_25149764\">I有这个同样的问题,用汇编问题一起。

如果您正试图编译为Java JDK 8字节code,那么问题实际上采用的是Android本身 - 的Andr​​oid只支持最多讨论了Java JDK 7的here.然而,你可以,因为这一篇文章中提到的,请尝试使用复古的lambda ,它通过巫毒教我不懂java的转换8个字节的code回到Java 7。

这并不意味着你不能使用JDK 1.8,你只需要编译为Java字节7 code,因此本机无法使用的Java 8语法糖。

要在您的手机的build.gradle解决这个问题(这里就是我的是)

 应用插件:'com.android.application安卓{
    compileSdkVersionAndroid的L'
    buildToolsVersion '20 .0.0    defaultConfig {
        的applicationIDcom。示例
        17的minSdkVersion
        targetSdkVersion'L'
        版本code 1
        的versionName1.0
    }
    buildTypes {
        发布 {
            runProguard假
            proguardFiles getDefaultProguardFile('proguard的-android.txt'),'proguard-rules.pro
        }
    }    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}依赖{
    应用插件:FindBugs的'
    编译文件树(导演:'库',包括:['的* .jar'])
    wearApp项目(':穿')
    编译com.google.android.gms:播放服务:5.0.89
}

改变编译选项为:

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

I have been trying to install Google Play Services for quite a few hours, but after trying to search everywhere I can't seem to find a solution to my problem. I think I have imported both the BaseGameUtils and the PlayGamesServices, and Android Studio automatically recognizes these in my app now, which for me seem like they are implemented.

However when I try to add the sign in button

<com.google.android.gms.common.SignInButton
    android:id="@+id/bHighScore"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/button1"
    android:layout_alignBottom="@+id/button1"
    android:layout_marginLeft="98dp"
    android:layout_toRightOf="@+id/button1"
    android:text="Highscore"
    />

It says

The following classes could not be instantiated:
- com.google.android.gms.common.SignInButton (Open Class, Show Exception)
java.lang.VerifyError: Expecting a stackmap frame at branch target 13

Exception Details: Location: com/google/android/gms/common/SignInButton.setStyle(II)V @1: iflt Reason: Expected stackmap frame at this location.

Bytecode:

0000000: 1b9b 000c 1b06 a200 0704 a700 0403 1206
0000010: 04bd 0014 5903 1bb8 002c 53b8 0028 1c9b
0000020: 000c 1c05 a200 0704 a700 0403 1207 04bd
0000030: 0014 5903 1cb8 002c 53b8 0028 2a1b b500
0000040: 182a 1cb5 0015 2a2a b600 23b7 0027 b1  

at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2658)
at java.lang.Class.getConstructor0(Class.java:2964)
at java.lang.Class.getConstructor(Class.java:1812)
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.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:586)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1900(AndroidLayoutPreviewToolWindowManager.java:80)
at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$6$1.run(AndroidLayoutPreviewToolWindowManager.java:528)
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$6.run(AndroidLayoutPreviewToolWindowManager.java:523)
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:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

And when I open the class it says Sources not found and I have no idea what to put in the attached sources.

Any help would be greatly appreciated.

解决方案

I had this same issue, along with a compilation problem.

If you are attempting to compile to java 8 jdk bytecode, then the problem is actually in android itself -- Android only supports up to the java 7 jdk discussed here. However, you can, as mentioned in that article, try using retro-lambda, which via voodoo I don't understand converts java 8 bytecode back to java 7.

This does not mean you can't use jdk 1.8, you just have to compile to java 7 bytecode, and therefore natively cannot use java 8 syntactic sugar.

To fix this in your mobile build.gradle (here's what mine was)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-L'
    buildToolsVersion '20.0.0'

    defaultConfig {
        applicationId "com.example"
        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'
}

change the compile options to:

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

这篇关于来源未发现BaseGameUtilities Android Studio中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆