android - 找不到与给定名称匹配的资源 : attr ‘android:keyboardNavigationCluster’

标签 android node.js angular cordova ionic-framework

当我尝试使用 ionic cordova run android --prod 时,我目前在 Ionic 项目中遇到了这个奇怪的错误。我尝试过删除和读取平台、删除和读取 Node 模块以及切换 npm 和 Node 版本,但均无济于事。

问题:有人知道如何解决这个神秘问题吗?

C:\...\platforms\android\build\intermediates\res\merged\debug\values-v26\values-v26.xml:15: 

error: Error: No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.

FAILED

BUILD FAILED

Total time: 26.595 secs

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Error: cmd: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
C:\...\platforms\android\build\intermediates\res\merged\debug\values-v26\values-v26.xml:15:21-54: AAPT: No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.

C:\...\platforms\android\build\intermediates\res\merged\debug\values-v26\values-v26.xml:15: error: Error: No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.



FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':processDebugResources'.
> com.android.ide.common.process.ProcessException: Failed to execute aapt

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

[ERROR] An error occurred while running cordova run android (exit code 1).
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):

cli packages: (C:…\node_modules)

@ionic/cli-utils  : 1.12.0
ionic (Ionic CLI) : 3.12.0
global packages:

cordova (Cordova CLI) : 7.0.0
local packages:

@ionic/app-scripts : 3.0.0
Cordova Platforms  : android 6.2.3
Ionic Framework    : ionic-angular 3.7.1
System:

Android SDK Tools : 25.2.5
Node              : v6.11.4
npm               : 3.10.10
OS                : Windows 10
Misc:

backend : legacy

编辑:根据请求,这里是我的 cordova 插件列表

    <plugin name="cordova-plugin-app-version" spec="^0.1.9" />
    <plugin name="cordova-plugin-camera" spec="^2.4.1">
    <plugin name="cordova-plugin-compat" spec="^1.2.0" />
    <plugin name="cordova-plugin-device" spec="^1.1.6" />
    <plugin name="cordova-plugin-file" spec="^4.3.3" />
    <plugin name="cordova-plugin-file-transfer" spec="^1.6.3" />
    <plugin name="cordova-plugin-filepath" spec="^1.1.0" />
    <plugin name="cordova-plugin-geolocation" spec="^2.4.3">
        <variable name="GEOLOCATION_USAGE_DESCRIPTION" value="To determine geolocation for clock in/out purposes." />
    </plugin>
    <plugin name="cordova-plugin-inappbrowser" spec="^1.7.1" />
    <plugin name="cordova-plugin-splashscreen" spec="^4.0.3" />
    <plugin name="cordova-plugin-statusbar" spec="^2.2.3" />
    <plugin name="cordova-plugin-whitelist" spec="^1.3.2" />
    <plugin name="cordova.plugins.diagnostic" spec="^3.6.8" />
    <engine name="android" spec="~6.2.3" />

最佳答案

这很可能与 cordova 诊断插件有关。尝试安装版本3.7.1这应该可以解决问题:

cordova plugin add <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="c5a6aab7a1aab3a4ebb5a9b0a2acabb6eba1aca4a2abaab6b1aca685f6ebf2ebf4" rel="noreferrer noopener nofollow">[email protected]</a>

根本原因是 gradle 正在寻找 v26 资源,但没有找到。更详细解释here .

您可能还需要将 cordova-android 更新到版本 6.3.0 ( cordova platform add <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a9c8c7cddbc6c0cde99f879a8799" rel="noreferrer noopener nofollow">[email protected]</a> ) 并升级到最新的 Android SDK 工具(通过 Android Studio)。不要忘记删除 cordova-plugin-compat当你这样做时。

关于android - 找不到与给定名称匹配的资源 : attr ‘android:keyboardNavigationCluster’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46653307/

相关文章:

android - 从时间选择器中选择时间获取不同时区的时间

android - CSS注入(inject)完成后如何在webview中显示网站?

node.js - nodejs FFMPEG参数问题

node.js - 如何解决这种情况 Error ERESOLVE could not resolve

angular - 是否可以在 Jasmine 测试中获取模板引用变量?

angular - 我认为变量不会反射(reflect)可观察值的值

java - 在屏幕上显示多个 View 时如何提高性能?

xml - 如何将单选组添加到表格内的单选按钮?

node.js - Nodejs express 上传文件debian vps报错

angular - 找不到模块 : Error: Can't resolve '@angular/flex-layout' in '/app'