1

だから私はgradle 3.0.0(IDEも)に更新しましたが、あらゆる種類の問題に巻き込まれ始めました。
まず、有効にする必要がありましたmultiDex

実装プロジェクト multidex vailError:タスク ':sample:transformDexArchiveWithExternalLibsDexMergerForDebug' の実行に失敗しました。> java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: dex をマージできません

これらは私が持っている唯一の依存関係であるため、奇妙です:

:サンプル

implementation project(':lib-module')
implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
implementation 'com.android.support.constraint:constraint-layout:1.0.2'

:lib モジュール

implementation "com.android.support:support-annotations:$rootProject.supportLibraryVersion"
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'junit:junit:4.12'

multiDexこれらの依存関係のために有効にする必要がある場合は、デフォルトで有効になる可能性があります...有効にした後、 :sampleモジュール
でこの問題が発生しました:

グレード:

「すべての com.android.support ライブラリは、まったく同じバージョン仕様を使用する必要があります (バージョンを混在させると、ランタイム クラッシュが発生する可能性があります。バージョン 27.0.0、21.0.3 が見つかりました。」

コンソール:

java.io.IOException:

[build/intermediates/multi-dex/debug/componentClasses.jar] を書き込めません ([.../build/intermediates/transforms/desugar/debug/14.jar(;;;;;;* を読み込めません) *.class)] (重複する zip エントリ [14.jar:android/support/v4/view/ViewPager$1.class]))

だから私はいくつかの調査をしました:

$ ./gradlew -q dependencies sample:dependencies --configuration debugAndroidTestCompileClasspath
------------------------------------------------------------
Project :sample
------------------------------------------------------------

debugAndroidTestCompileClasspath - Resolved configuration for compilation for variant: debugAndroidTest
+--- project :lib-module
+--- com.android.databinding:library:1.3.1
|    +--- com.android.support:support-v4:21.0.3
|    |    \--- com.android.support:support-annotations:21.0.3 -> 27.0.0
|    \--- com.android.databinding:baseLibrary:2.3.0-dev -> 3.0.0
+--- com.android.databinding:baseLibrary:3.0.0
+--- com.android.databinding:adapters:1.3.1
|    +--- com.android.databinding:library:1.3 -> 1.3.1 (*)
|    \--- com.android.databinding:baseLibrary:2.3.0-dev -> 3.0.0
+--- com.android.support:multidex-instrumentation:1.0.2
|    \--- com.android.support:multidex:1.0.2
+--- com.android.support:appcompat-v7:27.0.0
|    +--- com.android.support:support-annotations:27.0.0
|    +--- com.android.support:support-core-utils:27.0.0
|    |    +--- com.android.support:support-annotations:27.0.0
|    |    \--- com.android.support:support-compat:27.0.0
|    |         +--- com.android.support:support-annotations:27.0.0
|    |         \--- android.arch.lifecycle:runtime:1.0.0
|    |              +--- android.arch.lifecycle:common:1.0.0
|    |              \--- android.arch.core:common:1.0.0
|    +--- com.android.support:support-fragment:27.0.0
|    |    +--- com.android.support:support-compat:27.0.0 (*)
|    |    +--- com.android.support:support-core-ui:27.0.0
|    |    |    +--- com.android.support:support-annotations:27.0.0
|    |    |    \--- com.android.support:support-compat:27.0.0 (*)
|    |    +--- com.android.support:support-core-utils:27.0.0 (*)
|    |    \--- com.android.support:support-annotations:27.0.0
|    +--- com.android.support:support-vector-drawable:27.0.0
|    |    +--- com.android.support:support-annotations:27.0.0
|    |    \--- com.android.support:support-compat:27.0.0 (*)
|    \--- com.android.support:animated-vector-drawable:27.0.0
|         +--- com.android.support:support-vector-drawable:27.0.0 (*)
|         \--- com.android.support:support-core-ui:27.0.0 (*)
\--- com.android.support.constraint:constraint-layout:1.0.2
     \--- com.android.support.constraint:constraint-layout-solver:1.0.2

(*) - dependencies omitted (listed previously)

$ ./gradlew -q dependencies lib-module:dependencies --configuration debugAndroidTestCompileClasspath

debugAndroidTestCompileClasspath - Resolved configuration for compilation for variant: debugAndroidTest
+--- com.android.support.test.espresso:espresso-core:2.2.2
|    +--- com.squareup:javawriter:2.1.1
|    +--- com.android.support.test:rules:0.5
|    |    \--- com.android.support.test:runner:0.5
|    |         +--- junit:junit:4.12
|    |         |    \--- org.hamcrest:hamcrest-core:1.3
|    |         \--- com.android.support.test:exposed-instrumentation-api-publish:0.5
|    +--- com.android.support.test:runner:0.5 (*)
|    +--- javax.inject:javax.inject:1
|    +--- org.hamcrest:hamcrest-library:1.3
|    |    \--- org.hamcrest:hamcrest-core:1.3
|    +--- com.android.support.test.espresso:espresso-idling-resource:2.2.2
|    +--- org.hamcrest:hamcrest-integration:1.3
|    |    \--- org.hamcrest:hamcrest-library:1.3 (*)
|    +--- com.google.code.findbugs:jsr305:2.0.1
|    \--- javax.annotation:javax.annotation-api:1.2
+--- junit:junit:4.12 (*)
\--- com.android.support:support-annotations:27.0.0

(*) - dependencies omitted (listed previously)

データバインディングがインポートされていることがわかりましたsupport-v4...これが発生した場合:com.android.support:support-annotations:21.0.3 -> 27.0.0(support-annotationsバージョンを更新します)なぜsupport-v4更新しないのですか?
したがって、この依存関係を :sample モジュールに追加する必要がありました

implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"

プロジェクトからすべてのビルドフォルダーと.gradleを削除し、user/.gradle からキャッシュ フォルダーを削除し、Clean を実行してから Rebuild した後、最終的に .apk を取得しました。

3.0.0gradleでこれが発生するのはなぜですか? 御時間ありがとうございます。Android Studio

===========================

編集:マーク(@CommonsWare) のコメントのおかげで、それが既知の問題であるだけでなく、support-v4 依存関係を追加した後、multiDex が不要になったことがわかりました。

4

0 に答える 0