Не найден ресурс, соответствующий данному имени: attr 'android: keyboardNavigationCluster'. при обновлении библиотечного 26.0.0

у меня есть эта проблема при обновлении до последней версии библиотеки поддержки 26.0.0 (https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0):

ошибка: (18, 21) не найден ресурс, соответствующий заданному имени: attr "android: keyboardNavigationCluster".

/.../app/build/intermediates/res/merged/beta/debug/values-v26/values-v26.xml
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(15, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:(18, 21) No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.
Error:Execution failed for task ':app:processBetaDebugResources'.

com.андроид.интегрированная среда разработки.общий.процесс.ProcessException: не удалось выполнить aapt

файл с библиотека поддержки:

<style name="Base.V26.Widget.AppCompat.Toolbar" parent="Base.V7.Widget.AppCompat.Toolbar">
    <item name="android:touchscreenBlocksFocus">true</item>
    <item name="android:keyboardNavigationCluster">true</item>
</style>

мы используем следующие версии:

ext.COMPILE_SDK_VERSION = 26
ext.BUILD_TOOLS_VERSION = "26.0.1"

ext.MIN_SDK_VERSION = 17
ext.TARGET_SDK_VERSION = 26
ext.ANDROID_SUPPORT_LIBRARY_VERSION = "26.0.0"
ext.GOOGLE_PLAY_SERVICES_LIBRARY_VERSION = "11.0.2"

compile 'com.android.support:appcompat-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:design:' + ANDROID_SUPPORT_LIBRARY_VERSION
compile 'com.android.support:recyclerview-v7:' + ANDROID_SUPPORT_LIBRARY_VERSION

какие идеи?

25 ответов


я смог решить его, обновив версию sdk и инструменты в gradle compileSdkVersion 26 buildToolsVersion "26.0.1"

и support library 26.0.1 https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-1


изменить Скомпилировать SDK версии:

compileSdkVersion 26

Версия Инструмента Сборки:

buildToolsVersion "26.0.1"

целевая версия SDK:

targetSdkVersion 26

зависимости:

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

Синхронизация Gradle.


мне пришлось изменить compileSdkVersion = 26 и buildToolsVersion = '26.0.1' во всех моих зависимостей build.gradle файлы


в моем проекте react-native эта ошибка генерируется в react-native-fbsdk. Обновление react-native-fbsdk/android/build.gradle следующим образом устраняет проблему.

compileSdkVersion 26
buildToolsVersion "26.0.1"

Я попал в эту же ошибку и гуглил по всему, пытаясь найти, что я делаю неправильно, так как это генерируется код сборки-26, а не стили, которые я предоставил. Я пробовал все: от Gradle 4.0 до Android Studio preview 3.0 до canary channel, Вы называете это.

Я не нашел ответа в интернете. В конце концов, я смог вернуться к стандартной Dev Android Studio и 2.3.3 Gradle, поскольку я случайно ее исправил:).

оказалось, что я был так сосредоточен на обновление моего проекта Библиотеки, что я не заметил, что ошибка была вызвана из неиспользуемого модуля (демонстрационного приложения), вложенного в мой проект библиотеки. Как только я обновил модуль sub, чтобы соответствовать инструментам сборки 26 и библиотекам дизайна и поддержки 26+, моя проблема исчезла.

Не уверен, что это то, что вы видите, но лично я только обновлял lib, чтобы снова выпустить, поэтому не заботился о модуле образца приложения, и ошибка, похоже, была связана с 26 sdk который я только коснулся в модуле lib, поэтому не думал проверять другой. Так вот в чем была проблема с самого начала. Надеюсь, это исправит и тебя. У меня была эта ошибка в 2 библиотечных проектах, и она исправила ее в обоих.

Goodluck в любом случае, и если это не решит вашу проблему, пожалуйста, поделитесь тем, что сделал. BTW 26.0.01 build tools и 26.1.0 design and support-это то, где я в конечном итоге собирался, хотя 26.0.1 также работал отлично.


