メソッド数を減らす

1. GPS library全体を削除してplay-services-basementのみを使用する

A. Android Studio のリモート依存ライブラリオプションを使用する

Android Studio でリモート依存ライブラリを使用している場合、以下の設定を build.gradle で行います

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services-basement:8.4.0'
}

B. Android Studio でJarファイルを使用する

GPSを既存のプロジェクトから削除し、jarファイルでの利用を行う場合は下記の手順にしたがって下さい。

GPSを既存プロジェクトから削除し、google-play-services-basement.jar をincludeするようにして下さい。例えば、SDK付属のTapjoy EasyAppはGPSライブラリを含んできます。下記の手順でこれを削除し必要なgoogle-play-services-basement.jarを使用する方法を示します。

GPSへの参照を下記の箇所から削除する

  1. Settings.gradle – include をコメントアウトしたものを表示しています。
//include ':Libraries:google-play-services_lib'
include ':TapjoyEasyApp'
  1. project.properties.- GPSへの参照をコメントアウトしたものを表示しています。
#android.library.reference.1=../Libraries/google-play-services_lib
  1. build.gradle から GPS への参照を削除し、 'google-play-services-basement.jar’ jar ファイルを追加しています。
dependencies {
compile fileTree(include: '*.jar', dir: 'libs')
//   compile project(':Libraries:google-play-services_lib')
   compile files('libs/google-play-services-basement.jar')
}
  1. AndroidManifest.xml. GPSへの参照をコメントアウトしています。
<application
android:icon="@drawable/icon"
android:label="@string/app_name" >
<!--     <meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />-->

2. Multi-dex 対応を追加する

もう一つのやり方として、gradle.build ファイルで Multi-dex 機能をサポートするようにする事です。より詳細は次のリンクを参照して下さい:

http://developer.android.com/tools/building/multidex.html

下記に、この問題の回避についてのいくつかのUnityフォーラムへのリンクを表示します。 Here are a couple of links on the Unity forums that talk about workarounds for this issue.

http://answers.unity3d.com/questions/816708/too-many-method-references-when-i-export-android-b.html http://forum.unity3d.com/threads/dex-64k-method-limit-get-unity-to-use-gradle-build-options.323852/

Unityは .apk ファイルではなく android プロジェクトを生成するオプションがあります。その後、上記のような変更を加えられます。