2016-06-01 2 views
-1

私はどのようなコードを追加しなければならないのですか?どこに64Kコードを追加しますか?

署名済みのAPKを試してみることにしましたが、問題が発生しました。

エラー:.dexファイル内のメソッド参照の数は64Kを超えることはできません。

+0

https://developer.android.com/studio/build/multidex.html – Michael

答えて

0

クマーの答えはかなり近いですが、すべての詳細をカバーしていません。

まずアプリモジュールのあなたのbuild.gradleに必要な設定を追加します。

app/build.gradle

android { 
    defaultConfig { 
     multiDexEnabled true 
    } 
} 

dependencies 
{ 
    compile 'com.android.support:multidex:1.0.1' 
} 

を第二段階では、あなたの必要性に応じて2つの経路をたどることができます。

a。あなたはカスタムアプリケーションクラスを持っていません。つまり、あなたのマニフェスト内のアプリケーション要素にmultidexサポートライブラリからMultiDexApplicationクラスを追加する必要があります。

AndroidManifest.xml

<application 
     android:name="android.support.multidex.MultiDexApplication" 

OR

B。あなたはカスタムアプリケーションクラスを持っています。だから、あなたはそれがMultiDexApplicationクラスを拡張行う必要があります。

MyApplication.java

public class MyApplication extends MultiDexApplication { 

} 

AndroidManifest.xml

<application 
    android:name="MyApplication" 

あなたは64K法の制限を超えて行く準備ができなければなりません。

multidexでthis tutorialを読むと、これらの背後にあるロジックを理解できます。

+0

ありがとうございます@SafaOrhan:解決策と答えはあります:) 今、私は正常にAPKをビルドしました。 チュートリアルのおかげで、私はそれの背後にある論理を理解することができます。 – Dpower

+0

それは喜びでした。良い一日を :) – SafaOrhan

0

私たちのアプリケーションが64Kを超えるメソッドを超えている場合は、私たちのコードでmultiDexを有効にする必要があります。

今すぐあなたのコードを同期して、それが動作しますし、それを実行し、次の

android { 
    compileSdkVersion 21 
    buildToolsVersion "21.1.0" 

    defaultConfig { 
     ... 
     minSdkVersion 14 
     targetSdkVersion 21 
     ... 

     // Enabling multidex support. 
     multiDexEnabled true 
    } 
    ... 
} 

ようbuild.gradleでmultidexを有効build.gradleに

dependencies 
    { 
     compile 'com.android.support:multidex:1.0.0' 
    } 

を依存関係を追加します。

関連する問題