找不到类'android.support.v4.app.FragmentManagerImpl'

时间:2018-08-25 10:01:21

标签: android google-play-services

我的项目将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问题。

1 个答案:

答案 0 :(得分:1)

FragmentManagerImpl实现Factory2,它需要API11。这应该是NoClassDefFoundError异常的原因:目前我不知道如何解决此问题。我尝试扩展该类,但它不是公开的。

无论如何,即使目前不支持API 10,我也将继续寻找解决方案,因为我想保持应用程序的高度兼容性。

英语错误?我是一位意大利少年,对不起:-)