无法访问 ActivityCompatApi23 class

Cannot access ActivityCompatApi23 class

我的 gradle 文件有 运行 时间问题。我将此 compile 'com.google.android:flexbox:0.3.1' 作为编译时依赖项添加到我的 Gradle 文件中。我遇到错误并将其添加到我的项目级别 Gradle 文件中。

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

加了上面的终于喜欢上了

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

在我的应用程序级别 Gradle 文件中添加以上内容后,我在尝试 运行 我的应用程序时遇到了不同的错误。所以我根据 SO 的一些答案做了以下操作。

  1. 尝试清理并重建。
  2. 导航到路径 projectName\.idea\libraries 并删除包含当前版本以外的支持库版本的文件 25.3.1 3.In 为了解决错误,我进一步从我的应用级别 Gradle 文件中删除了这一行,

    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 排除组:'com.android.support',模块:'support-annotations' })

现在最终的 Gradle 文件看起来像这样但有错误,

错误:

Error:(28, 8) error: cannot access ActivityCompatApi23
class file for android.support.v4.app.ActivityCompatApi23 not found

我的Gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"
    defaultConfig {
        applicationId "com.example.test"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')

    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support:design:25.3.1'
    compile 'com.android.support:cardview-v7:25.3.1'
    compile 'com.android.support:support-v4:25.3.1'
    compile 'com.google.android:flexbox:0.3.1'
    compile 'uk.co.chrisjenx:calligraphy:2.3.0'
    testCompile 'junit:junit:4.12'
}

您已声明 compileSdkVersion 等于 25,而 0.3.1 版本的 flexbox 布局 uses 支持库版本 26.0.0 - 这是个问题,compileSdkVersion应该匹配支持库的主要版本。

要么将你的项目升级到 26,要么使用依赖于 sdk 25 的 flexbox 布局版本,这似乎是 v0.2.7:

compile 'com.google.android:flexbox:0.2.7'

喜欢我遇到的问题。

当我使用 Android 这样的房间时:

compileSdkVersion 25 编译 "android.arch.persistence.room:runtime:1.0.0"

我遇到同样的错误。

因为 compileSdkVersion 应该匹配支持库的主要版本。

更多细节你可以看这个:

Room depends on 26.1 of support library, which is probably why it is broken because SupportLibrary does not promise interop between versions.

此外,您可以使用此

解决问题

compile ("android.arch.persistence.room:runtime:1.0.0") {
                exclude group: 'com.android.support'
}

使用

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

我刚换了行

compile 'com.android.support:appcompat-v7:26.0.0-alpha1'

compile 'com.android.support:appcompat-v7:26.+'

它对我有用