使用aide创建的androidx项目运行时会报一个错误:Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.MutableLiveData"
报错日志:
Caused by: java.lang.ClassNotFoundException: Didn't find class "androidx.lifecycle.MutableLiveData" on path: DexPathList[[zip file "/data/app/com.mx.cfmbackups-KXLjN1LNeylRp0XGK2nmDQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.mx.cfmbackups-KXLjN1LNeylRp0XGK2nmDQ==/lib/arm64, /system/lib64]]
06-09 11:44:50.359 26996 26996 E AndroidRuntime at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
06-09 11:44:50.359 26996 26996 E AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
06-09 11:44:50.359 26996 26996 E AndroidRuntime at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
通过报错日志得知是因为找不到MutableLiveData类引起的程序崩溃,MutableLiveData是livedata依赖库中的一个类,我们可以看一下该项目依赖了哪些库:
可以看到我们的项目默认依赖了appcompat和material库,并没有发现我们需要的livedata库,由此可知:aide创建的androidx项目缺少一个livedata依赖库
解决方案:
在项目app模块的build.gradle文件中添加livedata依赖:
implementation "androidx.lifecycle:lifecycle-livedata:1.0.0"
本篇文章已发布在赤瞳论坛:http://bbs.aidemx.cn/t/249.html