[Android] com.google.android.gms:play-services を選択する

com.google.android.gms:play-servicesを安易にbuild.gradleに記述していたところ問題がおきました。

Error:Execution failed for task ‘:app:transformClassesWithDexForDebug’.
> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException:
java.util.concurrent.ExecutionException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

これはメソッド数が65Kを超えた理由のようです。
これの対処方法はmultiDexEnabled trueをgradle.buildに追加するか、以降で説明するように必要なライブラリーを個別に選択するかです。

Android Studio 1.5
Android 6.0

 

sponsored link

Permissions

 
Android 6.0 以降不要なPermissionは極力除外しておきたいのですが

としていると
apkのビルドがこのようになります

manifest-merger-release-report.txt

GET_ACCOUNTSUSE_CREDENTIALS
が意図せず追加Permissionとなっています

回避策というか、Setting Up Goolge Play Servicesには選択するように推奨しています

それぞれ個別にできるようになったわけです
 

developer console

 
Google Play Developer Console でPermissionがどのように設定されているか確認できます。
APKタグでアップロードしたバージョンをクリックすると詳細が表示されます。
 
console1
 
「必要な権限」の詳細を見て想定していない権限、AndroidManifestに設定していないものがないか確認します。
 
console2
 
余計なPermissionのせいで「対応する端末数」が極端に少なくなる事もあり、ダウンロードで端末が対応外になって気が付くこともあります。

ページのトップへ戻る
 
sponsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする