Android studio 3.0:无法解析 :app@dexOptions/compileClasspath' 的依赖关系:无法解析项目 :animators
Android studio 3.0: Unable to resolve dependency for :app@dexOptions/compileClasspath': Could not resolve project :animators
我迁移到 Android studio 3.0。因此,该项目无法编译名为“:animator”的模块,并向我显示此错误:
Error:Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators. <a
href="openFile:/home/mobilepowered/MobilePowered/MyInnovalee/trunk17-10-2017/app/build.gradle">Open
File</a><br><a href="Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators.">Show Details</a>
并显示详细信息给出此日志:
Unable to resolve dependency for ':app@dexOptions/compileClasspath':
Could not resolve project :animators.
Could not resolve project :animators. Required by:
project :app
Unable to find a matching configuration of project :animators:
- Configuration 'debugApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'debugRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
- Configuration 'releaseApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'releaseRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
我认为它来自 gradle-wrapper.properties
文件:
进行分配 url distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
并且不要升级到:distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....
这似乎是 Gradle 上的一个错误。这为我解决了问题,但这不是解决方案。我们必须等待新版本解决这个问题。
On build.gradle 在项目中设置 classpath 'com.android.tools.build:gradle:2.3.3' 而不是 classpath 'com.android.tools.build:gradle:3.0.0'.
在 gradle-wrapper.properties 上设置 https://services.gradle.org/distributions/gradle-3.3-all.zip 而不是 https://services.gradle.org/distributions/gradle-4.1.2-all.zip
如 official migration guide 中所述,在以下情况下遇到此错误:
Your app includes a build type that a library dependency does not
android {
buildTypes {
release {
...
}
dexOptions {
...
// release & debug is in project animators
matchingFallbacks = ['release', 'debug']
}
debug {
...
}
}
}
查找信息的正确位置现在是 this documentation
我找到了两种解决方案:
旧 g radle-3.3 的解决方案:
作为使用 android studio 3.0 制作项目 运行 的第一个临时解决方案,我保留了之前 Android Studio 2.3
的旧配置
distributionUrl=https://services.gradle.org/distributions/g radle-3.3-all.zip , compileSdkVersion 25** and **buildToolsVersion "25.0.3" and classpath ' com.android.tools.build:gradle:2.3.3
使用新的 g radle-4.1 的解决方案:
使用 gradle 4.1 和 类路径 com.android.tools.build:gradle:3.0 的新功能。 0' ,我跟着这个 link https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html 。所以,这些是我的实现:
在文件 gradle-wrapper.properties 中:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
在项目的文件 build.gradle
中:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
//classpath 'me.tatarka:gradle-retrolambda:3.3.1' remove this line
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
在应用程序的文件 build.gradle 中:
apply plugin: 'com.android.application'
//apply plugin: 'me.tatarka.retrolambda' remove this line
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
}
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.imennmn.myprojectid"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
/**
* Enabling multidex support.
*/
multiDexEnabled true
missingDimensionStrategy 'minApi' , 'minApi24'
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
}
buildTypes {
release {
shrinkResources false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
configurations.all {
resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
/**
* Solve the problem when using multiple free source libs
* NOTICE or LICENSE files cause duplicates
*/
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES'
//exclude duplicate butterknife and parceler libs
exclude 'META-INF/services/javax.annotation.processing.Processor'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/rxjava.properties'
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/motwin-android-sdk-3.2.0-RELEASE-TLS.jar')
implementation files('libs/notifmanager-android-lib-3.1.0-RELEASE.jar')
implementation files('libs/commons-lang-2.4.jar')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:appcompat-v7:26.0.2'
implementation 'com.android.support:support-v4:26.0.2'
implementation 'com.android.support:design:26.0.2'
implementation 'com.android.support:multidex:1.0.2'
api 'com.jakewharton:butterknife:7.0.1'
implementation 'de.hdodenhof:circleimageview:2.1.0'
implementation 'com.android.support:percent:26.0.2'
implementation 'com.google.android.gms:play-services-maps:11.4.2'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.google.code.gson:gson:2.8.1'
testImplementation 'junit:junit:4.12'
implementation 'com.facebook.rebound:rebound:0.3.8'
implementation 'com.google.android.gms:play-services-gcm:11.4.2'
implementation 'io.reactivex.rxjava2:rxjava:2.1.1'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation project(':animators')
// Retrofit2 & XmlConverter
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
implementation('com.squareup.retrofit2:converter-simplexml:2.3.0') {
exclude group: 'xpp3', module: 'xpp3'
exclude group: 'stax', module: 'stax-api'
exclude group: 'stax', module: 'stax'
}
implementation 'com.squareup.okhttp3:okhttp:3.4.1'
implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'
//Library to reports crash
implementation('ch.acra:acra:4.5.0') {
exclude group: 'org.json'
}
implementation 'com.github.kenglxn.QRGen:android:2.3.0'
}
在library animator的build.gradle中我将targetSdkVersion升级到26:
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
}
dependencies {
implementation "com.android.support:support-compat:26.0.2"
implementation "com.android.support:support-core-ui:26.0.2"
implementation "com.android.support:recyclerview-v7:26.0.2"
}
甚至,我也遇到过同样的问题。
我已经参考上面的问题解决了
使用新的 g radle-4.1 的解决方案 2:
我进行了以下 gradle 更改。
似乎通过 maven Amazon 下载资源帮助我解决了这个问题,appcompat 库存在问题。检查并确保在您的系统中下载了与 appcompat 兼容的支持库。我的感觉是,它只是没有通过 maven 下载资源,导致编译错误问题。确保在您的本地驱动器中找到资源以解决问题。
刚玩过
- Maven 亚马逊 url
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
jcenter()
}
- 在驱动器中下载兼容的支持库并引用 gradle 中的兼容库。
dependencies {
implementation fileTree(dir: 'libs', include: \['*.jar'\])
implementation 'com.android.support:appcompat-v7:26.0.0-alpha1'
implementation 'com.android.support:support-v4:26.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
}
完整文件
apply plugin: 'com.android.application'
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
jcenter()
}
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.cognizant.interviewquestions.cognizantiqpractice2"
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: \['*.jar'\])
implementation 'com.android.support:appcompat-v7:26.0.0-alpha1'
implementation 'com.android.support:support-v4:26.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
}
---------------------------------------------------------------------------
试试这个我已经通过评论下面的行解决了我的问题
依赖关系
{
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
//compileOnly 'com.android.support.test:runner:1.0.1'
//compileOnly 'com.android.support.test.espresso:espresso-core:3.0.1'
//androidTestImplementation 'junit:junit:4.12'
}
使用 Android Studio 2.3(AS) 项目运行良好,我可以 运行 该应用程序。将 AS 更新为 Android Studio 3.0 后。对于库和构建类型,我也遇到了如下错误。
Unable to resolve dependency for ':app@dexOptions/compileClasspath': Could not resolve project : library_Name.
Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve project : library_Name.
解决问题,简单。
什么时候
buildTypes{
debug{ ... }
release{ ... }
}
你的 (app) build.gradle 文件中,你必须包含所有 buildTypes{ }
同名的
buildTypes{
debug{ ... }
release{ ... }
}
进入项目 中包含的 所有 libraries/modules 的 build.gradle
个文件。
清理并重建项目,问题将得到解决。
问题仍未解决,请将 gradle-wrapper.properties 更新为
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
我遇到了同样的问题,已经解决了
鉴于我的情况,我猜你的应用程序项目的 build.gradle
文件包含以下片段:
android {
...
buildTypes {
debug {...}
release {...}
dexOptions {...}
}
}
但实际上,dexOptions
不是构建类型,您应该将 dexOptions
部分移出 buildTypes
,如下所示:
android {
...
dexOptions {
...
}
buildTypes {
debug {...}
release {...}
}
}
希望能帮到别人。
你只需要在 app.gradle 文件中重置依赖项
像旧的一样
androidTestImplementation 'com.android.support.test:runner:0.5'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
到新的
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
全部修改
compile project(':library:yourproject')
至
implementation project(path: ':library:yourproject', configuration:'default')
在您的应用中 build.gradle。注意带配置的行。
确保你在你的项目中
- 打开首选项,方法是单击 文件 > 设置(在 Mac,
Android Studio > 首选项).
- 在左窗格中,单击 构建、执行、部署 >> Gradle.
- 取消选中/禁用
Offline work
复选框。
- 单击应用或确定。
我尝试了 运行 Android studio 3.0.1 与互联网连接。 Android 工作室开始从 link 自动下载一些内容,该内容显示在 Gradle 构建通知中。我不能说这是一个确定的答案,但试试这个..也许你可以解决你的问题。
解决方案:
下载终极版Gradle
http://services.gradle.org/distributions/
gradle-4.x-rc-1-all.zip.sha256 09-Jan-2018 01:15 +0000 64.00B
解压缩分发包
转到 Android Studio -> 文件 -> 设置 -> Gradle -> 使用本地 gradle 分发
搜索文件并确定
在gradle:app写这个,实现(路径:':animators',配置:'default')
dependencies {
.
.
.
implementation project(path: ':animators', configuration: 'default')
}
将 productFlavors{} 添加到应用 build.gradle 为我解决了这个问题。见下文:
buildTypes {
release {
...
}
}
productFlavors {
}
我有同样的问题,通过将 'mavenCentral()' 添加到 build.gradle(Project)
解决了这个问题
allprojects {
repositories {
...
mavenCentral()
}
}
这是我解决问题的方法:
而不是
compile project(':library_name')
compile project(':library_name')
应用内gradle我用过
implementation project(':library_name')
implementation project(':library_name')
例如在我的构建类型中
demoTest {
.........
}
我添加了这一行
demoTest {
matchingFallbacks = ['debug', 'release']
}
Step 1:
1.Open the Preferences, by clicking File > Settings (on Mac, Android Studio > Preferences).
2.In the left pane, click Build, Execution, Deployment >> Gradle.
3.Uncheck/disable the Offline work checkbox.
4.Click Apply or OK.
Step 2:
downgrade the gradle-wrapper.properties content which you can access this
file directory by clicking on CTRL + SHFT +R KEY
e.g from
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
to
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
or to any lower version like /gradle-3.9-all.zip or /gradle-3.8-all.zip
就我而言,我遇到的问题是由于我试图导入的依赖项 (BottomNavigationViewEx)。
此依赖项需要从 jitpack.io 和 maven.google.com 下载,我将此配置放在构建脚本部分:
buildscript {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" } // this is incorrect
maven { url "https://maven.google.com" } // this is incorrect
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
这是不正确的,我需要删除这两行 Maven 行并将它们包含在正确的部分中,'allprojects':
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
}
}
希望它对我一样的人有所帮助。
确保在Gradle设置中禁用"Offline work"(设置->构建、执行、部署->构建工具->Gradle).
我犯了这个错误。我遵循了加速 gradle 构建的指南,并打开了离线工作选项。如果启用,Gradle 将无法下载任何新的依赖项,因此会导致 "Unable to resolve dependency" 错误。
我在这个问题上花了很多时间,none 以上解决方案对我有用。应用程序和库项目中构建类型的名称和数量也完全相同。
我犯的唯一错误是 - 在图书馆项目的 build.gradle 中,我使用了行
apply plugin: 'com.android.application'
虽然这一行应该是 -
apply plugin: 'com.android.library'
进行此更改后,此错误已解决。
我尝试了从取消选中离线工作到matchingFallbacks的所有方法。但是没有任何效果。
然后,在 app.gradle 的 依赖项中,
而不是
implementation project(':lib-name')
我用过,
implementation project(path:':lib-name', configuration: 'default')
Eg: implementation project(path:':myService', configuration:
'default')
而且效果非常好。 :)
我正在添加 依赖模块 和 服务 并且我没有将库作为 AOSP 的一部分项目。
以防万一,它可以帮助某人。
我的问题如下
Unable to resolve dependency for ':app@debug/compileClasspath': Could not download rxjava.jar (io.reactivex.rxjava2:rxjava:2.2.2)
检查Enable embedded Maven Repository
解决
我尝试了上面给出的所有解决方案,其中 none 对我有用,我确保我的库模块和应用程序模块中有准确的构建类型和产品风格。
如果在 Linux 上使用 Android Studio:
转到:Home/Android Studio Projects folder/App name folder
在该页面上打开终端并输入:
./gradlew -Dhttp.proxyHost
检查 JAVA_HOME
是否设置在有效目录上,如果未设置有效位置,最后重建您的项目。
NOTE: if that doesn't work remove gradle cache folder or all of that
and download again with Android Studio.
这个话题似乎有点奇怪,但是关于原始问题,您不仅必须在两个 build.gradle 文件中都有您的 buildTypes,您还需要有您的 productFlavors(如果您是当然也可以在 build.gradle 文件中使用它们。
当您添加对使用错误插件类型的功能模块的引用时,也可能会发生这种情况。只需将 com.android.application
更改为 com.android.feature
或 com.android.library
https://i.stack.imgur.com/NDjnG.png
更改 gradle 中的代码:
compile project(':yourLibrary')
至
implementation project(path: ': yourLibrary', configuration:'default')
从文件添加库->右键单击->新建->模块->导入 Eclipse ADT 项目->浏览您的库->完成
现在在应用 gradle 设置中添加以下代码:
implementation project(':library')
最后在设置gradle中添加如下代码:
include ':app', ':library'
将 android Studio 更新到 3.3 后。我在尝试加载 Firebase JobDispatcher 时遇到了这个问题。
在 gradle.properties 上添加这个 link 解决了我的问题
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
我知道上面的none个解决方案是行得通的,因为我一直陷入这种问题很长一段时间,在非常仔细地观察问题后终于解决了这个问题,这表明
Unable to resolve dependency for ':app@dexOptions/compileClasspath':
Could not resolve project : library_Name.
您需要确认并仔细检查 class 是否位于此处。我猜这件事对很多人都会有很大帮助,因为专注于这一点让我离解决方案更近了一步。现在,如果该文件夹路径中不存在任何内容,您需要获取全部内容,例如 src 文件夹构建文件夹等所有内容,复制并将其粘贴到 sync/rebuild 项目,如果需要,请尝试使无效并重新启动 android 工作室。希望这能让您摆脱我遇到的麻烦。
谢谢
将 implementation 'com.android.support:appcompat-v7:27+'
更改为 implementation 'com.android.support:appcompat-v7:+'
对我有用
我正在使用 Intellij 2019 CE 和 Kotlin
我的情况是这样的:
Unable to resolve dependency for ':app@debug/compileClasspath': Failed to transform artifact....
我尝试了十种解决方案,没有一个有效,因此我的解决方案是删除 C:\Users\djdance.gradle\caches 并重新启动 AS
我迁移到 Android studio 3.0。因此,该项目无法编译名为“:animator”的模块,并向我显示此错误:
Error:Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators. <a
href="openFile:/home/mobilepowered/MobilePowered/MyInnovalee/trunk17-10-2017/app/build.gradle">Open
File</a><br><a href="Unable to resolve dependency for
':app@dexOptions/compileClasspath': Could not resolve project
:animators.">Show Details</a>
并显示详细信息给出此日志:
Unable to resolve dependency for ':app@dexOptions/compileClasspath':
Could not resolve project :animators.
Could not resolve project :animators. Required by:
project :app
Unable to find a matching configuration of project :animators:
- Configuration 'debugApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'debugRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'debug'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'debug' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
- Configuration 'releaseApiElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found compatible value 'java-api'.
- Configuration 'releaseRuntimeElements':
- Required com.android.build.api.attributes.BuildTypeAttr 'dexOptions' and found incompatible value 'release'.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Aar' and
found compatible value 'Aar'.
- Found com.android.build.gradle.internal.dependency.VariantAttr 'release' but
wasn't required.
- Required org.gradle.api.attributes.Usage 'java-api' and found incompatible value 'java-runtime'.
我认为它来自 gradle-wrapper.properties
文件:
进行分配 url distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
并且不要升级到:distributionUrl=https\://services.gradle.org/distributions/gradle-4 ....
这似乎是 Gradle 上的一个错误。这为我解决了问题,但这不是解决方案。我们必须等待新版本解决这个问题。
On build.gradle 在项目中设置 classpath 'com.android.tools.build:gradle:2.3.3' 而不是 classpath 'com.android.tools.build:gradle:3.0.0'.
在 gradle-wrapper.properties 上设置 https://services.gradle.org/distributions/gradle-3.3-all.zip 而不是 https://services.gradle.org/distributions/gradle-4.1.2-all.zip
如 official migration guide 中所述,在以下情况下遇到此错误:
Your app includes a build type that a library dependency does not
android {
buildTypes {
release {
...
}
dexOptions {
...
// release & debug is in project animators
matchingFallbacks = ['release', 'debug']
}
debug {
...
}
}
}
查找信息的正确位置现在是 this documentation
我找到了两种解决方案:
旧 g radle-3.3 的解决方案:
作为使用 android studio 3.0 制作项目 运行 的第一个临时解决方案,我保留了之前 Android Studio 2.3
的旧配置distributionUrl=https://services.gradle.org/distributions/g radle-3.3-all.zip , compileSdkVersion 25** and **buildToolsVersion "25.0.3" and classpath ' com.android.tools.build:gradle:2.3.3
使用新的 g radle-4.1 的解决方案:
使用 gradle 4.1 和 类路径 com.android.tools.build:gradle:3.0 的新功能。 0' ,我跟着这个 link https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration.html 。所以,这些是我的实现:
在文件 gradle-wrapper.properties 中:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
在项目的文件 build.gradle
中:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
//classpath 'me.tatarka:gradle-retrolambda:3.3.1' remove this line
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
在应用程序的文件 build.gradle 中:
apply plugin: 'com.android.application'
//apply plugin: 'me.tatarka.retrolambda' remove this line
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
jcenter()
mavenCentral()
maven { url "https://jitpack.io" }
}
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig {
applicationId "com.imennmn.myprojectid"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
/**
* Enabling multidex support.
*/
multiDexEnabled true
missingDimensionStrategy 'minApi' , 'minApi24'
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath true
}
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
}
buildTypes {
release {
shrinkResources false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
configurations.all {
resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
}
/**
* Solve the problem when using multiple free source libs
* NOTICE or LICENSE files cause duplicates
*/
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES'
//exclude duplicate butterknife and parceler libs
exclude 'META-INF/services/javax.annotation.processing.Processor'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/rxjava.properties'
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/motwin-android-sdk-3.2.0-RELEASE-TLS.jar')
implementation files('libs/notifmanager-android-lib-3.1.0-RELEASE.jar')
implementation files('libs/commons-lang-2.4.jar')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
implementation 'com.android.support:appcompat-v7:26.0.2'
implementation 'com.android.support:support-v4:26.0.2'
implementation 'com.android.support:design:26.0.2'
implementation 'com.android.support:multidex:1.0.2'
api 'com.jakewharton:butterknife:7.0.1'
implementation 'de.hdodenhof:circleimageview:2.1.0'
implementation 'com.android.support:percent:26.0.2'
implementation 'com.google.android.gms:play-services-maps:11.4.2'
implementation 'com.github.bumptech.glide:glide:3.7.0'
implementation 'com.google.code.gson:gson:2.8.1'
testImplementation 'junit:junit:4.12'
implementation 'com.facebook.rebound:rebound:0.3.8'
implementation 'com.google.android.gms:play-services-gcm:11.4.2'
implementation 'io.reactivex.rxjava2:rxjava:2.1.1'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation project(':animators')
// Retrofit2 & XmlConverter
implementation 'com.squareup.retrofit2:retrofit:2.3.0'
implementation 'com.squareup.retrofit2:converter-gson:2.1.0'
implementation 'com.squareup.retrofit2:adapter-rxjava:2.1.0'
implementation('com.squareup.retrofit2:converter-simplexml:2.3.0') {
exclude group: 'xpp3', module: 'xpp3'
exclude group: 'stax', module: 'stax-api'
exclude group: 'stax', module: 'stax'
}
implementation 'com.squareup.okhttp3:okhttp:3.4.1'
implementation 'com.squareup.okhttp3:logging-interceptor:3.4.1'
//Library to reports crash
implementation('ch.acra:acra:4.5.0') {
exclude group: 'org.json'
}
implementation 'com.github.kenglxn.QRGen:android:2.3.0'
}
在library animator的build.gradle中我将targetSdkVersion升级到26:
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
buildToolsVersion '26.0.2'
defaultConfig {
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
}
dependencies {
implementation "com.android.support:support-compat:26.0.2"
implementation "com.android.support:support-core-ui:26.0.2"
implementation "com.android.support:recyclerview-v7:26.0.2"
}
甚至,我也遇到过同样的问题。
我已经参考上面的问题解决了 使用新的 g radle-4.1 的解决方案 2:
我进行了以下 gradle 更改。 似乎通过 maven Amazon 下载资源帮助我解决了这个问题,appcompat 库存在问题。检查并确保在您的系统中下载了与 appcompat 兼容的支持库。我的感觉是,它只是没有通过 maven 下载资源,导致编译错误问题。确保在您的本地驱动器中找到资源以解决问题。
刚玩过
- Maven 亚马逊 url
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
jcenter()
}
- 在驱动器中下载兼容的支持库并引用 gradle 中的兼容库。
dependencies {
implementation fileTree(dir: 'libs', include: \['*.jar'\])
implementation 'com.android.support:appcompat-v7:26.0.0-alpha1'
implementation 'com.android.support:support-v4:26.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
}
完整文件
apply plugin: 'com.android.application'
repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
jcenter()
}
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.cognizant.interviewquestions.cognizantiqpractice2"
minSdkVersion 18
targetSdkVersion 26
versionCode 1
versionName "1.0"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: \['*.jar'\])
implementation 'com.android.support:appcompat-v7:26.0.0-alpha1'
implementation 'com.android.support:support-v4:26.0.0-alpha1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
}
---------------------------------------------------------------------------
试试这个我已经通过评论下面的行解决了我的问题
依赖关系
{
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
//compileOnly 'com.android.support.test:runner:1.0.1'
//compileOnly 'com.android.support.test.espresso:espresso-core:3.0.1'
//androidTestImplementation 'junit:junit:4.12'
}
使用 Android Studio 2.3(AS) 项目运行良好,我可以 运行 该应用程序。将 AS 更新为 Android Studio 3.0 后。对于库和构建类型,我也遇到了如下错误。
Unable to resolve dependency for ':app@dexOptions/compileClasspath': Could not resolve project : library_Name.
Unable to resolve dependency for ':app@release/compileClasspath': Could not resolve project : library_Name.
解决问题,简单。
什么时候
buildTypes{
debug{ ... }
release{ ... }
}
你的 (app) build.gradle 文件中,你必须包含所有 buildTypes{ }
同名的
buildTypes{
debug{ ... }
release{ ... }
}
进入项目 中包含的 所有 libraries/modules 的 build.gradle
个文件。
清理并重建项目,问题将得到解决。
问题仍未解决,请将 gradle-wrapper.properties 更新为
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
我遇到了同样的问题,已经解决了
鉴于我的情况,我猜你的应用程序项目的 build.gradle
文件包含以下片段:
android {
...
buildTypes {
debug {...}
release {...}
dexOptions {...}
}
}
但实际上,dexOptions
不是构建类型,您应该将 dexOptions
部分移出 buildTypes
,如下所示:
android {
...
dexOptions {
...
}
buildTypes {
debug {...}
release {...}
}
}
希望能帮到别人。
你只需要在 app.gradle 文件中重置依赖项 像旧的一样
androidTestImplementation 'com.android.support.test:runner:0.5'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:2.2.2'
到新的
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
全部修改
compile project(':library:yourproject')
至
implementation project(path: ':library:yourproject', configuration:'default')
在您的应用中 build.gradle。注意带配置的行。
确保你在你的项目中
- 打开首选项,方法是单击 文件 > 设置(在 Mac, Android Studio > 首选项).
- 在左窗格中,单击 构建、执行、部署 >> Gradle.
- 取消选中/禁用
Offline work
复选框。 - 单击应用或确定。
我尝试了 运行 Android studio 3.0.1 与互联网连接。 Android 工作室开始从 link 自动下载一些内容,该内容显示在 Gradle 构建通知中。我不能说这是一个确定的答案,但试试这个..也许你可以解决你的问题。
解决方案:
下载终极版Gradle
http://services.gradle.org/distributions/
gradle-4.x-rc-1-all.zip.sha256 09-Jan-2018 01:15 +0000 64.00B
解压缩分发包
转到 Android Studio -> 文件 -> 设置 -> Gradle -> 使用本地 gradle 分发 搜索文件并确定
在gradle:app写这个,实现(路径:':animators',配置:'default')
dependencies {
.
.
.
implementation project(path: ':animators', configuration: 'default')
}
将 productFlavors{} 添加到应用 build.gradle 为我解决了这个问题。见下文:
buildTypes {
release {
...
}
}
productFlavors {
}
我有同样的问题,通过将 'mavenCentral()' 添加到 build.gradle(Project)
解决了这个问题allprojects {
repositories {
...
mavenCentral()
}
}
这是我解决问题的方法:
而不是
compile project(':library_name')
compile project(':library_name')
应用内gradle我用过
implementation project(':library_name')
implementation project(':library_name')
例如在我的构建类型中
demoTest {
.........
}
我添加了这一行
demoTest {
matchingFallbacks = ['debug', 'release']
}
Step 1:
1.Open the Preferences, by clicking File > Settings (on Mac, Android Studio > Preferences).
2.In the left pane, click Build, Execution, Deployment >> Gradle.
3.Uncheck/disable the Offline work checkbox.
4.Click Apply or OK.
Step 2:
downgrade the gradle-wrapper.properties content which you can access this
file directory by clicking on CTRL + SHFT +R KEY
e.g from
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
to
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
or to any lower version like /gradle-3.9-all.zip or /gradle-3.8-all.zip
就我而言,我遇到的问题是由于我试图导入的依赖项 (BottomNavigationViewEx)。
此依赖项需要从 jitpack.io 和 maven.google.com 下载,我将此配置放在构建脚本部分:
buildscript {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" } // this is incorrect
maven { url "https://maven.google.com" } // this is incorrect
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
}
}
这是不正确的,我需要删除这两行 Maven 行并将它们包含在正确的部分中,'allprojects':
allprojects {
repositories {
google()
jcenter()
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
}
}
希望它对我一样的人有所帮助。
确保在Gradle设置中禁用"Offline work"(设置->构建、执行、部署->构建工具->Gradle).
我犯了这个错误。我遵循了加速 gradle 构建的指南,并打开了离线工作选项。如果启用,Gradle 将无法下载任何新的依赖项,因此会导致 "Unable to resolve dependency" 错误。
我在这个问题上花了很多时间,none 以上解决方案对我有用。应用程序和库项目中构建类型的名称和数量也完全相同。
我犯的唯一错误是 - 在图书馆项目的 build.gradle 中,我使用了行
apply plugin: 'com.android.application'
虽然这一行应该是 -
apply plugin: 'com.android.library'
进行此更改后,此错误已解决。
我尝试了从取消选中离线工作到matchingFallbacks的所有方法。但是没有任何效果。
然后,在 app.gradle 的 依赖项中,
而不是
implementation project(':lib-name')
我用过,
implementation project(path:':lib-name', configuration: 'default')
Eg:
implementation project(path:':myService', configuration: 'default')
而且效果非常好。 :)
我正在添加 依赖模块 和 服务 并且我没有将库作为 AOSP 的一部分项目。
以防万一,它可以帮助某人。
我的问题如下
Unable to resolve dependency for ':app@debug/compileClasspath': Could not download rxjava.jar (io.reactivex.rxjava2:rxjava:2.2.2)
检查Enable embedded Maven Repository
我尝试了上面给出的所有解决方案,其中 none 对我有用,我确保我的库模块和应用程序模块中有准确的构建类型和产品风格。
如果在 Linux 上使用 Android Studio:
转到:Home/Android Studio Projects folder/App name folder
在该页面上打开终端并输入:
./gradlew -Dhttp.proxyHost
检查 JAVA_HOME
是否设置在有效目录上,如果未设置有效位置,最后重建您的项目。
NOTE: if that doesn't work remove gradle cache folder or all of that and download again with Android Studio.
这个话题似乎有点奇怪,但是关于原始问题,您不仅必须在两个 build.gradle 文件中都有您的 buildTypes,您还需要有您的 productFlavors(如果您是当然也可以在 build.gradle 文件中使用它们。
当您添加对使用错误插件类型的功能模块的引用时,也可能会发生这种情况。只需将 com.android.application
更改为 com.android.feature
或 com.android.library
https://i.stack.imgur.com/NDjnG.png
更改 gradle 中的代码:
compile project(':yourLibrary')
至
implementation project(path: ': yourLibrary', configuration:'default')
从文件添加库->右键单击->新建->模块->导入 Eclipse ADT 项目->浏览您的库->完成 现在在应用 gradle 设置中添加以下代码:
implementation project(':library')
最后在设置gradle中添加如下代码:
include ':app', ':library'
将 android Studio 更新到 3.3 后。我在尝试加载 Firebase JobDispatcher 时遇到了这个问题。 在 gradle.properties 上添加这个 link 解决了我的问题
distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
我知道上面的none个解决方案是行得通的,因为我一直陷入这种问题很长一段时间,在非常仔细地观察问题后终于解决了这个问题,这表明
Unable to resolve dependency for ':app@dexOptions/compileClasspath': Could not resolve project : library_Name.
您需要确认并仔细检查 class 是否位于此处。我猜这件事对很多人都会有很大帮助,因为专注于这一点让我离解决方案更近了一步。现在,如果该文件夹路径中不存在任何内容,您需要获取全部内容,例如 src 文件夹构建文件夹等所有内容,复制并将其粘贴到 sync/rebuild 项目,如果需要,请尝试使无效并重新启动 android 工作室。希望这能让您摆脱我遇到的麻烦。
谢谢
将 implementation 'com.android.support:appcompat-v7:27+'
更改为 implementation 'com.android.support:appcompat-v7:+'
对我有用
我正在使用 Intellij 2019 CE 和 Kotlin
我的情况是这样的:
Unable to resolve dependency for ':app@debug/compileClasspath': Failed to transform artifact....
我尝试了十种解决方案,没有一个有效,因此我的解决方案是删除 C:\Users\djdance.gradle\caches 并重新启动 AS