у меня была эта точная ошибка, и я понял мой compileSdkVersion была определена в размере 25 и меня buildToolsVersion была определена в размере "26.0.1".

поэтому я просто изменил compileSdkVersion до 26 и синхронизировал Gradle. это исправили проблему для меня.

EDIT: my targetSDKVersion также был установлен как 26


Я также столкнулся с этой проблемой, вам просто нужно внести 2 изменения:

Имя Файла : android / build.Gradle в упомяните это ниже кода

subprojects {
   afterEvaluate { 
     project -> if (project.hasProperty("android")) { 
       android { 
        compileSdkVersion 26 buildToolsVersion '26.0.2' 
       } 
      }
    } 
}

Имя Файла : android / app / build.Gradle в измените версию compliesdk и buildToolVersion следующим образом:

compileSdkVersion 26 buildToolsVersion "26.0.2"

и

dependencies {
    compile 'com.android.support:appcompat-v7:26.0.2'
}

У меня была такая же проблема с моим проектом Ionic 2, все, что я сделал, чтобы решить проблемы, было

  • открыть " ionic_project_folder / платформы / android / проект.свойства"
  • изменить target=android-25 to target=android-26
  • Run ionic build --release android

надеюсь, это кому-то поможет!


//Adding this to the root build.gradle solved my problem, thanks @Yalamber
subprojects {
        afterEvaluate { project ->
            if (project.hasProperty("android")) {
                android {
                    compileSdkVersion 26
                    buildToolsVersion '26.0.2'
                }
            }
        }
    }

после обновления вашей Android studio до 3.0, Если эта ошибка возникает, просто обновите свойства gradle, это настройки, которые решили мою проблему:

compileSdkVersion 26

targetSdkVersion 26

buildToolsVersion '26.0.2'

я обновил свой проект app/build.gradle иметь

compileSDkVersion 26
buildToolsVersion '26.0.1'

однако проблема была на самом деле с react-native-fbsdk пакета. Мне пришлось изменить те же настройки в node_modules/react-native-fbsdk/android/build.gradle.


в Android studio,
щелкните правой кнопкой мыши на проекте (так как у меня был проект Cordova, у меня был CordovaLib и android: я выбрал android в своем случае),

  1. Выберите Открыть Настройки Модуля
  2. в модальной структуре проекта, которая всплывает, выберите проект в разделе "модули" на боковой панели (снова android в моем случае)
  3. перейдите на вкладку зависимости
  4. нажмите на зеленую кнопку Плюс в правом верхнем углу
  5. выберите Зависимость Библиотеки
  6. выберите app-compat-v7 из раскрывающегося списка
  7. очистить проект и перестроить

при попытке изменить targetSDKVersion 26 на 25 это время произошло я нашел решение не найден ресурс, который соответствует данному имени: attr 'android: keyboardNavigationCluster'. при обновлении библиотечного 26.0.0

просто выберите этот код из своей сборки.Gradle в

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.0.1'
            }
        }
    }
}

to

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '25.2.0'
            }
        }
    }
}

Я ударил это недавно и помню, откуда это происходит. Это несоответствие между Xamarin.Андроид.* версия и установленная версия Android SDK.

текущий VS2017 15.5.3 новый проект по умолчанию для nuGet Xamarin.Android.* are 25.4.0.2 и по умолчанию VS install для кросс-платформенной разработки являются следующие пакеты Android SDK:

  • Android 7.1 - Нуга
    • Платформа Android SDK 25
    • Google Api Intel образ системы x86 Atom

если вы обновили решение nuGet для Xamarin.Android.* to 26.1.0.1 тогда вам нужно будет установить следующее В Android SDK:

  • Android 8.0 - Oreo
    • Платформа Android SDK 26
    • Google APIs Intel x86 Atom системный образ

Я столкнулся с той же проблемой для одного из моих проектов PhoneGap (Android studio 3.0.1). Чтобы решить эту проблему, я следовал, следующий шаг

