MasKのpermission denied.

新卒2年目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