web-dev-qa-db-ja.com

指定された名前に一致するリソースが見つかりませんでした:attr 'Android:keyboardNavigationCluster'。 Support Library 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.Android.ide.common.process.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

何か案は?

212

私はgradle compileSdkVersion 26buildToolsVersion "26.0.1"のsdkバージョンとツールを更新することによってそれを解決することができました

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

308
XH6 user

コンパイル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を同期します。

53
Amar Gore

すべての依存関係のcompileSdkVersion = 26ファイルでbuildToolsVersion = '26.0.1'build.gradleを変更しなければなりませんでした

35
Erik Duisters

私の反応ネイティブプロジェクトでは、このエラーはreact-native-fbsdkで生成されます。以下のようにreact-native-fbsdk/Android/build.gradleを更新することで問題は解決します。

compileSdkVersion 26
buildToolsVersion "26.0.1"
13
peteroid

私はこれとまったく同じエラーに遭遇し、私が間違ってやっていることを見つけることを試みることをくまなくグーグルしていました。私はGradle 4.0からAndroid Studio preview 3.0、カナリアチャンネルまで試してみました、あなたはそれに名前を付けます。

私は答えをオンラインで見つけたことがない。結局、誤って修正してしまったので、標準のAndroid Android Studioと2.3.3 Gradleに戻ることができました:)。

結局、私は自分のライブラリプロジェクトを更新することに集中していたので、エラーが自分のライブラリプロジェクトにネストされている未使用のサブモジュール(デモアプリ)が原因であることに気付かなかった。 26個のビルドツールと26個以上の設計およびサポートライブラリに合うようにサブモジュールを更新したら、問題は解決しました。

それがあなたが見ているものでもあるかどうかわからないが、個人的に私はただリリースするためにlibを更新していただけなのでサンプルアプリモジュールを気にしていなかった。 libモジュールは他のモジュールをチェックすることを考えていませんでした。それが私にとってずっと問題でした。うまくいけば、それもあなたを修正します。私は2つの図書館プロジェクトでこのエラーを抱えていました、そしてそれは両方でそれを修正しました。

どちらかの方法で解決し、問題が解決しない場合は、どうしたのかを共有してください。 BTW 26.0.01のビルドツールと26.1.0の設計とサポートは、26.0.1でも問題なく動作しましたが、最終的には最終的に完成しました。

9
Sam

私はこの正確なエラーがあり、私のcompileSdkVersion25に設定され、buildToolsVersion"26.0.1"に設定されていることに気付きました。

それで私はcompileSdkVersion26に変えてGradleを同期させたところです。それは私のために問題を解決しました。

編集:私のtargetSDKVersion26に設定されていました

8
Junaid Aziz

私は私のIonic 2プロジェクトと同じ問題を抱えていました。

  • "ion_project_folder/platform/Android/project.properties"を開きます
  • target = Android-25 target = Android-26に変更します
  • ionic build --release Androidを実行

これが誰かに役立つことを願っています!

7
Aweda

React-native-youtubeとreact-native-orientationについても同様のエラーがありました。

これらのプロジェクトのbuild.gradleはcompileSdkVersion 23を使用しますが、api 26(Android 8)以降にFeature:Android:keyboardNavigationClusterが追加されたことがわかりました。

それではどうやって直すの?

これを簡単に修正する一つの方法はあなたの/Android/build.gradleを編集し(!!! NOT /Android/app/build.gradle)そしてそれらのコードをファイルの最後に追加することです。

これにより、サブモジュールが使用するSDKとBuildTool-Versionを強制することができます。

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

私はまたあなたが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'
}
7
Revansiddh
//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'
                }
            }
        }
    }
6
Pablo Rendón

targetSDKVersion 26から25に変更しようとすると、指定された名前と一致するリソースが見つかりません:attr 'Android:keyboardNavigationCluster'。 Support Library 26.0.0にアップデートすると

あなたのBuild.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'
            }
        }
    }
}

から

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'
            }
        }
    }
}
4
Sanjay Hadiya

あなたのAndroidスタジオを3.0に更新した後、このエラーが発生した場合は単にgradleプロパティを更新してください、これらは私の問題を解決した設定です:

compileSdkVersion 26

targetSdkVersion 26

buildToolsVersion '26.0.2'
4
Ajayacharya

