【发布时间】:2016-09-21 06:02:53
【问题描述】:
我更新到 SDK 23 并将 gradle.build 更新到 API 23,将支持库更新到 23.0.0 等,现在尝试运行应用程序时出现以下错误(编译正常)。
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)
我将所有内容都恢复为 API 22,但仍然出现错误。
【问题讨论】:
-
你为什么还在使用 ABS,你应该已经迁移到实际的支持库操作栏或更好
Toolbar现在 -
是的,我知道。我的新应用是 API 21 及更高版本,但我仍然支持我的旧应用,不想花时间实现 AppCompat(尝试过一次,变得非常混乱)。
-
我确实认为 Android 6.0 Preview 和 Android Studio 1.4.1 出现了问题。
标签: android android-support-library android-6.0-marshmallow