2016-08-19 42 views
15

我升級了我的android studio到2.1.3。現在我得到以下錯誤java.lang.NoSuchMethodError:沒有靜態方法setOnApplyWindowInsetsListener

java.lang.NoSuchMethodError: No static method setOnApplyWindowInsetsListener(Landroid/view/View;Landroid/support/v4/view/OnApplyWindowInsetsListener;)V in class Landroid/support/v4/view/ViewCompatLollipop; or its super classes (declaration of 'android.support.v4.view.ViewCompatLollipop' appears in /data/data/com.restroshop.restroowner/files/instant-run/dex/slice-internal_impl-24.2.0_7c318f8d2adb03d07a9def5d35a14e39204ecef2-classes.dex) 
at android.support.v4.view.ViewCompat$LollipopViewCompatImpl.setOnApplyWindowInsetsListener(ViewCompat.java:1619) 
at android.support.v4.view.ViewCompat.setOnApplyWindowInsetsListener(ViewCompat.java:2924) 
at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:425) 
at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:312) 
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:277) 
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
at com.restroshop.restroowner.splash.SplashScreen.onCreate(SplashScreen.java:65) 
at android.app.Activity.performCreate(Activity.java:6033) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 
at android.app.ActivityThread.access$800(ActivityThread.java:151) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:135) 
at android.app.ActivityThread.main(ActivityThread.java:5254) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:902) 

符合​​

我的代碼段是

public class SplashScreen extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_splash_screen); // this line giving error 
    } 

我不知道在升級過程中究竟是什麼出了問題。

+1

請檢查您的等級文件上的每個「com.android.support:xxx:...」是否爲24.2.0 – ldemay

+0

謝謝@Idemay。它爲我工作。 –

+0

真棒,查看https://developer.android.com/topic/libraries/support-library/revisions.html#24-2-0-v4-refactor,現在分割了v4庫。 – ldemay

回答

23

我將我的android studio升級到2.1.3。而現在我得到以下錯誤

我也遭受同樣的問題。但我的解決方式如下。

此異常的原因是從v7庫派生的AppcompatActivity。所以我們應該根據你的Gradle和SDK提供適當的庫。

  1. 也應該更新依賴庫。
  2. 右鍵單擊項目結構中的項目 - >選擇打開模塊設置並選擇依賴關係選項卡 - >庫模塊 - >然後鍵入要添加到項目中的庫。它會根據您的gradle更新版本顯示最新的庫,然後選擇最新的庫並刪除現有的庫。

例如在我的項目「appcompat-v7」版本是23.4.0,然後我改爲24.2.0。

15

我有這個錯誤是由於同一個庫的多個版本。

compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.jakewharton:butterknife:8.5.1' 

butterknife添加了新版本的appcombat lib。 我檢查使用

./gradlew -q dependencies app:dependencies 

gradle這個作品,如果它可以自動更新庫新庫版本,該方法。 所以我添加以下代碼

compile('com.jakewharton:butterknife:8.5.1') { 
    exclude module: 'appcompat-v7' 
    exclude group: 'com.android.support' 
} 

它的工作之後的罰款。

+1

你買了我的編碼器...我從最後兩天掙扎..而事情是'排除模塊'這救了我...所以豎起大拇指給你... – Ashwani

+0

我能理解。我被困在這個問題上。這非常令人沮喪! –

+0

購買爲什麼發生這種錯誤? – Dennis

相關問題