J'ai mis à jour le SDK 23 et mis à jour le gradle.build vers l'API 23, la bibliothèque de support technique vers 23.0.0, etc. et j'obtiens maintenant l'erreur suivante lorsque j'essaie d'exécuter l'application (la compilation est parfaite).
Java.lang.NoSuchFieldError: No instance field mFragments of type Landroid/support/v4/app/FragmentManagerImpl; in class Landroid/support/v4/app/Watson; or its superclasses (declaration of 'Android.support.v4.app.Watson' appears in /data/app/com.my.app-1/base.apk)
at Android.support.v4.app.Watson.onCreatePanelMenu(Watson.Java:50)
at com.actionbarsherlock.ActionBarSherlock.callbackCreateOptionsMenu(ActionBarSherlock.Java:560)
at com.actionbarsherlock.internal.ActionBarSherlockNative.dispatchCreateOptionsMenu(ActionBarSherlockNative.Java:64)
at com.actionbarsherlock.app.SherlockFragmentActivity.onCreatePanelMenu(SherlockFragmentActivity.Java:164)
at com.Android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.Java:548)
at com.Android.internal.policy.impl.PhoneWindow.doInvalidatePanelMenu(PhoneWindow.Java:917)
at com.Android.internal.policy.impl.PhoneWindow$1.run(PhoneWindow.Java:258)
at Android.os.Handler.handleCallback(Handler.Java:739)
at Android.os.Handler.dispatchMessage(Handler.Java:95)
at Android.os.Looper.loop(Looper.Java:135)
at Android.app.ActivityThread.main(ActivityThread.Java:5221)
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:899)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:694)
Je suis revenu à l'API 22 sur tout et j'ai toujours l'erreur.
J'ai fait quelque chose comme vous, mais j'ai trouvé que Gradle peut résoudre les dépendances., Dans les bibliothèques externes, je ne trouve pas support-v4-23.0.0, support-v7-23.0.0 et autres lib est 23.0.0 . puis je suis revenu à la compilation 'com.Android.support:support-v4:22.2.0',... le solutionneur de problèmes @mraviator
Merci @zmarties pour la réponse, je veux ajouter les détails et les liens
Merci pour les réponses ci-dessus.
Utiliser Google Play Services version 8.1.0 au lieu de 8.4.0 résolu de mon côté
J'ai constaté que je pouvais créer ActionBarSherlock à l'aide du SDK 23 si j'avais apporté les deux ensembles de modifications suivants:
FloatMath
par leurs appels Math
correspondantsmFragments
par une variable locale fragments
initialisée via getActiveFragments(null)
, puis modifiez les références mFragment
pour utiliser la variable locale Avez-vous changé la vue du thème dans la disposition principale à partir de l'onglet Conception? Essayez de le changer à nouveau en vue de thème Sherlock dans l’onglet Conception.
j'ai eu le même problème lorsque le projet d'importation Eclipse à Android Studio
C'est la meilleure solution pour moi
J'ai constaté que je pouvais créer ActionBarSherlock à l'aide du SDK 23 si j'avais apporté les deux ensembles de modifications suivants:
dans AnimatorProxy.Java, remplacez les appels FloatMath par leurs appels Math correspondants - je change FloatMath - en Math
dans la classe Waston, j’avais l’erreur - mFragments.isadded Donc, je remplace le code suivant au lieu de vérifier
mFragments.isadded! = null
à
mFragments.getActiveFragments (mCreatedMenus)
partout quand il le fallait
j'avais résoudre ces problèmes.