Android Studio中的gradle麻烦

时间:2019-06-10 12:52:10

标签: android gradle

我知道以下问题:

Failed to resolve: com.android.support:cardview-v7:26.0.0 android

Could not resolve com.android.support:appcompat-v7:26.1.0 [duplicate]

Could not resolve com.android.support:appcompat-v7:26.1.0 in Android Studio new project

我已经阅读了以下文档:

Migrate to Android Plugin for Gradle 3.0.0

Migrating to Android 8.0

所以我发布这个问题,认为它不是重复的。

我已经安装了Android Studio 3.4.1。我以前没有任何以前的版本,所以我开始了一个新项目。

Gradle文件中的每个设置都是由Android Studio本身设置的,我已经全部选中了。

我已经尝试过

这些是文件内容:

build.gradle(Module:app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.0"
    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 28
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

}

顶级build.gradle

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        google()
        jcenter()
        maven {url 'https://maven.google.com/'}
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/guardian/android' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

gradle-wrapper.properties

 #Mon Jun 10 17:40:01 IST 2019
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip

我在存储库中使用google()是因为here清楚地说:

  // If you're using a version of Gradle lower than 4.1, you must instead use:
     // maven {
     //     url 'https://maven.google.com'
     // }

我的gradle版本是4.1,所以我不需要上面的代码。

但是我仍然收到此错误,因为其他人一直在问:

  •   

    无法解决以下方面的依赖性   ':app @ releaseUnitTest / compileClasspath':无法解析   androidx.constraintlayout:constraintlayout:1.1.3。

  •   

    错误:无法解决以下项的依赖性   ':app @ releaseUnitTest / compileClasspath':无法解析   androidx.versionedparcelable:versionedparcelable:1.0.0。

  •   

    错误:无法解决以下项的依赖性   ':app @ releaseUnitTest / compileClasspath':无法解析   androidx.lifecycle:lifecycle-runtime:2.0.0。

  •   

    错误:无法解决以下项的依赖性   ':app @ releaseUnitTest / compileClasspath':无法解析   androidx.legacy:legacy-support-core-ui:1.0.0。

  •   

    错误:无法解决以下项的依赖性   ':app @ releaseUnitTest / compileClasspath':无法解析   androidx.vectordrawable:vectordrawable-animated:1.0.0。

  •   

    错误:无法解决以下项的依赖性   ':app @ releaseUnitTest / compileClasspath':无法解析   androidx.fragment:fragment:1.0.0。

我还取消了gradle并使用默认选项的离线复选框

I have also unchecked the offline check box from gradle and using default

AS 3.4.1中创建一个新项目并设置了所有必需的设置后,为什么会出现此错误?

3 个答案:

答案 0 :(得分:2)

您正在尝试混合使用AppCompat和Jetpack依赖项,但是您不能这样做。

我认为您可能没有正确的Jetpack库存储库设置(为什么它找不到任何Jetpack库)。

不要使用:实现'androidx.appcompat:appcompat:1.0.2'。 (这是Jetpack)-使用此版本的AppCompat(此外-Jetpack与28.x之前的Appcompat版本不一致)。最重要的是,摆脱掉所有显示(androidx)的内容。

答案 1 :(得分:1)

替换

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

使用

implementation 'com.android.support:appcompat-v7:26.0.0'
implementation 'com.android.support:design:26.0.0'

编辑:-  您应该使缓存无效并重新启动。遵循以下步骤file-> invalidate caches/Restart然后选择invalidate and restart

答案 2 :(得分:1)

定义Appcompat和jetpack的存储库

allprojects {
    repositories {
        google()
        jcenter()        
        maven {url 'https://maven.google.com/'}
        maven { url "https://jitpack.io" }
        maven { url 'https://dl.bintray.com/guardian/android' }
    }
}

在使用gradle同步项目之后。让我知道它的工作与否。