最近公司的一个项目要用立木征信的 Android SDK,然后似乎是因为我们那个项目是 Kotlin 写的,跳转到 SDK 里面的 Activity 的时候一直报错:
java.lang.NoClassDefFoundError: Failed resolution of: Lkangcheng/com/lmzx_android_sdk_v10/ui/webview/InjectWebViewActivity;
最后经过我们反复测试,发现只要是 Java 环境下就不会有问题,只在 Kotlin 环境下问题。因为他们的库我们也无法修改,所以只能退而求其次的去避开问题,而不是解决问题。最后发现把调用立木征信 SDK 的方法都写在 Java 的 Module,然后 app 里引用这个 Module 就可以了……
这个问题解决了,后来又遇到报错:
java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v7/app/ActionBarActivity
大概看了下 v7 包的源码,怀疑和立木的库用到了 ActionBarActivity。然后我让立木的开发人员把 ActionBarActivity 都改成 FragmentActivity 就好了……
网友评论