2016-10-28 9 views
0

私が取り組んでいるプロジェクトには、というメソッドがあります。私はあなたのMin SDK21に設定すれば、ブログを読んだことがあります。MultiDexは必要ありません。しかし、ここからMultiDexを削除すると、65k MultiDexというエラーメッセージが表示されます。以下は私のgradleファイルです。私は概念や何か他のものを理解できなかったのかどうかはわかりません。親切に私を導く。Min SDKの設定後でも、MultiDexエラーが発生する

compileSdkVersion 23 
buildToolsVersion "23.0.3" 
defaultConfig { 

    applicationId 'com.myapp.app' 
    minSdkVersion 21 
    targetSdkVersion 23 
    versionCode 59 
    versionName "1.0.1" 
    multiDexEnabled true 
    ndk { 
     abiFilters "armeabi", "armeabi-v7a", "x86" 
    } 
} 
dexOptions { 
    javaMaxHeapSize "4g" //specify the heap size for the dex process 
} 
lintOptions { 
    abortOnError false 
} 

buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 

productFlavors { 
} 
+0

あなたがブログを参照しましたか? – Sanjeet

+0

http://blog.safedk.com/technology/solving-androids-65k-limit-part-2-the-lollipop-generation/ – Kirmani88

答えて

4

あなたが21にあなたの分SDKを設定している場合、あなたはしても、MultiDex guideで「アンドロイド5.0のMultidexサポートと高い」指示に従ってMultiDex

を必要としません。 minSdk 21の場合は、multiDexEnabled trueでコンパイルする必要があります。

compile 'com.android.support:multidex:1.0.0' 

たりApplicationクラスでMultiDex.install(Context)を呼び出します。何をする必要はありませんことを経由してMultiDexサポートライブラリが含まれています。

64Kメソッドの問題は、DEXファイル形式の制限であり、Androidプラットフォーム自体の制限ではありません。 Android 5.0以上では、複数のDEXファイルを1つのOATファイルに自動的に読み込んでクラスをロードする方法を知っています.5.0より前のAndroidバージョンでは、セカンダリDEXファイルからクラスをロードするためにサポートライブラリが必要です。 classes2.dex、classes3.dexなど)。

+0

ありがとうございます!あなたの答えは私の混乱を解決しました! :) – Kirmani88

関連する問題