无法解析':app @ debug / compileClasspath':无法解析com.android.support:appcompat-v7:26.1.0

时间:2017-10-29 11:25:31

标签: android android-studio gradle android-gradle

无法解决':app @ debug / compileClasspath':无法解析com.android.support:appcompat-v7:26.1.0。

无法解析com.android.support:appcompat-v7:26.1.0。

要求:project:app

  

没有缓存版本的com.android.support:appcompat-v7:26.1.0可用于离线模式。

错误日志:

  

无法解析配置的所有文件':app:debugCompileClasspath'。
  无法解析com.android.support:appcompat-v7:26.1.0。
    要求:
        项目:app
  没有缓存版本的com.android.support:appcompat-v7:26.1.0可用于离线模式   没有缓存版本的com.android.support:appcompat-v7:26.1.0可用于离线模式   无法解析com.android.support.constraint:constraint-layout:1.1.0-beta3。
    要求:
        项目:app
  没有缓存版本的com.android.support.constraint:constraint-layout:1.1.0-beta3可用于离线模式。
  没有缓存版本的com.android.support.constraint:constraint-layout:1.1.0-beta3可用于离线模式。
  无法解决com.android.support:design:26.1.0。
    要求:
        项目:app
  没有缓存版本的com.android.support:design:26.1.0可用于离线模式   没有缓存版本的com.android.support:design:26.1.0可用于离线模式   无法解决com.android.support:cardview-v7:26.1.0。
    要求:
        项目:app
  没有缓存版本的com.android.support:cardview-v7:26.1.0可用于离线模式   没有缓存版本的com.android.support:cardview-v7:26.1.0可用于离线模式   无法解析com.google.android.gms:play-services-ads:11.4.2。
    要求:
        项目:app
  没有缓存版本的com.google.android.gms:play-services-ads:11.4.2可用于离线模式   没有缓存版本的com.google.android.gms:play-services-ads:11.4.2可用于离线模式   无法解决com.android.support:support-v4:26.1.0。
    要求:
        项目:app
  没有缓存版本的com.android.support:support-v4:26.1.0可用于离线模式   没有缓存版本的com.android.support:support-v4:26.1.0可用于离线模式。

错误日志图片:

Click here for image

20 个答案:

答案 0 :(得分:125)

转到File->Other Settings->Default Settings->Build, Execution, Deployment->Build Tools->Gradle->Uncheck Offline work option.

答案 1 :(得分:24)

下面是一个解决方法演示图片;通过转到:

取消选中离线工作选项
  

档案 - > 设置 - > 构建,执行,部署 - > 摇篮

enter image description here

如果上述解决方法不起作用,请尝试以下方法:

  
      
  1. 打开应用程序的build.gradle文件。

  2.   
  3. 确保存储库部分包含带有" https://maven.google.com"的maven部分。端点。例如:

    allprojects {
         repositories {
             jcenter()
             maven {
                 url "https://maven.google.com"
             }
         }
    }
    
  4.   
  5. 将支持库添加到dependencies部分。例如,要添加v4 core-utils库,请添加以下行:

    dependencies {
        ...
        compile "com.android.support:support-core-utils:27.1.0"
    }
    
  6.         

    警告:使用动态依赖关系(例如,palette-v7:23.0.+)可能会导致意外的版本更新和回归不兼容。我们建议您明确指定库版本(例如,palette-v7:27.1.0)。

         

    清单声明更改

         

    具体来说,您应该将清单中android:minSdkVersion标记的<uses-sdk>元素更新为新的较低版本号,如下所示:

    <uses-sdk
      android:minSdkVersion="14"
      android:targetSdkVersion="23" />
    
         

    如果您使用的是Gradle构建文件,则构建文件中的minSdkVersion设置会覆盖清单设置。

    apply plugin: 'com.android.application'
    
    android {
       ...
          defaultConfig {
                minSdkVersion 16
                ...
            }
            ...
        }
    

关注Android Developer Library Support

答案 2 :(得分:8)

刚转到build.gradle并删除了该行:

implementation 'com.android.support:appcompat-v7:26.1.0'

之后,我重新同步了Gradle。然后,我将代码行粘贴回来,再次重新同步Gradle并运行。

注意:在进行此项更改时,我还更新了所有需要更新的SDK工具。

答案 3 :(得分:7)

/** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('ABC'); } (来自“文件”选项)。

仅取消选中离线模式对我不起作用。

答案 4 :(得分:6)

使用Invalidate Caches/Restart它将适用于您,并确保您的gradle脱机同步选项未启用

答案 5 :(得分:6)

在项目gradle中添加这个为我工作

allprojects {
 repositories {
     jcenter()
     maven {
         url "https://maven.google.com" // specifically this worked 
     }
 }}

答案 6 :(得分:2)

在android \ app \ build.gradle文件中,

替换版本详细信息

implementation 'com.android.support:appcompat-v7:26.1.0'

使用

implementation 'com.android.support:appcompat-v7:+'

Android Studio将使用合适的版本使其适合您。

答案 7 :(得分:1)

我解决了这个问题。在Home Ubuntu中,我删除了 .gradle 文件夹并再次下载。 我希望它有用

答案 8 :(得分:1)

对于生活在Google禁止的国家(例如伊朗)的用户来说,这是一个问题。 因此,我们需要通过代理删除这些限制。 跟随我:

文件->设置->外观和行为->系统设置-> Http代理->手动代理配置-> HTTP->主机名:fodev.org->端口:8118。

,然后单击确定按钮。 然后转到file-> Invalidate Caches / Restart。 。 。 使用并享受正确执行而没有错误;)

答案 9 :(得分:1)

今天我有类似的问题。

在我的项目gradle中上一个

// Top-level build file where you can add configuration options common to all 
sub-projects/modules.
allprojects {
repositories {
    jcenter()
    google()
    mavenCentral()
    maven { url "https://jitpack.io" }
    maven { url 'https://plugins.gradle.org/m2/'}
}}

然后我将其添加到所有项目的下面

maven {
        url "https://maven.google.com"
    }

它挽救了我的一天。

现在我当前的allproject {}代码看起来像这样

allprojects {
repositories {
    jcenter()
    google()
    mavenCentral()
    maven { url "https://jitpack.io" }
    maven { url 'https://plugins.gradle.org/m2/'}
    maven {
        url "https://maven.google.com"
    }
}}

答案 10 :(得分:0)

来自documentations

  

将支持库添加到“依赖项”部分。例如,   添加v4 core-utils库,添加以下行:

dependencies {
    ...
    implementation "com.android.support:support-core-utils:28.0.0"
}

答案 11 :(得分:0)

我遇到了同样的问题,在build.gradle文件的存储库块中添加mavenCentral()对我来说很有效。我未选中离线工作,并添加了maven { url "https://maven.google.com" }。为在此线程末尾发现自己的迷失灵魂添加此答案。

答案 12 :(得分:0)

如果您没有取消选中离线工作,请确保您有Internet连接Android Studio以使您的项目正常化。

答案 13 :(得分:0)

如果在添加动态模块后遇到相同的错误,请不要担心,请遵循以下步骤:

  • 在build.gradle(dynamic-module)中添加productFlavors

    productFlavors {
    flavorDimensions "default"
    stage {
       // to do
    }
    prod {
       // to do
    
     }
    }
    

答案 14 :(得分:0)

对于接受的答案不能解决此问题的其他人...

从2018年9月开始,AndroidX取代了包括支持appcompat-v7库的Android支持库。

'com.android.support:appcompat-v7'变为'androidx.appcompat:appcompat:1.0.0'

'com.android.support:design'变为'com.google.android.material:material:1.0.0'

  

参考文献:

     

https://developer.android.com/jetpack/androidx/migrate   支持库到AndroidX映射的列表

答案 15 :(得分:0)

对于在项目中具有风味并找到此线程的用户:

请注意,如果您的模块依赖项具有不同的风格,则应使用以下一种策略:

  1. 加强依赖性的模块应具有与以下模块相同的样式和尺寸 依赖模块
  2. 您应在模块中明确指出要配置的目标

喜欢:

dependencies {
    compile project(path: ':module', configuration:'alphaDebug') 
}

答案 16 :(得分:0)

转到“文件”->“其他设置”->“新项目的首选项”->“构建,执行,部署”->“构建工具”->“成绩”->“取消选中离线工作”选项。

答案 17 :(得分:0)

对我来说,原因是jcenter的网址错误。为了解决这个问题,我只是更改了应用和项目级别build.gradle

的网址

来自

jcenter { url "http://jcenter.bintray.com/"}

jcenter()

答案 18 :(得分:0)

转到build.gradle文件,然后在这些位置将27和29替换为25 1. targetSdkVersion 25 2.实施'com.android.support:appcompat-v7:25。+'

对我来说真的很有效 谢谢。

答案 19 :(得分:0)

App gradle中使用的实现'androidx.appcompat:appcompat:1.1.2'为我解决了该问题