构建项目时出现以下错误。在这个项目中没有使用CoordinatorLayout。刚刚添加为build.gradle中的依赖项:
我正在使用Android Studio 3.2 Canary 4。
logcat的
AGPBI:{“kind”:“error”,“text”:“程序类型已存在:android.support.design.widget.CoordinatorLayout $ Behavior”,“sources”:[{}],“工具”: “D8”} :app:transformDexArchiveWithExternalLibsDexMergerForDebug FAILED FAILURE:构建因异常而失败。 * 什么地方出了错: 任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'的执行失败。
com.android.builder.dexing.DexArchiveMergerException:合并dex存档时出错:/windows/Other/app/build/intermediates/transforms/dexBuilder/debug/0.jar,/ windows / Other / app / build / intermediates /transforms/dexBuilder/debug/1.jar,/windows/Other/app/build/intermediates/transforms/dexBuilder/debug/4.jar, 。 。 ...................
/windows/Other/app/build/intermediates/transforms/dexBuilder/debug/294.jar
程序类型已存在:android.support.design.widget.CoordinatorLayout $ Behavior
的build.gradle
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
compileSdkVersion 27
buildToolsVersion "27.0.3"
defaultConfig {
applicationId "com.dagkot"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "BASE_URL", "\"http://api.openweathermap.org/data/2.5/\""
buildConfigField "String", "API_KEY", "\"435e9075f348868c2714fe7c6895efa5\""
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "BASE_URL", "\"http://api.openweathermap.org/data/2.5/\""
buildConfigField "String", "API_KEY", "\"xxxx\""
}
}
}
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.espresso:espresso-core:3.0.1', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
// Dagger dependencies
compileOnly 'org.glassfish:javax.annotation:10.0-b28'
implementation "com.google.dagger:dagger:$rootProject.daggerVersion"
implementation "com.google.dagger:dagger-android:$rootProject.daggerVersion"
implementation "com.google.dagger:dagger-android-support:$rootProject.daggerVersion"
kapt "com.google.dagger:dagger-android-processor:$rootProject.daggerVersion"
kapt "com.google.dagger:dagger-compiler:$rootProject.daggerVersion"
//Butterknife dependencies
implementation 'com.jakewharton:butterknife:8.8.1'
kapt 'com.jakewharton:butterknife-compiler:8.8.1'
// Architecture Components Dependencies
kapt "android.arch.lifecycle:compiler:$rootProject.lifeCycle"
implementation "android.arch.lifecycle:extensions:$rootProject.lifeCycle"
implementation "android.arch.lifecycle:reactivestreams:$rootProject.lifeCycle"
implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
// Retrofit/RxJava Dependencies
implementation "com.squareup.retrofit2:retrofit:$rootProject.retrofitVersion"
implementation "com.squareup.retrofit2:adapter-rxjava2:$rootProject.retrofitVersion"
implementation "com.squareup.retrofit2:converter-gson:$rootProject.retrofitVersion"
implementation "io.reactivex.rxjava2:rxandroid:$rootProject.rxAndroidVersion"
implementation 'com.squareup.okhttp3:logging-interceptor:3.6.0'
implementation 'com.jakewharton.rxbinding2:rxbinding-kotlin:2.1.1'
// GSON
implementation "com.google.code.gson:gson:$rootProject.gsonVersion"
// Rx Location Manager
implementation 'io.nlopez.smartlocation:library:3.3.3'
implementation 'io.nlopez.smartlocation:rx:3.3.1'
//Anko Dependencies
implementation "org.jetbrains.anko:anko-commons:$rootProject.anko_version"
implementation "org.jetbrains.anko:anko-design:$rootProject.anko_version"
implementation 'com.android.support:design:27.0.2'
implementation("com.github.hotchemi:permissionsdispatcher:3.1.0") {
// if you don't use android.app.Fragment you can exclude support for them
exclude module: "support-v13"
}
kapt "com.github.hotchemi:permissionsdispatcher-processor:3.1.0"
}
答案 0 :(得分:212)
当我降级支持appcompat
gradle依赖时,它起作用,如下所示:
implementation 'com.android.support:appcompat-v7:27.0.2'
以前是
implementation 'com.android.support:appcompat-v7:27.1.0'
或强>
这也可以通过 添加支持设计依赖 来解决
版本27.1.0或更高版本的应用程序级别build.gradle
如下:
implementation 'com.android.support:design:27.1.0'
答案 1 :(得分:73)
我遇到了同样的问题,
我将android支持设计依赖项添加到应用程序级别implementation 'com.android.support:design:27.1.0'
添加以下内容:
$("#execute_btn").click(function(){
$('html, body').animate({
scrollTop: $("#scripts_execution_section").offset().top
}, 500);
// Ajax Synchronous call
});
在build.gradle中。现在它为我工作。
答案 2 :(得分:30)
这可能是一个库的原因,由于Glide我遇到了它。
是
implementation 'com.github.bumptech.glide:glide:4.7.1'
所以我添加了exclude group: "com.android.support"
,它变成了
implementation ('com.github.bumptech.glide:glide:4.7.1') {
exclude group: "com.android.support"
}
答案 3 :(得分:12)
使用最新的supportLibrary
版本27.1.1
来解决问题。为我工作。 (包括许多错误修复 - see changelog)
答案 4 :(得分:12)
请确保您的应用级别的build.gradle文件中这两个版本相同
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
我认为应该可以解决问题
答案 5 :(得分:9)
我个人将以下行添加到我的app / build.gradle中:
implementation "com.android.support:design:${rootProject.ext.supportLibVersion}"
使用这种语法,版本是动态的。
答案 6 :(得分:6)
我正在使用android studio 3.0 我将设计模式依赖性从26.0.1升级到27.1.1,现在错误消失了。
添加关注程度
implementation 'com.android.support:design:27.1.1'
答案 7 :(得分:5)
使用
implementation 'com.android.support:appcompat-v7:27.1.1'
不要像
implementation 'com.android.support:appcompat-v7:27.+'
这可能会给您带来错误,并且请勿使用比此版本更旧的版本。
或事件不喜欢这样
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
etc ...一些库,然后
implementation 'com.android.support:appcompat-v7:27.+'
相同的库,但是版本不同,它会给您一个错误。
答案 8 :(得分:4)
我将支持降级
previously it was
implementation 'com.android.support:appcompat-v7:27.0.2'
使用
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:design:27.1.0'
它工作愉快,编码
答案 9 :(得分:2)
我也有这个问题;我以这种方式解决了这个问题:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '26.0.1'
}
}
}
}
请注意,我的最小SDk为26,您必须使用它来更改它!
答案 10 :(得分:2)
Android支持库在28.0.0
之后将不会更新。根据{{3}}-
这将是android.support下的最后一个功能版本 包装,鼓励开发人员Support Library Release Notes。
因此,请改用migrate to AndroidX 1.0.0支持库。在您的情况下,设计库现在可以在材料包中找到。
dependencies {
implementation 'com.google.android.material:material:1.0.0' // instead of design
implementation 'androidx.appcompat:appcompat:1.0.2' // instead of support-v7
}
我已经将最新版本作为依赖项,您可以在阅读时AndroidX在这里。
有用的帖子:
答案 11 :(得分:2)
我知道这是一个迟来的答案,但是我遇到了同样的问题,我的解决方案只是添加implementation 'com.android.support:design:28.0.0
或任何上述支持设计库!
答案 12 :(得分:1)
将一个库多次加载到gradle中时,可能会发生这种情况。最常见的是通过其他连接的库。
删除实现在 build.gradle
中的此库然后构建-> 清除项目
您可以运行程序集)
答案 13 :(得分:1)
您的构建脚本应与应用程序build.gradle依赖项匹配。
ext {
buildToolsVersion = "27.0.3"
minSdkVersion = 16
compileSdkVersion = 27
targetSdkVersion = 26
supportLibVersion = "27.1.1"
}
dependencies {
.................
...................
implementation 'com.android.support:support-v4:27.1.0'
implementation 'com.android.support:design:27.1.0'
................
...........
}
如果您想降级依赖项,那么也请降级supportLibVersion和buildToolsVersion。
答案 14 :(得分:1)
解决方案是删除以下依赖项:
implementation 'com.android.support:design:26.1.0'
将一般依赖项设为:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
//noinspection GradleCompatible
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:support-compat:26.1.0'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.android.support:support-v4:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.facebook.android:audience-network-sdk:4.99.1'
}
答案 15 :(得分:1)
由于android最新更新不支持'compile'关键字,因此请在模块 build.gradle 文件中的位置使用“ implementation”。
并在build.gradle中彻底检查是否具有这样的 + 符号。
$ ghci
GHCi, version 8.2.2: http://www.haskell.org/ghc/ :? for help
Prelude> :l test.hs
[1 of 1] Compiling Main ( test.hs, interpreted )
Ok, one module loaded.
*Main> main
Input: abc
*Main>
Leaving GHCi.
如果有类似的依赖项,只需将其更新为特定版本即可。 之后:
答案 16 :(得分:0)
将com.android.support.constraint:constraint-layout
从1.1.0更新到1.1.3后,出现此错误。也许值得尝试。
答案 17 :(得分:0)
如果此处提到的任何答案均不起作用,请转到“文件”>“使修补程序无效/重新启动”
答案 18 :(得分:0)
将此内容添加到项目的 gradle.properties
中为我们修复了该问题:
android.enableJetifier=true
android.useAndroidX=true
答案 19 :(得分:0)
“程序类型已存在” 删除/ build目录内容,生成的二进制文件存在一些Dex(?)问题。像您一样得到这些答案,他们帮助解决了这个问题,但又创造了许多其他问题。构建内容删除适用于所有人。
答案 20 :(得分:0)
我也面临着同样的问题。 但是后来我意识到我使用的支持库版本并不相同。
一旦我做同样的事,错误就消失了。
以您的情况
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:design:27.0.2'
不一样,因此您只是将appcompat降级为
implementation 'com.android.support:appcompat-v7:27.0.2'
因此,您的问题已解决。
但是您也可以解决是否可以将支持设计版本升级到
implementation 'com.android.support:design:27.1.0'
答案 21 :(得分:0)
转到放置其他库并删除重复库的目录。
答案 22 :(得分:-2)
将所有依赖项更改为编译而不是实现,然后我重建项目而没有错误。然后我切换回实现而不是将其作为编译。