应用启动报错

这里写自定义目录标题


原先跑得好好的项目,在studio3里面build出来后居然在好几台Android 4.2的机器上运行不了。(Android 5以上的的机器就没发现问题。)

都是已启动就爆错误:

java.lang.RuntimeException: Unable to get provider com.alibaba.sdk.android.feedback.util.FBFileProvider: java.lang.ClassNotFoundException: Didn’t find class “com.alibaba.sdk.android.feedback.util.FBFileProvider” on path: DexPathList[dexElements=[zip file “/data/app/com.boosj.boosjapp-1.apk”],nativeLibraryDirectories=[/data/app-lib/com.boosj.boosjapp-1, /vendor/lib, /system/lib]]
配置调了半天并没有什么卵用。

后来搜到一篇文章说是多重dex加载机制上的问题。

解决方法如下。

1.multiDexEnabled true设置
除了在build.gradle的defaultConfig里配置multiDexEnabled true外,还要在dependencies内加入implementation ‘com.android.support:multidex:1.0.0’

defaultConfig {
multiDexEnabled true
}

dependencies {
implementation ‘com.android.support:multidex:1.0.0’
}
2.在Application中添加MultiDex.install(this);
需要注意的是这句需要写在attachBaseContext方法里:

@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
搞定,收工。

其实原理还没整明白,改天翻一下源码理解一下。

解决方案来自:
https://www.colabug.com/2213028.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值