将com.android.tools.build:gradle更新为2.3.0-beta1后无法解析符号Theme.AppCompat

时间:2017-01-18 17:18:24

标签: android build.gradle android-appcompat appcompat-v7-r25

com.android.tools.build:gradle从项目更新到2.3.0-beta1后出现此问题。 如果我回到2.2.3,则Theme.AppCompat样式会识别。

我不想将其设置为2.2.3,因为项目不能超时。

这是错误的打印:

enter image description here

我的项目build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0-beta1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

我的应用build.gradle

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'
    defaultConfig {
        applicationId "com.xxxxxxx.xxxxxxx"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 76
        versionName "1.18.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    useLibrary 'org.apache.http.legacy'
}

buildscript {

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }

    repositories {

        maven {
            url 'https://maven.fabric.io/public'
        }

    }

}

repositories {

    maven {
        url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/"
    }

    maven {
        url 'https://maven.fabric.io/public'
    }

    flatDir {
        dirs 'libs'
    }

}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile('de.keyboardsurfer.android.widget:crouton:1.8.5@aar') {
        exclude group: 'com.google.android', module: 'support-v4'
    }
    compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true;
    }
    compile(name: 'libctfclient-sdk', ext: 'aar')

    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.support:support-v13:25.1.0'
    compile 'com.android.support:support-v4:25.1.0'
    compile 'com.android.support:design:25.1.0'

    compile 'com.github.gabrielemariotti.cards:library:1.8.0'
    compile 'com.github.gabrielemariotti.cards:library-extra:1.8.0'
    compile 'com.github.castorflex.smoothprogressbar:library:1.1.0'
    compile 'com.github.chrisbanes.actionbarpulltorefresh:library:0.9.9'
    compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'
    compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'
    compile 'com.google.zxing:core:3.0.1'
    compile 'com.mcxiaoke.volley:library:1.0.19'
    compile 'com.google.android.gms:play-services-analytics:9.8.0'
    compile 'com.github.nkzawa:socket.io-client:0.3.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta4'
}

为了发生错误,我遇到了这个问题:

enter image description here

我已经尝试过:

  • Invalidate Caches\Restart;

  • 将android支持库更新到最新版本;

  • 清理并重建项目;

有没有人知道如何在不将项目build.gradle设置为2.2.3的情况下解决此问题?

4 个答案:

答案 0 :(得分:3)

如本回答所述[{3}},

“build cache”默认在build Android Plugin中启用,自2.3.0开始。它在项目文件夹之外的构建缓存中创建文件(例如,在\ Users \%username%.android \ build-cache中)。 Theese文件适用于您的项目。

然后Android Studio无法在theese文件中导航。

您可以在gradle.properties文件中禁用Build Cache。只需添加android.enableBuildCache = false

答案 1 :(得分:1)

我使用了android.tools.build:gradle:2.3.0-beta3并遇到了同样的问题。我已将Android Studio 2.2.3升级到2.3 beta 2,一切正常。

答案 2 :(得分:0)

档案 - >无效的缓存/重新启动无法解决问题。

偏好设置 - >构建,执行,部署 - > Gradle显示使用Gradle home选择的本地gradle分发:/ Applications / Android Studio.app/Contents/gradle/gradle-2.14.1并显示一条警告,说明gradle位置不正确。

选择使用默认gradle包装器(推荐)解决了问题。 可能只是指向新的本地分发位置也可以。

答案 3 :(得分:-1)

尝试:文件 - > "使Cashes \ Restart"

无效

可能只是android studio的问题