2017-10-06 6 views
0

上分SDKが 以下5.0であるときsingledexを作成multidexを有効にするしかし、分SDKが5.0以上であるとき、それはみとめDEXファイルを作成しているときに分SDKが5.0以下ではなくみとめDEXときsingledexを作成multidexを有効にします。再現するは分SDKが5.0と

ステップ:

  1. プロジェクトを作成し、14としてSDK分appcompatとRecyclerViewのLIBS
  2. セットを追加し、プロジェクト
    出力構築:シングルDEXは、ビルドフォルダ

    に作成されます
  3. min sdkを21に設定してプロジェクトを構築する
    出力:複数のDEXファイルは、ビルドフォルダに

を作成される64K制限を5.0にし、上に到達していないときに、複数のDEXを作成しないようにする方法はありますか?

答えて

0

multidexを無効にするには、最小sdkが21以上に設定されていると自動的に設定されるため、InstantRunを無効にする必要があります。

あなたはdocumentationからそれを読むことができます:アンドロイド5.0以上
のAndroid 5.0(APIレベル21)と高いが、ネイティブに複数のDEXファイルを読み込むサポートARTと呼ばれるランタイムを使用するための

MultidexのサポートをAPKファイルからARTは、アプリケーションのインストール時に事前コンパイルを実行します。これはclassesN.dexファイルをスキャンし、それらをAndroidデバイスで実行するための単一の.oatファイルにコンパイルします。したがって、minSdkVersionが21以上の場合、multidexサポートライブラリは必要ありません。

Android 5.0ランタイムの詳細については、ARTとDalvikを参照してください。

注:インスタント実行を使用している間、アプリのminSdkVersionが以上に設定されている場合、Androidのメーカーは自動的multidexのためにアプリを設定します。インスタント・ランはアプリケーションのデバッグ・バージョンでしか機能しないため、64Kの制限を回避するためにマルチサイドのリリース・ビルドを構成する必要があります。

関連する問題