(任意の書式設定の問題について謝罪、SOの解析ロジックは、せいぜい疑問であると私はので、私はこの質問を提出することができませんことを余儀なくされたものでした)apkをビルドしようとしてエラーが発生しました:重複した依存関係を特定する方法
だから私のアプリが正常に動作が、私は生成しようとすると、署名しますAPK、私は非常に似て、10のエラーを取得します。
Error:Uncaught translation error: java.lang.IllegalArgumentException:
already added: Lcom/google/common/base/FinalizableReference;
Error:Uncaught translation error: java.lang.IllegalArgumentException:
already added: Lcom/google/common/base/FinalizableReferenceQueue;
Error:Uncaught translation error: java.lang.IllegalArgumentException:
already added:
Lcom/google/common/base/FinalizableReferenceQueue$DecoupledLoader;
(SNIP!) errors end with this:
Error:Execution failed for task
':newAppVariable:transformClassesWithDexForRelease'.
> com.android.build.api.transform.TransformException:
com.android.ide.common.process.ProcessException:
java.util.concurrent.ExecutionException: java.lang.RuntimeException:
Translation has been interrupted
読み込みから、私は何らかの形で依存関係が重複しています。ここでは(以下Eyadの提案からの変更を含む)私のトップレベルのGradleです:
buildscript {
repositories {
jcenter()
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath 'com.google.gms:google-services:3.1.2'
}
}
allprojects {
repositories {
jcenter()
google()
}
}
、ここでは私のモジュールレベルのGradleは(再び、これはV 2.0以下Eyadの推奨される変更が含まれている)である:
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "com.mogl"
minSdkVersion 21
targetSdkVersion 26
multiDexEnabled true
}
packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/license.txt'
exclude 'META-INF/notice.txt'
}
buildTypes {
release {
minifyEnabled false
proguardFiles 'proguard.cfg'
}
}
useLibrary 'org.apache.http.legacy'
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
lintOptions {
disable 'ValidFragment'
}
}
dependencies {
implementation 'org.greenrobot:eventbus:3.1.1'
api files('libs/client-0.0.1-SNAPSHOT-jar-with-dependencies.jar')
implementation 'com.android.support:multidex:1.0.2'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:animated-vector-drawable:26.1.0'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:customtabs:26.1.0'
implementation 'com.google.android.gms:play-services-maps:11.8.0'
implementation 'com.google.android.gms:play-services-plus:11.8.0'
implementation 'com.google.android.gms:play-services-auth:11.8.0'
implementation 'com.google.android.gms:play-services-gcm:11.8.0'
implementation 'com.google.android.gms:play-services-location:11.8.0'
implementation ('com.crashlytics.sdk.android:crashlytics:[email protected]') {
transitive = true;
}
}
apply plugin: 'com.google.gms.google-services'
実行しましたgradlew -q dependencies myappname:dependencies > gradlew.txt
と私は理解していない多くの出力を得ました。どのセクションを気にする必要がありますか?私の問題はリリースされたセクションについて気をつけなければならないリリース用の署名付きAPKを作成しようとしているときにしか問題ないと思います。私はこの記事に貼り付けしようとしたが、SO、それは不適切代わりに、それはあるテキスト出力のコードを書式設定だと思ったので、私はそれにリンクする必要があります。
https://gist.github.com/anonymous/e98adfd44e7aa9f15fe6e50539e42a29
私はそれを貼り付けることができるかどうかを見てみましょう編集など:
releaseRuntimeClasspath - Resolved configuration for runtime for variant: release
+--- org.greenrobot:eventbus:3.1.1
+--- com.android.support:support-v4:26.1.0
| +--- com.android.support:support-compat:26.1.0
| | +--- com.android.support:support-annotations:26.1.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-media-compat:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | \--- com.android.support:support-compat:26.1.0 (*)
| +--- com.android.support:support-core-utils:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | \--- com.android.support:support-compat:26.1.0 (*)
| +--- com.android.support:support-core-ui:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | \--- com.android.support:support-compat:26.1.0 (*)
| \--- com.android.support:support-fragment:26.1.0
| +--- com.android.support:support-compat:26.1.0 (*)
| +--- com.android.support:support-core-ui:26.1.0 (*)
| \--- com.android.support:support-core-utils:26.1.0 (*)
+--- com.android.support:animated-vector-drawable:26.1.0
| +--- com.android.support:support-vector-drawable:26.1.0
| | +--- com.android.support:support-annotations:26.1.0
| | \--- com.android.support:support-compat:26.1.0 (*)
| \--- com.android.support:support-core-ui:26.1.0 (*)
+--- com.android.support:appcompat-v7:26.1.0
| +--- com.android.support:support-annotations:26.1.0
| +--- com.android.support:support-v4:26.1.0 (*)
| +--- com.android.support:support-vector-drawable:26.1.0 (*)
| \--- com.android.support:animated-vector-drawable:26.1.0 (*)
+--- com.android.support:cardview-v7:26.1.0
| \--- com.android.support:support-annotations:26.1.0
+--- com.android.support:customtabs:26.1.0
| +--- com.android.support:support-compat:26.1.0 (*)
| \--- com.android.support:support-annotations:26.1.0
+--- com.google.android.gms:play-services-maps:11.8.0
| +--- com.google.android.gms:play-services-base:11.8.0
| | +--- com.google.android.gms:play-services-basement:11.8.0
| | | +--- com.android.support:support-v4:25.2.0 -> 26.1.0 (*)
| | | \--- com.google.android.gms:play-services-basement-license:11.8.0
| | +--- com.google.android.gms:play-services-tasks:11.8.0
| | | +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| | | \--- com.google.android.gms:play-services-tasks-license:11.8.0
| | \--- com.google.android.gms:play-services-base-license:11.8.0
| +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| \--- com.google.android.gms:play-services-maps-license:11.8.0
+--- com.google.android.gms:play-services-plus:11.8.0
| +--- com.google.android.gms:play-services-base:11.8.0 (*)
| +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| \--- com.google.android.gms:play-services-plus-license:11.8.0
+--- com.android.support:multidex:1.0.2
+--- com.google.android.gms:play-services-auth:11.8.0
| +--- com.google.android.gms:play-services-auth-api-phone:11.8.0
| | +--- com.google.android.gms:play-services-base:11.8.0 (*)
| | +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| | +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
| | \--- com.google.android.gms:play-services-auth-api-phone-license:11.8.0
| +--- com.google.android.gms:play-services-auth-base:11.8.0
| | +--- com.google.android.gms:play-services-base:11.8.0 (*)
| | +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| | +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
| | \--- com.google.android.gms:play-services-auth-base-license:11.8.0
| +--- com.google.android.gms:play-services-base:11.8.0 (*)
| +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| \--- com.google.android.gms:play-services-tasks:11.8.0 (*)
+--- com.google.android.gms:play-services-gcm:11.8.0
| +--- com.google.android.gms:play-services-base:11.8.0 (*)
| +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| +--- com.google.android.gms:play-services-iid:11.8.0
| | +--- com.google.android.gms:play-services-base:11.8.0 (*)
| | +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| | \--- com.google.android.gms:play-services-iid-license:11.8.0
| \--- com.google.android.gms:play-services-gcm-license:11.8.0
+--- com.google.android.gms:play-services-location:11.8.0
| +--- com.google.android.gms:play-services-base:11.8.0 (*)
| +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
| \--- com.google.android.gms:play-services-location-license:11.8.0
+--- com.crashlytics.sdk.android:crashlytics:2.8.0
| +--- com.crashlytics.sdk.android:crashlytics-core:2.5.0
| | +--- com.crashlytics.sdk.android:answers:1.4.1
| | | \--- io.fabric.sdk.android:fabric:1.4.1
| | \--- io.fabric.sdk.android:fabric:1.4.1
| +--- com.crashlytics.sdk.android:beta:1.2.7
| | \--- io.fabric.sdk.android:fabric:1.4.1
| +--- com.crashlytics.sdk.android:answers:1.4.1 (*)
| \--- io.fabric.sdk.android:fabric:1.4.1
\--- com.google.firebase:firebase-core:11.8.0
\--- com.google.firebase:firebase-analytics:11.8.0
+--- com.google.android.gms:play-services-basement:11.8.0 (*)
+--- com.google.firebase:firebase-common:11.8.0
| +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
| \--- com.google.firebase:firebase-common-license:11.8.0
+--- com.google.firebase:firebase-analytics-impl:11.8.0
| +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| +--- com.google.firebase:firebase-iid:11.8.0
| | +--- com.google.android.gms:play-services-basement:11.8.0 (*)
| | +--- com.google.firebase:firebase-common:11.8.0 (*)
| | +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
| | \--- com.google.firebase:firebase-iid-license:11.8.0
| +--- com.google.firebase:firebase-common:11.8.0 (*)
| +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
| \--- com.google.firebase:firebase-analytics-impl-license:11.8.0
\--- com.google.firebase:firebase-analytics-license:11.8.0
だから私の問題は、依存関係を複製されて、私は「解放」のセクションで見てなってる場合、私はそれらを識別するためにどのように理解していない場合。例えば、support-v4ライブラリのdepツリーの一番上を見ると、サポートコンパイルライブラリに4,5つの重複した依存関係があるように見えます。
しかし、それは問題ではありませんか? Googleの最新のサポートライブラリであり、工場から4時間ほど過ぎて間違いがあり、何千もの開発者がAPKを構築できなくなるのではなく、正しく構築されているようです。だから私は自分が探しているものがわからないと信じています。私があなたを助けてくれることを願っています。
私は使用しているcustomtabsライブラリのサポートの依存関係を排除するために除外グループを使用してみました。 (申し訳ありませんが、パーサをもう一度投稿することはできません)、gradle同期中にエラーが発生しましたので、除外グループを削除しました。この問題にどう対処するかはわかりません。
ご協力いただきありがとうございます、ありがとうございます!
Android Studioプラグインを使用してFabricを追加しましたか?または手動で? – EyadMhanna
Eyad - ドキュメント(https://fabric.io/kits/android/crashlytics/install)に基づいて手動でファブリックを追加しましたが、推奨された「1。 なぜあなたはFabricが私の問題を過去に引き起こしているのを見たことがありますか? – user2659207
この警告は無視することができますが、それはすべてのライブラリで発生しますが、決して発生しません。実際に問題が発生した場合は、どうか私の答えを確認してください。 – EyadMhanna