web-dev-qa-db-fra.com

java.lang.NoSuchMethodError: Aucune méthode statique setOnApplyWindowInsetsListener

J'ai mis à jour mon Android studio vers 2.1.3. Et maintenant, je reçois l'erreur suivante

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)

en ligne setContentView(R.layout.activity_splash_screen);

Mon extrait de code est

public class SplashScreen extends AppCompatActivity {

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

Je n'ai aucune idée de ce qui s'est exactement passé lors de la mise à niveau.

16
Kuldeep Yadav

J'ai mis à jour mon Android studio vers 2.1.3. Et maintenant, je reçois l'erreur suivante

Je souffre également du même problème. Mais j'étais résolu comme suit.

La raison de cette exception est AppcompatActivity dérivée de la bibliothèque v7. nous devons donc fournir une bibliothèque appropriée en fonction de votre gradle et de votre SDK.

  1. devrait également mettre à jour les bibliothèques de dépendances.
  2. Cliquez avec le bouton droit sur le projet dans la structure du projet -> sélectionnez Ouvrir les paramètres du module et sélectionnez l'onglet des dépendances -> Module de bibliothèque -> puis tapez la bibliothèque que vous souhaitez ajouter au projet. Il affiche les dernières bibliothèques en fonction de votre version mise à jour Gradle, puis sélectionnez la dernière et supprimez la version existante.

Par exemple, dans mon projet, la version "appcompat-v7" est 23.4.0, puis j'ai été remplacé par 24.2.0.

24
Kona Suresh

J'ai eu cette erreur à cause de plusieurs versions de la même bibliothèque.

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

Le Butterknife ajoutait la nouvelle version de l'appcombat lib. Je l'ai vérifié en utilisant

./gradlew -q dependencies app:dependencies

Le fonctionnement de Gradle met automatiquement à jour la bibliothèque vers une nouvelle version de bibliothèque, si disponible. J'ai donc ajouté le code suivant

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

Cela s'est bien passe apres cela.

17
Harish Rana