2014-08-28 29 views
9

一個完美運行的應用程序項目已經開始在Android Studio中給出這個錯誤。我嘗試了各種方式,例如更改Main.xml文件的結構,更改Google Play服務版本等,但沒有任何幫助。此錯誤顯示在顯示選項卡中,我嘗試使用api 18進行查看。同樣由於某種原因,插頁式廣告的填充率已降至0,並返回NO_FILL。java.lang.VerifyError:期望在分支目標處有堆棧圖幀57

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) 

的build.gradle

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.+' 
} 

回答

1

由於我不能標記這個問題,我發佈了其他thread的答案。

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.+' 
} 
+1

我試過了,但它幫不了我。 – 2014-09-15 04:13:03

1

隨着JDK 5有一個新的類型檢查介紹(見JVM options,UseSplitVerifier),但默認情況下禁用。當你定義

targetCompatibility JavaVersion.VERSION_1_7 

構建將使用此功能的字節碼(見:JVMS 4.10.1. Verification by Type Checking4.7.4. The StackMapTable Attribute)。要禁用此功能,您可以將選項-XX:-UseSplitVerifier傳遞給java c

+0

我已經使用的應用程序的的build.gradle compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 }從一開始,它並沒有幫助。 https://gist.github.com/donniezazen/ead9fd8a2505eda11884 – 2014-09-10 14:29:46

+0

如果您沒有使用任何特定的JDK 7功能,請嘗試使用VERSION_1_5。 – SubOptimal 2014-09-11 11:21:32

+0

Gail在3天前發佈了正確的[答案](http://stackoverflow.com/a/25748196/3034693)。而且我無法刪除1.7兼容性,因爲我在switch語句中使用了String。 – 2014-09-12 18:38:02

2

我有同樣的問題。並搜查了很多,但沒有答案幫助我。

我想這可能是谷歌播放服務漏洞

然後我得到新的API從我的朋友的電腦(在他的電腦他的API完美地工作,所以我只是替換了它在工作。) here is my friends api

試試這個API可能會幫助你。

+0

謝謝,這個API也可以幫助我,它適合我。 – 2014-09-17 08:48:18

+0

雖然這不是我想要的答案,但這只是解決我的問題的答案。所以你得到+50 Crazy Proggrammer先生。 – 2014-09-18 04:07:41

+1

你真棒!謝謝!! :) – nithinreddy 2014-09-27 11:17:32