当前位置: 首页 > 知识库问答 >
问题:

java.lang.VerifyError:在分支目标57处期望堆栈图帧

柯翔
2023-03-14

一个运行良好的应用程序项目已经开始在Android Studio中给出这个错误。我尝试过各种各样的事情,比如改变主楼的结构。xml文件、更改Google Play服务版本等,但没有任何帮助。这个错误出现在“显示”选项卡中,我尝试使用api 18进行查看。此外,由于某些原因,间隙广告的填充率已降至0,并且不会返回任何填充。

The following classes could not be instantiated:
- com.google.android.gms.ads.AdView (Open Class, Show Exception)
 Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE

java.lang.VerifyError: Expecting a stackmap frame at branch target 57
Exception Details:
  Location:
    com/google/android/gms/ads/AdView.onMeasure(II)V @20: ifnull
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0000000: 033e 0336 042a 03b6 0015 3a05 2ab6 0014
    0000010: 3a06 1905 c600 2519 05b6 000b 1008 9f00
    0000020: 1b2a 1905 1b1c b600 1919 05b6 000a 3e19
    0000030: 05b6 0009 3604 a700 1f19 06c6 001a 2ab6
    0000040: 0016 3a07 1906 1907 b600 133e 1906 1907
    0000050: b600 1236 041d 2ab6 0018 b800 2a3e 1504
    0000060: 2ab6 0017 b800 2a36 042a 1d1b b800 0d15
    0000070: 041c b800 0db6 001a b1                 

at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2532)
at java.lang.Class.getConstructor0(Class.java:2842)
at java.lang.Class.getConstructor(Class.java:1718)
at org.jetbrains.android.uipreview.ViewLoader.createNewInstance(ViewLoader.java:309)
at org.jetbrains.android.uipreview.ViewLoader.loadView(ViewLoader.java:99)
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: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:745)

建筑格拉德尔

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:5.0.89'
    compile 'com.android.support:appcompat-v7:20.+'
    compile 'com.crashlytics.android:crashlytics:1.+'
}

共有3个答案

林俊晖
2023-03-14

因为我不能标记这个问题,所以我发布了另一个帖子的答案。

I had the same problem when trying to preview the custom view AdView. My
project is built using gradle via Intellij community edition (13.x) and 
I ended up changing the version of google play services from

compile 'com.google.android.gms:play-services:5.+'

to

compile 'com.google.android.gms:play-services:4.+'

specifically, I changed the dependencies section of my gradle file to look
like this:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:4.+'
}
公风史
2023-03-14

JDK 5引入了一种新的类型检查(请参阅JVM选项,UseSplitVerifier),但在默认情况下被禁用。正如你所定义的

targetCompatibility JavaVersion.VERSION_1_7

您构建的字节码将使用此功能(请参见:JVMS 4.10.1。类型检查验证和4.7.4。StackMapTable属性)。要禁用此功能,您可以将选项-XX:-UseSplitVeritify传递给java <罢工> C .

李森
2023-03-14

我也有同样的问题。搜索了很多,但没有一个答案能帮助我。

我想这可能是谷歌播放服务中的bug

然后我从我朋友的电脑上得到了新的API(在他的电脑上,他的API工作得很好,所以我只是替换了它,它就工作了。)这是我的朋友

试试这个api,这可能会对你有所帮助。

 类似资料: