Android 的坑記錄,找到了解決方法
問題:Android 項目在5.0以上系統沒有問題,在5.0以下系統閃退
出現 java.lang.NoClassDefFoundError
這個錯誤是Android應用的方法總數限制造成的。Android平台的Java虛擬機Dalvik在執行DEX格式的Java應用程序時,使用原生類型short來索引DEX文件中的方法。這意味着單個DEX文件可被引用的方法總數被限制為65536。通常APK包含一個classes.dex文件,因此Android應用的方法總數不能超過這個數量,這包括Android框架、類庫和你自己開發的代碼。而Android 5.0和更高版本使用名為ART的運行時,它原生支持從APK文件加載多個DEX文件。在應用安裝時,它會執行預編譯,掃描classes(..N).dex文件然后將其編譯成單個.oat文件用於執行. 通熟的講,就是分包。
一、配置build.gradle (app)
android {
compileSdkVersion 22
buildToolsVersion "23.3.0"
defaultConfig {
minSdkVersion 15
targetSdkVersion 22
// Enabling multidex support. 開關
multiDexEnabled true
}