在接入阿里推送的時(shí)候出現(xiàn)了一個(gè)錯(cuò)誤:
Error: Cannot fit requested classes in a single dex file (# methods: 68572 > 65536)
原因:
應(yīng)用中的Dex文件方法數(shù)超過(guò)了65535的上限(可能應(yīng)用本身沒(méi)有這么多方法但是集成了各種第三方SDK或者公共開(kāi)源的Library文件夷家、jar文件導(dǎo)致方法數(shù)超超過(guò)了65536
)测萎,需要引入multidex 。
解決方法:
設(shè)置支持multidex
multiDexEnabled true
android {
defaultConfig {
...
minSdkVersion 21
// 設(shè)置支持multidex
multiDexEnabled true
}
...
}
若minSdkVersion >=21 這樣應(yīng)該就可以了
若minSdkVersion< 21那么繼續(xù)配置:
- 引入multidex庫(kù)
dependencies {
......
implementation 'com.android.support:multidex:1.0.3'
......
}
- 在application 中初始化 MultiDex
@Override
public void onCreate() {
super.onCreate();
......
MultiDex.install(this);
......
}
或者繼承MultiDexApplication
public class MyApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
......
}
}
我用的是第一種,第二種沒(méi)試過(guò)。