DexPathList在真機環境下閃退的兩種解決方案。

大概報錯:
java.lang.RuntimeException:
Didn’t find class “xxx” on path: DexPathList[[zip file “/data/app/xxx.apk”]
等等類似錯誤

解決方案:(總結了網上的兩種方案,一般只是其中一種問題)

1,可能是開啓了Instant Run的原因。

禁用Instant Run(File -> Settings -> Build, Execution, Deployment -> Instant Run)即可。

2,可能是添加MultiDex分包,但未初始化的原因,在Application中重寫attachBaseContext讓MultiDex初始化即可。

先在Gradle裏啓用MultiDex幷包含MultiDex支持:

defaultConfig {
   		 multiDexEnabled true
	}

然後在application裏重寫attachBaseContext方法

protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(base);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章