Подтвердить что ты не робот

Attr/colorError не найдена ошибка при использовании com.android.support:recyclerview-v7:26.0.0-beta2

Я использую Android Studio 3.0 Canary 4. Я импортировал библиотеку просмотра recycler. Затем появляется сообщение attr/colorError not found. Это приложение build.gradle:

apply plugin: 'com.android.application'

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

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:recyclerview-v7:26.0.0-beta2'
    implementation 'com.android.support:appcompat-v7:26.0.0-beta2'
}

Всякий раз, когда я добавляю реализацию двух библиотек "com.android.support:recyclerview-v7:26.0.0-beta2" и   реализация 'com.android.support:appcompat-v7:26.0.0-beta2', выдается это сообщение об ошибке: введите описание изображения здесь

Я попытался очистить и перестроить, сообщение об ошибке все еще существует. Я проверил res/values ​​/colors, значения цвета там. Почему я получаю эту ошибку цвета? Если я хочу использовать просмотр recycler, какую версию библиотеки я должен импортировать?

4b9b3361

Ответ 1

Измените следующие данные, которые будут работать нормально,

compileSdkVersion 26
buildToolsVersion "26.0.0-beta2"

Ответ 2

Также обновление compileSDKVersion и buildToolsVersion до 26 (это было 25) исправило проблему для меня:

compileSdkVersion 26
buildToolsVersion '26.0.2'
...
dependencies {
    ...
    compile 'com.android.support:appcompat-v7:26.0.2'

}

В общем, убедитесь, что все версии совместимы (компиляция, сборка, библиотеки appcompat).

Это обеспечение компиляции и стабильности во время выполнения (также можно увидеть предупреждение lint о последнем, если lint найдет версии библиотек поддержки differnet)

Ответ 3

Версия 26.0.0 Beta 2

Обратите внимание, что 26.0.0-beta2 - это предварительная версия. Его API поверхность может быть изменена, и это необязательно включает функции или исправления ошибок из последних стабильных версий поддержки Библиотека.

Для вашей проблемы вы можете использовать "26.0.0-beta2" . Будет лучше, если вы используете Стабильный Версия.

Ответ 4

Я видел ту же ошибку, когда мое приложение находится на appcompat-26 и пытается включить библиотеку Android, которая, в свою очередь, использует appcompat-25. Мое решение до сих пор заключалось в том, чтобы сохранить приложение на 25.

Я понятия не имею, должно ли это быть таким. Разумеется, вы должны иметь возможность публиковать библиотеку, которая использует версию lib поддержки версии X, и запускать ее в приложениях с помощью версии lib версии X + 1.

Я использую AS 3.0-beta7, так что, возможно, он разрешился на stable 3.0, который был выпущен несколько дней назад.

Ответ 5

Просто измените minSdk:

например.:

android {
   compileSdkVersion 26
   buildToolsVersion "26.0.0-beta2"
   defaultConfig {
      applicationId "com.parse.starter"
      minSdkVersion 15
      targetSdkVersion 21
      versionCode 1
      versionName "1.0"
   }
}

Надеюсь, это поможет

Ответ 6

Я обнаружил, что эта ошибка "attr/colorError" возникла, когда я создал варианты продукта и поместил "legacy" после "current" в моем build.gradle (в папке "app"). Когда я поставил "наследие" перед "текущим" (как показано ниже), ошибка исчезла. Может быть, сначала должны появиться более низкие версии "versionCode" или "Sdk"?

   flavorDimensions "legacycurrent"
   productFlavors {

      legacy {
               dimension "legacycurrent"
               versionCode 98
               minSdkVersion 9
               targetSdkVersion 25
               compileSdkVersion 25
             }
      current {
               dimension "legacycurrent"
               versionCode 99
               minSdkVersion 14
               targetSdkVersion 26
               compileSdkVersion 26
             }
   }

Ответ 7

FWW - для будущих пользователей, я добавил приведенный ниже код в мой корневой build.gradle, чтобы искать в зависимостях и исправлять их в соответствии с моим корневым проектом. Возможно, есть предостережения и причины, по которым это плохая идея, но она последовательно работает на меня.

subprojects {
    afterEvaluate {subproject ->
        if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
            android {
                compileSdkVersion rootProject.ext.compileSdkVersion
                buildToolsVersion rootProject.ext.buildToolsVersion
            }
        }
    }
}

Ответ 8

мне помогло вставить следующий код в Android/build.gradle:

subprojects {
    afterEvaluate {project ->
        if (project.hasProperty("android")) {
            android {
                compileSdkVersion 28
                buildToolsVersion "28.0.3"
            }
        }
    }
}