我面临着一个特殊的问题。 我们的应用程序曾经使用三星的指纹sdk进行指纹认证。 现在从android M android出来了它的指纹API。所以我们移动到所有设备的android库> = android M. 然而,对于三星设备< Android.M我们仍然使用mpass sdk来保持传统兼容性。 在其中一个类中,我们导入以下内容:
import com.samsung.android.sdk.pass.SpassFingerprint;
import com.samsung.android.sdk.pass.SpassInvalidStateException;
现在这会导致所有非三星设备出现问题,我们会遇到以下异常:
Rejecting re-init on previously-failed class java.lang.Class<com.samsung.android.sdk.pass.SpassFingerprint$b>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/samsung/android/fingerprint/IFingerprintClient$Stub;
Rejecting re-init on previously-failed class: java.lang.Class<com.samsung.android.sdk.pass.b>: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/samsung/android/fingerprint/FingerprintManager$EnrollFinishListener;
据我所知,这是因为非三星手机上没有三星图书馆。 我的问题是如何有条件地导入三星依赖项,以便我在非三星设备中看不到这个问题