1) Щелкните правой кнопкой мыши имя проекта (в моем случае android), выберите "Открыть Настройки модуля"

2) Выберите модули (android и CordovaLib)

3) Нажмите кнопку "Свойства" сверху

4) выбрал версию compile SDK (я выбрал API 26: Android 8.0)

5) выберите версию инструментов сборки (я выбрал 26.0.2)

6) Совместимость С Исходным Кодом (1.6)

7) Целевая Совместимость (1.6)

нажмите Ok и перестроить проект.

следующая ссылка показывает мою настройку для шага, за которым я следовал

https://app.box.com/s/o11xc8dy0c2c7elsaoppa0kwe1d94ogh https://app.box.com/s/ofdcg0a8n0zalumvpyju58he402ag1th


Я получил эту проблему при компиляции react-native-fbsdk

Я решил эту проблему путем изменения build.gradle of react-native-fbsdk

С

compile('com.facebook.android:facebook-android-sdk:4.+')

до

compile('com.facebook.android:facebook-android-sdk:4.28.0')

у меня была аналогичная ошибка для react-native-youtube & react-native-orientation.

выяснил, что тот строит.gradle этих проектов использовать compileSdkVersion 23 но функция: android: keyboardNavigationCluster был добавлен с api 26 (android 8).

так как исправить?

один из способов исправить это легко-отредактировать /android / build.Gradle в ( !!! Не / android / app / build.gradle) и добавьте этот код в нижней части файла.

этот позвольте вам принудительно использовать SDK и BuildTool-версию ваших подмодулей:

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

эта проблема была вызвана одной из библиотек для меня, которая нуждалась в версии 26 для компиляции.

создание targetSdkVersion до 26 вызовет другие проблемы, и вам придется настроить приложение, чтобы адаптироваться к платформе Oreo. Это не правильное решение для всех.

просто compileSdkVersion to 26 и buildToolsVersion to 26.0.2 работал для меня.

следует также обновить все их поддержка библиотек для использования 26.1.0 или поздно.


обновите их в gradle

compileSdkVersion 27 buildToolsVersion '27.0.1'


я решил эту проблему, сделав некоторые изменения в build.файл gradle

изменения корень сборки.Gradle в следующим образом:

subprojects {
   afterEvaluate { 
     project -> if (project.hasProperty("android")) { 
       android { 
        compileSdkVersion 26 
        buildToolsVersion '26.0.1' 
       } 
      }
    } 
}

изменения в build.gradle являются следующие:

compileSdkVersion 26 
buildToolsVersion "26.0.1"

и

dependencies {
    compile 'com.android.support:appcompat-v7:26.0.1'
}

для тех, кто использует nativescript и сталкивается с этой проблемой: вы можете добавить

compileSdkVersion 26
buildToolsVersion '26.0.1'

в App_Resources / Android / app.gradle (под android {)

выполнить tns platform remove android и tns build android в корне проекта.

убедитесь, что у вас есть Android SDK 8.0 в среде разработки. У меня была такая же проблема на моем MAC и установка SDK 8.0 и его инструменты исправили ее. У меня такая же проблема на Windows. Я загружаю SDK сейчас.


у меня была такая же проблема с ионной .

cordova platform remove android
cordova platform add android@6.4.0

и заменить в платформе / android / projet.свойства

cordova.system.library.1=com.android.support:support-v4+

до

cordova.system.library.1=com.android.support:support-v4:26+

для этого вам нужно сделать ниже вещи 1.щелкните правой кнопкой мыши проект.

2.откройте Настройки модуля - >на вкладке свойства - >измените версию compile sdk и build tool на 26,26.0.0.

3.нажимать OK.

его работа для меня через час попробовал.


просто очистите свой проект и создайте снова.

./gradlew  app:clean app:assembleDebug

но он не работает, когда targetSdkVersion или compileSdkVersion равно 25.