9

我的 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.为了解决错误,我进一步从我的应用级 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'
}
4

4 回答 4

5

喜欢我遇到的问题。</p>

当我像这样使用 Android Room 时:

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

我犯了同样的错误。

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

更详细的可以看这个: 房间持久化后支持库报错

Room 依赖于 26.1 的支持库,这可能是它被破坏的原因,因为 SupportLibrary 不承诺版本之间的互操作。

另外,您可以使用此解决问题

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

于 2018-01-24T09:21:34.027 回答
4

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

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

compile 'com.google.android:flexbox:0.2.7'
于 2017-10-25T09:52:30.900 回答
1

利用

compile 'com.android.support:appcompat-v7:26.1.0'
于 2018-05-09T13:27:04.537 回答
0

我刚换了行

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

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

它对我有用

于 2018-05-25T15:25:31.067 回答