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.
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.
Par exemple, dans mon projet, la version "appcompat-v7" est 23.4.0, puis j'ai été remplacé par 24.2.0.
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.