Androidスタジオでは、
プロジェクトを右クリックします(私はCordovaプロジェクトを持っていたので、CordovaLibとAndroidを持っていました:私の場合はAndroidを選択しました)

  1. オープンモジュール設定を選択
  2. ポップアップ表示されるProject Structureモーダルで、サイドパネルのmodulesセクションでプロジェクトを選択します(私の場合はAndroid)
  3. [依存関係]タブをクリックします
  4. 右上隅にある緑色のプラスボタンをクリックしてください。
  5. ライブラリの依存関係を選択
  6. ドロップダウンからapp-compat-v7を選択します
  7. プロジェクトをクリーンにして再構築する
3
Jac

私のプロジェクトapp/build.gradleを更新して

compileSDkVersion 26
buildToolsVersion '26.0.1'

しかし、問題は実際にはreact-native-fbsdkパッケージにあります。 node_modules/react-native-fbsdk/Android/build.gradleの同じ設定を変更しなければなりませんでした。

3
Karl Taylor

私は自分のPhoneGapプロジェクトのひとつ(Android studio 3.0.1)についても同じ問題に直面していました。これを解決するために、私は従った、次のステップ

1)プロジェクト名(私の場合はAndroid)を右クリックして、[Open Module Settings]を選択します。

2)モジュールを選択します(AndroidおよびCordovaLib)

3)上部のプロパティをクリック

4)Compile SDKバージョンを選択しました(私はAPI 26:Android 8.0を選択しました)

5)Build Tools Versionを選択します(私は26.0.2を選択しました)

6)ソース互換性(1.6)

7)ターゲットの互換性(1.6)

Okをクリックしてプロジェクトを再構築します。

次のリンクは私が従ったステップのための私の設定を示しています

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

2
Chirag Purohit

私は最近これを打ち、それがどこから来たのか覚えています。 Xamarin.Android。*バージョンとインストールされているAndroid SDKバージョンの間の不一致です。

NuGet 15.5.3の現在のVS2017 Xamarin.Android.*新しいプロジェクトのデフォルトは25.4.0.2であり、クロスプラットフォーム開発のためのデフォルトのVSインストールは次のAndroid SDKパッケージです。

  • Android 7.1 - ヌガー
    • Android SDKプラットフォーム25
    • Google API Intel x86 Atomシステムイメージ

Xamarin.Android.*のソリューションnuGetを26.1.0.1にアップグレードした場合は、Android SDKに次のものをインストールする必要があります。

  • Android 8.0 - オレオ
    • Android SDKプラットフォーム26
    • Google API Intel x86 Atomシステムイメージ
2
dskow

React-native-fbsdkをコンパイルすると、この問題が発生しました

私はこの問題をbuild.gradlereact-native-fbsdkの変更によって解決しました

から

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

compile('com.facebook.Android:facebook-Android-sdk:4.28.0')
2
Tuan Nguyen

これらをgradleで更新する

compileSdkVersion 27 buildToolsVersion '27 .0.1 '

1
Artist404

ネイティブスクリプトを使用していてこの問題に直面している人のために:あなたは追加することができます

compileSdkVersion 26
buildToolsVersion '26.0.1'

app_Resources/Android/app.gradle(Android {の下)にあります。

次に、プロジェクトルートでtns platform remove Androidtns build Androidを実行します。

1
palia5

私はbuild.gradleファイルにいくつかの変更を加えることでこの問題を解決しました

root build.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'
}
1
Palak Jain

この問題は私にとってコンパイルのためにバージョン26を必要とするライブラリの1つによって引き起こされました。

TargetSdkVersionを26にすると他の問題が発生します。また、Oreoプラットフォームに適応するにはアプリを微調整する必要があります。これはすべてのための正しい解決策ではありません。

compileSdkVersion to 26buildToolsVersion to 26.0.2を作るだけでうまくいきました。

また、26.1.0以降を使うようにすべての supportライブラリを更新する必要があります。

1

開発環境にAndroid SDK 8.0があることを確認してください。私のMACにも同じ問題があり、SDK 8.0とそのツールをインストールすることで修正されました。私はWindowsでも同じ問題を抱えています。私は今SDKをダウンロードしています。

0
Ph0b0x

このためには、以下のことをする必要があります。1.プロジェクトのクリックを右クリックします。

2. [モジュールの設定] - > [プロパティ]タブ - > [コンパイルSDK]と[ビルドツールのバージョン]を26,26.0.0に変更します。

[OK]をクリックします。

一時間後に私のために働いてみました。

0
S HemaNandhini

ionicでも同じ問題が発生しました。

cordova platform remove Android
cordova platform add [email protected]

そして、platform/Android/projet.propertiesで置き換えます

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

cordova.system.library.1=com.Android.support:support-v4:26+
0
Amr.Ayoub