Multidex For Android Unity - mkaji-geniee/Geniee-SDK-Unity-Plugin GitHub Wiki

メソッド数を削減する対応について(Android)

Androidの動画リワード等で多くのライブラリファイルを実装する場合、以下のエラーが発生してBuildができない場合があります。

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformClassesWithDexForRelease'.
> 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

この場合、以下のどちらかの方法をご検討ください。

不要ライブラリの削除

呼び出しをしていないアドネットワークを呼び出す設定を削除してください。 動画リワード広告(Androidパッケージビルド手順)で記載している全アドネットワークを一括で導入する場合を使用している場合、使用するアドネットワークのみの各導入手順を実施してください。

Multidexの実装

Multidex サポートを有効にして、6万5千を超えるメソッド数を扱えるようにする方法があります。

  1. plugins>Android>mainTemplateを開き、以下の設定を追加してください。

    	buildscript {
    		maven {
    		    url 'https://maven.google.com'
    		}
    	}
    	dependencies {
    	    compile 'com.android.support:multidex:1.0.3'
    	}
    	android {
    	    defaultConfig {
    	    	multiDexEnabled true
    	    }
    	}
    
  2. plugins>Android>mainTemplateを開き、以下のように設定からuseProguard **PROGUARD_DEBUG**を削除してください。

    	buildTypes {
              debug {
                 minifyEnabled **MINIFY_DEBUG**
                 useProguard **PROGUARD_DEBUG**
                 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
                  jniDebuggable true
              }
              release {
                 minifyEnabled **MINIFY_RELEASE**
                 useProguard **PROGUARD_RELEASE**
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
                  **SIGNCONFIG**
              }
    	}
    

    以下のようになります。

    	buildTypes {
              debug {
                 minifyEnabled **MINIFY_DEBUG**
                 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
                  jniDebuggable true
              }
              release {
                 minifyEnabled **MINIFY_RELEASE**
                 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'**USER_PROGUARD**
                  **SIGNCONFIG**
              }
    	}