0

問題をコンパイルして実行できました.NavigationDrawerの例です。プレイサービスでコンパイルするとNavigationDrawerが失敗する

次に、私が今度はGoogle Playの-サービスライブラリを含めるモジュール(このモジュール「マップ」がテストされ、使用される別のproyectにし、完璧に働いている場合)

を含ましかし、私はビルドにこのモジュールを追加するとき.gradleを依存関係として(compile proyect (':map'))、ビルドに失敗します。

メッセージは次のとおり

"Error:Execution failed for task ':app:transformClassesWithDexForDebug'. 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"

方法の数は64Kの最大値を超えているので、私はこのエラーhappnesを理解しました。したがって、私は 'multiDexEnabled true'オプションを使用します。

今では完璧にコンパイルしますが、デバッグモードで走っ、これがコンソールがスローするものですCoordinatorLayoutレイアウト

をロードしようとしている瞬間に、実行時例外がスローされます

java.lang.RuntimeException: Unable to start activity ComponentInfo{net.simplifiedcoding.navigationdrawerexample/net.simplifiedcoding.navigationdrawerexample.MainActivity}: android.view.InflateException: Binary XML file line #11: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2426) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5443) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
    Caused by: android.view.InflateException: Binary XML file line #11: Binary XML file line #2: Error inflating class android.support.design.widget.CoordinatorLayout 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:539) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
    at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:284) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
    at net.simplifiedcoding.navigationdrawerexample.MainActivity.onCreate(MainActivity.java:24) 
交換

私も、私が使用するものだけにlibrarisの宣言を制限しようと、

compile 'com.google.android.gms:play-services:+' 

compile 'com.google.android.gms:play-services-maps:+' 
    compile 'com.google.android.gms:play-services-location:+' 
    compile 'com.google.android.gms:play-services-gcm:+' 
    compile 'com.google.android.gms:play-services-plus:+'     

同じ問題。ビルドされていますが、コーディネータレイアウトをロードすると失敗しました。

質問です:

は一緒multiDexEnabledオプションを設定して、プレイ・サービスのライブラリが含まれたプロジェクトと一緒にNavigationDrawerを実行することが可能ですので、私(私は、とにかくこのオプションを設定する必要があります

:ルートプロジェクト)

はそれが十分に明確であるホープ方法の多くを持って

これはNavigationDrawerのbuild.gradeです

apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.2" defaultConfig { applicationId "net.simplifiedcoding.navigationdrawerexample" minSdkVersion 16 targetSdkVersion 25 versionCode 1 versionName "1.0" multiDexEnabled true } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:24.2.0' compile 'com.android.support:design:24.2.0' compile project (':map') } 

、これはマッププロジェクトのbuild.gradleあるcricket_007さんのコメントに加えてNavigationDrawer

apply plugin: 'com.android.library' 

    android { 
     compileSdkVersion 'Google Inc.:Google APIs:24' 
     buildToolsVersion "24.0.2" 

     defaultConfig { 
      minSdkVersion 15 
      targetSdkVersion 25 

     } 

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

    dependencies { 
     //compile 'com.google.android.gms:play-services:+' 
     compile 'com.google.android.gms:play-services-maps:+' 
     compile 'com.google.android.gms:play-services-location:+' 
     compile 'com.google.android.gms:play-services-gcm:+' 
     compile 'com.google.android.gms:play-services-plus:+' 
    } 
+1

バージョン番号として '+'を使用したことはありません! –

+3

エラーが混在しています。'CoordinatorLayout'は他のメッセージとは関係ありません。 Make a a [mcve] –

答えて

0

の依存関係として含まれ、あなたはAdding Support Librariesに与えられたこの注意をチェックすることもできます。

Using dynamic dependencies (for example, palette-v7:23.0.+) can cause unexpected version updates and regression incompatibilities. We recommend that you explicitly specify a library version (for example, palette-v7:25.2.0).

さらに、使用されているバージョンを確認してください。 Manifest Declaration Changes

If you are including several support libraries, the minimum SDK version must be the highest version required by any of the specified libraries. For example, if your app includes both the v14 Preference Support library and the v17 Leanback library , your minimum SDK version must be 17 or higher.

最後に述べたように、あなたはまた、デザイン・サポート・ライブラリに関する追加の洞察力のために、このarticleをチェックすることもできます。

+0

私は最小のSDKを18に宣言して、現在動作しています。どうもありがとうございました! – user2126958

関連する問題