私はAndroid Studio Betaを持っています。古いモジュールをコンパイルして新しいプロジェクトを作成しましたが、アプリを起動しようとしたときにメッセージが表示されませんでした。
Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'.
com.Android.builder.dexing.DexArchiveMergerException:dexをマージできません
しかし、私はこのエラーを解決する方法がわかりません。私はこれを数時間グーグルしましたが成功しませんでした。
私のプロジェクトの取り組み:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.0.0-beta6'
classpath "io.realm:realm-gradle-plugin:3.7.1"
classpath 'com.google.gms:google-services:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
私のアプリはgradle:
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "parad0x.sk.onlyforyou"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
debug {
}
}
compileOptions {
targetCompatibility 1.7
sourceCompatibility 1.7
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
lintOptions {
checkReleaseBuilds false
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
//noinspection GradleCompatible
compile 'com.Android.support:appcompat-v7:26.0.0-alpha1'
compile project(path: ':loginregisterview')
}
そして私のモジュールは格闘します:
apply plugin: 'com.Android.library'
apply plugin: 'realm-Android'
Android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.Android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.Android.support', module: 'support-annotations'
})
compile 'com.Android.support:appcompat-v7:26.0.2'
compile 'com.Android.support:support-v4:26.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'
testCompile 'junit:junit:4.12'
compile project(path: ':parser')
}
私の2番目のモジュール:
apply plugin: 'com.Android.library'
apply plugin: 'realm-Android'
Android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
}
realm {
syncEnabled = true
}
useLibrary 'org.Apache.http.legacy'
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile 'junit:junit:4.12'
// compile 'com.Android.support:appcompat-v7:23.1.0'
// compile 'com.fasterxml.jackson.core:jackson-core:2.9.0'
// compile 'com.fasterxml.jackson.core:jackson-annotations:2.9.0'
// compile 'com.fasterxml.jackson.core:jackson-databind:2.9.0'
compile 'com.google.code.gson:gson:2.6.2'
}
____________ファインディング_________
私が2番目のモジュール(パーサー)をインポートしなかったとき、アプリはdexでクラッシュしませんでしたが、モジュールがインポートされなかったときアプリは動作しませんでした。 :D:D
com.google.Android.gms:play-services:11.2.2
からcom.google.Android.gms:play-services:11.4.0
にアップデートしたときにも同じ問題がありました。これで解決しました:
私は上記のすべてを試してみました、そして、それらのどれも助けになりません。
app/build.gradle:
Android {
defaultConfig {
multiDexEnabled true
}
}
時々あなたは 警告 と エラー を削除するだけで自動的に消えます。下記の特別な場合を参照してください。
私は私のモジュールレベルのbuild.gradle
ファイルにこれら二つの依存関係がありました:
implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:recyclerview-v7:27.0.2'
and Studio 警告しました (dexマージ問題)に加えて:
すべての
com.Android.support
ライブラリは、まったく同じバージョン仕様を使用しなければなりません(バージョンを混在させるとランタイムがクラッシュする可能性があります)。27.0.2
、21.0.3
というバージョンが見つかりました。例としてはcom.Android.support:animated-vector-drawable:27.0.2
とcom.Android.support:support-v4:21.0.3
があります
だから私は明示的にcom.Android.support:support-v4
のバージョンを決めました (詳細は ここ を参照してください) そして両方の問題 (警告とdexマージに関連するもの) 解決 :
implementation 'com.Android.support:support-v4:27.0.2' // Added this line (according to above warning message)
implementation 'com.Android.support:appcompat-v7:27.0.2'
implementation 'com.Android.support:recyclerview-v7:27.0.2'
他の同様の状況については、以下のコメントを参照してください。
私の場合は、残念なことに、MichelもSuragchの解決策も私には役立たなかった。
そこで私は次のようにしてこの問題を解決しました:
gradle:3.0 the compile 設定は現在推奨されておらず、 implementation または api に置き換える必要があります。詳しくは ここを読む 公式ドキュメントを読むことができます Gradle Build Tool
コンパイル設定はまだ存在しますが、それはapiと実装設定が提供するという保証を提供しないので使用されるべきではありません。
implementation または api よりも compile を使用することをお勧めします。
コンパイル を 実装 、 debugCompile 、 debugImplementation 、 testCompile を testImplementation に置き換えてください。 androidtestcompile with androidTestImplementation
例:これの代わりに
compile 'com.Android.support:appcompat-v7:26.0.2'
compile 'com.Android.support:support-v4:26.1.0'
compile 'com.github.bumptech.glide:glide:4.0.0'
こんな感じ
implementation 'com.Android.support:appcompat-v7:26.0.2'
implementation 'com.Android.support:support-v4:26.1.0'
implementation 'com.github.bumptech.glide:glide:4.0.0'
その後
それが役立つことを願っています!
.gradle
ディレクトリを削除します。
アプリをもう一度実行してください。
ノート
.gradle
ディレクトリは、プロジェクトのルートフォルダにあります。 (隠しファイルを先に表示する必要があるかもしれません。) 私は他のすべての解決策を試しましたが、だれも私のために働きませんでした。最後に、私はbuild.gradle
を編集することによって同じ依存バージョンを使うことによってそれを解決しました。この問題は、依存関係の異なるバージョンのサポートまたはGoogleライブラリを使用するgradleにライブラリを追加したときに発生すると思います。
ビルド許可ファイルに次のコードを追加します。それからclean
とrebuild
プロジェクト。
ps:それは私にとって古い解決策だったので、以下のライブラリを更新したバージョンのを使うべきです。
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.1.0'
}
} else if (requested.group == "com.google.Android.gms") {
details.useVersion '11.8.0'
} else if (requested.group == "com.google.firebase") {
details.useVersion '11.8.0'
}
}
}
私の場合、問題はルームライブラリのせいでした。
compile 'Android.Arch.persistence.room:runtime:1.0.0-alpha1'
それをに変更します。
compile 'Android.Arch.persistence.room:runtime:1.0.0'
働いた。
こんにちは私は同じ問題がほぼすべてを試してみました。だから、ついに私は6時間の長い闘争の後に一行ずつすべてをデバッグすることで解決した。
classpath 'com.google.gms:google-services:3.0.0'
Google-services 3.0 playServiceVersion:11.6.0以下のStudio 3.0でFirebaseをサポートしません。
implementation "com.google.firebase:firebase-messaging:$rootProject.ext.playServiceVersion"
implementation "com.google.firebase:firebase-core:$rootProject.ext.playServiceVersion"
implementation "com.firebase:firebase-jobdispatcher-with-gcm-dep:$rootProject.ext.jobdispatcherVersion"
解決策:
Googleサービス に変更があります
classpath 'com.google.gms:google-services:3.1.1'
そしてそれはfirebaseサービスをサポートします。
うまくいけば、誰かが彼/彼女の時間を節約できます。
上記の解決策に加えて
複数の場所(または同じファイル内)で異なるバージョンを指す重複する依存関係がないことを確認してください。
if(1.作業をきれいにして再構築しよう)それではよい
それ以外の場合(2.グラドルワークを削除してみてください)それから良い
else-> 3. grade.propertiesに追加してみてください
Android.enableD8 = false
else-> 4. build.gradleにmultiDexEnabled
trueを追加します
Android {
compileSdkVersion 26
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 26
multiDexEnabled true
...
}
}
そして依存関係を追加する
dependencies {
compile 'com.Android.support:multidex:1.0.1'}
最初のものはuなどでうまくいくかもしれませんが、それは本当にあなたの問題の性質に依存します。
このライブラリを追加したらエラーになりました
implementation 'com.jjoe64:graphview:4.2.2'
そして後で私はそれをチェックしなければならないことを発見し、そして私はサポートライブラリの同じバージョンを追加しなければならない。だから私は別のバージョンを試す必要があります
compile 'com.jjoe64:graphview:4.2.1'
そしてそれは問題を解決します。だからそれに注意を払う。
有効にする
defaultConfig { multiDexEnabled true }
ステップ1がうまくいかない場合
プロジェクト構造に行き、異なるバージョンを使用している外部ライブラリを見つけてください。それをダブルクリックしてそのjarファイルを削除します。プロジェクトを閉じてもう一度開くと、Android Studioによってプロジェクトが再構築されます。問題は解決しました。
可能性の1つは、同じライブラリが存在するが、依存関係に異なるバージョンが存在することです。
私はgradleファイルの次の行でこの問題を抱えていました:
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.google.code.gson:gson:2.8.2'
Gsonライブラリはlibsディレクトリにありましたが、以前のバージョンがありました。 gson-2.3.1.jar
をlibsディレクトリから削除しましたが、すべて正常に戻りました。
[解決できないマージデックスが解決しました] スタックオーバーフローの時間が経過した後 "マージできないエラーが発生しました"を解決しました
原因 - Androidはサポートライブラリをv27.1.0に更新しました。したがって、あなたは26.1.0から27.1.0にあなたのgradleファイルのすべてのAndroidサポート行を変更しなければなりません
リポジトリセクションに " https://maven.google.com "エンドポイントのmavenセクションが含まれていることを確認してください。例えば:
allprojects {リポジトリ{ jcenter() maven { url " https://maven.google.com " } } }
原因: - AndroidはSDKマネージャでサポートライブラリを更新できず、今ではmaven.google.comを使用して更新しているため、27.1.0サポートライブラリを使用するにはこれを含める必要があります。
変更後のバージョン: 1.プロジェクトのクリーンアップ 2.プロジェクトを再構築
Kotlinのサポートを含めた後にこのエラーが発生し、他の解決策がうまくいかない場合は、アプリモジュールのbuild.gradle
のkotlin依存関係を次のように変更してみてください。
implementation ("org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version") {
exclude group: 'org.jetbrains', module: 'annotations'
}
これは私のためにAndroid Studio 3.0 Beta 6で動作します。さらなる説明は this answerを見てください。
グーグルプレイサービスのインストール(最新バージョン)+
Android {
defaultConfig {
multiDexEnabled true
}
}
build.gradleで私のための問題を解決し、プロジェクトをきれいにして再構築することを確認してください!
以下にコマンドを追加してください。
Android {
...
dexOptions {
jumboMode true
javaMaxHeapSize "4g"
}
}
Android Studio 3.0安定版ビルドの場合 以下の手順でうまくいった:
私はChris-Jrに同意します。 AdMob広告を埋め込むためにFirebaseを使用している場合(またはそうでない場合でも)、依存関係として追加しなくても、play-services-analyticsにはplay-services-adsが含まれます。アナリティクスには11.4.0ではなくバージョン10.0.1の広告が含まれているため、グーグルは明らかに11.4.0のロールアウトを誤って行っています(図の中のマウスオーバーのヒントでこれがわかります)。
私は手動で コンパイル 'com.google.Android.gms:play-services-ads:11.4.0' を上の一番上に追加しましたが、インスタントランを無効にした後でのみ http://stackoverflow.com/a/35169716/530047
そのため、10.0.1にリグレッションするか、広告を追加してインスタントランを無効にします。
私も問題を抱えていました。
compileSdkVersion
とtargetSdkVersion
を最新版に変更することで解決できました。
私は同じ問題に遭遇し、私の事件の本当の理由を見つけました。以前も、私は以前の答えをすべてもう一度試しましたが、それでも問題は解決しませんでした。次のようにアプリプロジェクトとbuild.gradle:
モジュールのbuild.gradleを着用してください。
implementation project(':common')
implementation files('libs/farmer-motion-1.0.jar')
共通モジュールのbuild.gradle:
implementation files('libs/farmer-motion-1.0.jar')
Gradle 3.xにアップグレードする前は、 'implementation'はすべて 'compile'です。
私は、スタックトレースを取得するために--stacktraceオプションを付けてgradlewを実行します。この問題が発生したときには、コンソールウィンドウでこれをクリックするだけです。そして、jarパッケージへの依存関係が繰り返されることがわかりました。
Caused by: com.Android.dex.DexException: Multiple dex files define Lcom/farmer/motion/common/data/pojo/SportSummary$2;
Farmer-motion-1.0.jarパッケージのSportSummaryクラスで、 公式移行ガイドを読んだ後 、私のbuild.gradleを以下のように変更しました。
モジュールのbuild.gradleを着用してください。
implementation project(':common')
// delete dependency implementation files('libs/farmer-motion-1.0.jar')
共通モジュール的なbuild.gradle:
api files('libs/farmer-motion-1.0.jar') // change implementation to api
今摩耗モジュールは共通モジュールによるfarmer-motion-1.0.jarエクスポートの依存関係を持つことになります。 実行時に がjarパッケージに依存しない の場合、 ' implementation ' jarパッケージの依存関係 を 'compileOnly' に変更することもできます。
私の場合は、プロジェクトの libs フォルダに追加した gson-2.8.1.jar です。しかし、参照はすでにSDKによって行われていました。したがって、libsフォルダに gson-2.8.1.jar を追加する必要はありません。
I gson-2.8.1.jar projectをコンパイルすると、この厄介なエラーなしにコンパイルされます。
それで libs folderと dependencies を修正してみてください。
私たちのプロジェクトでは、誤って同じjarファイルを異なる名前で2回追加しました。それらの1つを削除することで問題は解決しました。
私は自分のプロジェクトでこの問題の原因を突き止めました。 build.gradle に1つの依存関係を2回追加しました。依存関係を追加して1回、jar依存関係を追加してもう1回
'org.achartengine:achartengine:1.2.0'をコンパイルしてください。
...
実装ファイル( '../ achartengine-1.2.0.jar')
解決した最初の行の問題を削除した後。
一番上の答えがうまくいかなかった場合、あなたの問題はあなたが同じライブラリに依存する複数の依存関係を持っているということかもしれません。
これがデバッグのコツです。このサンプルコードでは、com.google.code.findbugs:jsr305:3.0.0
が問題のあるライブラリです。
あなたがあなたの解決策をチェックするために修正する度にいつもきれいにして再構築しなさい!
詳細については、--stacktrace
フラグをオンにして構築してください。それはクラス、Googleがそのライブラリを見つけるためにそのクラスについて文句を言うでしょう。 これは、常に--stacktrace
フラグを付けてgradleを実行するようにAndroidスタジオを設定する方法です 。
ビルド後、Android StudioのGradleコンソールView > Tool Windows > Gradle Console
を一目で確認できます。
./gradlew -q app:dependencies
を実行して、繰り返しの依存関係を確認します。 build.gradleを変更するたびにこれを再実行できます。
Build.gradleでは、
Android {
...
configurations.all {
resolutionStrategy {
// Force a particular version of the library
// across all dependencies that have that dependency
force 'com.google.code.findbugs:jsr305:3.0.0'
}
}
}
Build.gradleでは、
dependencies {
...
implementation('com.google.auth:google-auth-library-oauth2-http:0.6.0') {
// Exclude the library for this particular import
exclude group: 'com.google.code.findbugs'
}
}
Build.gradleでは、
Android {
...
configurations.all {
resolutionStrategy {
// Completely exclude the library. Works for transitive
// dependencies.
exclude group: 'com.google.code.findbugs'
}
}
}
依存関係の一部がjarファイルにある場合は、jarファイルを開き、競合するクラス名がないかどうかを確認してください。もしそうであれば、おそらく新しいクラス名でjarを再構築するか シェーディング を調べなければならないでしょう。
もう少し背景を読んで:
これはあなたの問題ではないかもしれませんが、プロジェクトの依存関係{}セクションに2つの同一の(ただし名前が異なる)ライブラリを誤って含めたときにこのエラーが発生しました。
私の場合、ライブラリでこの問題が発生します。ライブラリはプロジェクトに正常に追加されましたが、アプリを実行するとこのエラーが表示されます。だからもしこれがあなたにも起こるなら、あなたはgithubに行って問題をチェックするか新しい問題を提起することができます。あなたがライブラリに関する解決策を見つけられない場合は私はあなたがそれを交換することをお勧めします。
私にとっては、 app\build.gradleにあるfirebaseメッセージングを更新していました:
compile 'com.google.firebase:firebase-messaging:10.0.1'
に
compile 'com.google.firebase:firebase-messaging:11.4.2'
私は同じ問題を抱えていました。私はInstant Run
を有効にしました(それは無効にされました)それから私のプロジェクトはうまくいきました。あなたはそれを見つけることができます
File->Settings-> Build,Execution,Deployment->Instant Run
Android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 26
multiDexEnabled true
}
...
}
dependencies {
compile 'com.Android.support:multidex:1.0.1'
}
考えられる根本的な原因の1つ:Android Studioのマルチモジュールプロジェクトのインポートで正しく処理されなかった一時的な依存関係の重複リストを確認して削除してください。私にとっては、修正は文字通りこれです:
--- a/project/module/build.gradle
+++ b/project/module/build.gradle
@@ -21,5 +21,4 @@ Android {
dependencies {
implementation project(':upstream-dependency-project')
implementation 'com.Android.support:support-v4:18.0.0'
- implementation files('libs/slf4j-Android-1.6.1-RC1.jar')
}
このようにしてみてください、それは私のために働きます。
App/build.gradleで、
dependencies {
....
compile project(':grow-notification')
/** Firebase Start **/
compile 'com.google.firebase:firebase-messaging:11.4.0'
compile 'com.firebase:firebase-jobdispatcher:0.6.0'
/** Firebase End **/
}
apply plugin: 'com.google.gms.google-services'
モジュールgrow-notification/build.gradleにいる間:
dependencies {
....
/** Firebase Start **/
provided 'com.google.firebase:firebase-messaging:11.4.0'
provided 'com.firebase:firebase-jobdispatcher:0.6.0'
/** Firebase End **/
}
すべての同じソースライブラリに同じバージョン番号があることを確認してください。私の場合、私は異なるグーグルAPIバージョンを使用していました。私は 11.6.0 をすべてのGoogleライブラリに使用していましたが、 10.4.0 はGoogleプレイスAPIに使用していました。 GoogleプレイスAPIを 11.6.0 に更新した後、問題が修正されました。
私のマルチデックスもプロジェクトで有効になっていることに注意してください。
私は3時間以上すべての回答を読んでテストしています。最後に問題は図書館の "joda time"でした。
読んで この答え 私は問題を見つけた、 フルスタックトレースでgradleコンソールを実行してください そしてエラーの詳細を読んでください。
Build.gradleに以下を追加するだけです。
defaultConfig {multiDexEnabled true}
あなたのプラグインでFirebsaeを使っているのであれば、この問題はplay services versionの問題によるものです。
cordova.system.library.4=com.google.gms:google-services:3.3.0
cordova.system.library.5=com.google.Android.gms:play-services-tagmanager:+
cordova.system.library.6=com.google.firebase:firebase-core:16.0.1
cordova.system.library.7=com.google.firebase:firebase-messaging:17.1.0
cordova.system.library.8=com.google.firebase:firebase-crash:16.0.1
cordova.system.library.9=com.google.firebase:firebase-config:16.0.0
cordova.system.library.10=com.google.firebase:firebase-perf:16.0.0
Project.propertiesをこのように変更すると、この問題は解決します 参照
依存関係が重複している可能性があります(おそらく別の依存関係にネストされている可能性があります)。コマンドラインで「gradlew app:dependencies」を使用して、すべての依存関係を確認してください。
重複を削除した後、問題は私のために解決されました。
Android {
defaultConfig {
multiDexEnabled true
}
}
compile 'com.google.Android.gms:play-services:11.0.4'
compile 'com.google.Android.gms:play-services-location:11.0.4'
クリーンにビルドして再ビルドをビルドする
これはまだここで共有されていないので、誰かの助けになることを願っています。
これに続いて link は同じ問題を解決しました。
まず、multiDexEnabledをtrueに設定する必要がなかったことに注目します。
まず、pubspec.yamlの依存関係を
dependencies:
flutter:
sdk: flutter
cloud_firestore: ^0.8.2
iDEのターミナルでflutter packages get
を実行しました。
また、最小のターゲットSDKバージョンを変更する必要がありました。
これだけで問題が解決する場合があります。ただし、依存関係のバージョンの一部が一致しなかったため、次のことも行わなければなりませんでした。
Android/app/build.gradle
を開いてから、ファイルの最後の行として次の行を追加する必要がありました:apply plugin: 'com.google.gms.google-services'
次に、Android/build.gradle
を開いてから、buildscriptタグ内に新しい依存関係を追加する必要がありました。
buildscript {
repositories {
// ...
}
dependencies {
// ...
classpath 'com.google.gms:google-services:3.2.1' // new
}
}
この後、私のアプリはAndroidエミュレーターで最終的に実行されました。
link は、行き詰まった場合のより完全なチュートリアルです。
また、注意するために、multiDexEnabledをtrueに設定する必要はありませんでした。
これをあなたの app/build.gradle に追加してください。それが動作します
実装 'com.Android.support:design:27.1.0'
依存関係のバージョンが同じでない場合はそれを確認し、それを同じにすると問題が解決します
compile 'com.Android.support:appcompat-v7:27.0.2'
compile 'com.Android.support:recyclerview-v7:27.0.2'
compile 'com.Android.support:cardview-v7:27.0.2'
いくつかの依存関係をアップグレードした後、私は解決策を見つけました。最新のプレイサービス版を使うべきです。 build.gradle [app] 依存関係にあります。
compile 'com.Android.support:multidex:1.0.2'
compile 'com.google.Android.gms:play-services:11.8.0'
compile 'com.google.firebase:firebase-core:11.8.0'
build.gradle [project] では、最新のGoogleプラグインを使用する必要があります。
classpath 'com.google.gms:google-services:3.1.1'
理解を深めるために、以下のコードも共有しています。
Android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
applicationId "com.***.user"
minSdkVersion 17
targetSdkVersion 26
versionCode 26
versionName "1.0.20"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
vectorDrawables.useSupportLibrary = true
aaptOptions {
cruncherEnabled = false
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
残念ながら、MichelもSuragchも解決策は私には役立たなかった。
11.4.0ではアプリのグラドルファイルに依存性の不整合の警告が表示されていたため、最終的にやらなければならなかったことは、単にcom.google.firebase:firebase-database
をバージョン10.0.1にロールバックすることでした。
私にとって問題は、私がプロジェクトに含めた2つのjarファイルに同じクラスが含まれていたことです。
これらのjarファイルの1つでは、クラスを除外する必要がありました。
jar {
exclude('com/files/to/exclude/**')
}
簡単な解決策は私のために働きました:
それから Clean そして Rebuild project。
私の場合、エラーは依存関係のインポート中です。
実装 'com.firebaseui:firebase-ui:2.3.0'
私はそれを使用していませんでした、私はそれをきれいにしたプロジェクトを削除して再適用したときにそれが働き始めました。もちろん、私は上記の人たちがしたこともしました。
そして最後に...
BuildToolsVersionを他のバージョンに変更して同期し、元に戻してもう一度同期してください。それはまた働くでしょう。
私は同じ問題を抱えていました。私はそれを解決し、次にAndroid Studio 3.0メニューからプロジェクトをビルドしてビルドしました。
私の場合は、build.gradleファイルに同じライブラリを2回実装していました。重複したエントリを削除するとうまくいきました。そして、プロジェクトをきれいにして再構築する必要すらありませんでした。
私のプロジェクトでは、私は2つ以上のモジュールとsdksを持っています。
これらすべては一時的に動作しますが、私が見つけたプロジェクト構造(cntrl + altr + shift + s)を開くと、 - SDKバージョンのコンパイル、sdkバージョンのビルドのように選択されません同じ味
私はこれらすべてを更新して、クリーンで再構築するプロジェクトを実行します、そしてそれは私のために働きます。
これは私のために働く -
Platform\Android\build.gradleに最後にコードを追加する
configurations.all {
resolutionStrategy{
force 'com.Android.support:support-v4:26.0.0'
}
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.Android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.0.0'
}
}
}
}
私の場合は、1つの「Android_support」ライブラリを2回インポートしているので、「libs」ディレクトリの下にある1つを削除して再構築します。
ほとんどの場合、これはうまくいきます。それは私にはうまくいきます。それがあなたにもうまくいくなら幸運です。
ステップ1:build.gradle(Module:app)にこれを追加します。 defaultConfig { multiDexEnabled true }
ステップ2:これを行います:Build => Clean Project
ステップ3:これを行います:Build => Rebuild Project
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 27
defaultConfig {
applicationId "com.xyz.name"
minSdkVersion 14
targetSdkVersion 27
versionCode 7
versionName "1.6"
testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:27.1.0'
implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.Android.support.test:runner:1.0.1'
androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.Android.volley:volley:1.0.0'
implementation 'com.wang.avi:library:2.1.3'
implementation 'com.Android.support:design:27.1.0'
implementation 'com.Android.support:support-v4:27.1.0'
implementation 'de.hdodenhof:circleimageview:2.1.0'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.theartofdev.edmodo:Android-image-cropper:2.6.0'
implementation 'com.loopj.Android:android-async-http:1.4.9'
implementation 'com.google.firebase:firebase-messaging:11.8.0'
implementation 'com.felipecsl.asymmetricgridview:library:2.0.1'
implementation 'com.Android.support:recyclerview-v7:27.1.0'
implementation 'com.github.darsh2:MultipleImageSelect:3474549'
implementation 'it.sephiroth.Android.library.horizontallistview:hlistview:1.2.2'
implementation 'com.Android.support:multidex:1.0.1'
}
apply plugin: 'com.google.gms.google-services'
注:上記のようにall supportライブラリを27.1.0に更新し、重複したものを削除してください。
あなたが同じライブラリの2つのバージョンを追加したとき、それは一般的な問題です。依存関係またはライブラリのどちらかで....それは私の場合そしてほとんど毎回これが問題を解決する..
MultiDexの有効化、クリーニング、再構築、.gradleファイルの削除など、上記の解決策はどれもうまくいきませんでした。最後にしたのは、新しいプロジェクトを作成し、 src ディレクトリを削除して前のプロジェクトに置き換えることです。 build.gradle(app)に必要なすべてのライブラリをコピーし、同期してください。エラーなくビルドされるはずです。
build.gradle にdebugCompile
とreleaseCompile
があるか確認してください。それをdebugImplementation
とreleaseImplementation
に変更します。これが私がそれを解決した方法でした、gradleはこの首尾よくマークされた指示を非推奨としてパスすべきです、しかし突然突然それはこの2つの上で正確に動けなくなった。
./gradlew :app:assembleStubLiveDebug -debug -stacktrace
または同様(Android Studioからタスク名(:app:assembleStubLiveDebug
)を取得)。