我的项目将support-v4-26.1.0
指定为其依赖项之一,而依赖项又使用了
android.library.reference.1=../support-compat-26.1.0
android.library.reference.2=../support-media-compat-26.1.0
android.library.reference.3=../support-core-ui-26.1.0
android.library.reference.4=../support-core-utils-26.1.0
android.library.reference.5=../support-fragment-26.1.0
在Android SDK 10上,发生此崩溃:
Could not find class 'android.support.v4.app.FragmentManagerImpl', referenced from method android.support.v4.app.FragmentHostCallback.<init>
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: android.support.v4.app.FragmentManagerImpl
at android.support.v4.app.FragmentHostCallback.<init>(FragmentHostCallback.java:46)
at android.support.v4.app.FragmentHostCallback.<init>(FragmentHostCallback.java:63)
at android.support.v4.app.FragmentActivity$HostCallbacks.<init>(FragmentActivity.java:871)
at android.support.v4.app.FragmentActivity.<init>(FragmentActivity.java:100)
如何解决?
编辑:我反编译了apk,发现FragmentManagerImpl
包中存在android.support.v4.app
,所以不是ProGuard
问题。
答案 0 :(得分:1)
FragmentManagerImpl
实现Factory2
,它需要API11。这应该是NoClassDefFoundError
异常的原因:目前我不知道如何解决此问题。我尝试扩展该类,但它不是公开的。
无论如何,即使目前不支持API 10,我也将继续寻找解决方案,因为我想保持应用程序的高度兼容性。
英语错误?我是一位意大利少年,对不起:-)