来源未发现BaseGameUtilities Android Studio中 [英] Sources not found BaseGameUtilities in 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本身 - 的Android只支持最多讨论了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 theBaseGameUtils
and thePlayGamesServices
, andAndroid 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屋!