くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見

Android5系では動くのに4系でビルドが通らない

f:id:mask0702:20160117180731p:plain

Androidで5系では動くのに4系でビルドが通らないという事態に見舞われた。

Could not find class 'android.os.UserManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.
Could not find class 'android.app.AppOpsManager', referenced from method com.google.android.gms.common.GooglePlayServicesUtil.zzb
java.lang.NoClassDefFoundError: com.google.android.gms.R$string: com.google.android.gms.measurement.zza

こんなエラーが出て、「どうやらGoogle系のクラスが見つからないんだな」程度に思ってもろもろ探したが、よくわからん。

と思ったらどうやらAndroidが許容できるメソッド数の上限を超えていて読み込めなかったらしい。
というわけでMultiDexApplicationを使えばよかった。

qiita.com