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

Hi Ionic,

I am facing this issue for last two days

after running ionic run android I am getting the below error

…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’.

  • What went wrong:
    Execution failed for task ‘:processDebugResources’.

com.android.ide.common.process.ProcessException: Failed to execute aapt

Your system information:

Cordova CLI: 6.5.0 
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
ios-deploy version: Not installed
ios-sim version: 6.1.2 
OS: macOS
Node Version: v8.11.2
Xcode version: Xcode 9.2 Build version 9C40b
bash-3.2# sudo ionic run android --verbose
******************************************************
 Dependency warning - for the CLI to run correctly,      
 it is highly recommended to install/upgrade the following:     

 Install ios-deploy to deploy iOS applications to devices.  `npm install -g ios-deploy` (may require sudo)

******************************************************
Task: title=run, name=run, summary=Run an Ionic project on a connected device, <PLATFORM>=, [options]=, --livereload|-l=Live reload app dev files from the device (beta), --address=Use specific address (livereload req.), --port|-p=Dev server HTTP port (8100 default, livereload req.), --livereload-port|-r=Live Reload port (35729 default, livereload req.), title=Print app console logs to Ionic CLI (livereload req.), boolean=true, title=Print dev server logs to Ionic CLI (livereload req.), boolean=true, title=, boolean=true, --device|--emulator|--target=FOO=, isProjectTask=true, run=function run(ionic, argv, rawCliArguments) {
  var appDirectory = process.cwd();
  var rawArgs = rawCliArguments.slice(0);
  var cmdName = argv._[0].toLowerCase();
  var hasBuildCommand = false;
  var hasServeCommand = false;

  var isLiveReload = argv.livereload || argv['live-reload'] || argv.l || false;

  // If platform was not passed then add it to the rawArgs
  var runPlatform = argv._[1];
  if (!runPlatform) {
    runPlatform = 'ios';
    rawArgs.splice(1, 0, runPlatform);
  }

  if (runPlatform === 'ios' && os.platform() !== 'darwin') {
    log.error('✗ You cannot run iOS unless you are on Mac OSX.');
    return Q();
  }

  var promiseList = []
    .concat(!cordovaUtils.isPlatformInstalled(runPlatform, appDirectory) ?
      cordovaUtils.installPlatform(runPlatform) :
      Q())
    .concat(!cordovaUtils.arePluginsInstalled(appDirectory) ?
      cordovaUtils.installPlugins() :
      Q())
    .concat(npmScripts.hasIonicScript('build'))
    .concat(npmScripts.hasIonicScript('serve'));

  return Q.all(promiseList).then(function(results) {
    hasBuildCommand = results[2];
    hasServeCommand = results[3];

    if (hasBuildCommand && !(isLiveReload && hasServeCommand)) {
      return npmScripts.runIonicScript('build', rawArgs.slice(2));
    }
    return Q();
  })
  .then(function() {

    // If we are running livereload and are using "ionic:serve" app-script
    // then configure devServer manually
    if (isLiveReload && hasServeCommand) {

      // using app-scripts and livereload is requested
      // Also remove commandName from the rawArgs passed
      return cordovaUtils.startAppScriptsServer(argv);
    } else if (isLiveReload) {

      // not an app-scripts project but the user wants livereload
      return cordovaUtils.setupLiveReload(argv, appDirectory);
    }

    // ensure the content node was set back to its original
    return ConfigXml.setConfigXml(appDirectory, {
      resetContent: true,
      errorWhenNotFound: false
    });
  })
  .then(function(serveOptions) {
    var optionList = cordovaUtils.filterArgumentsForCordova(cmdName, argv, rawArgs);
    return cordovaUtils.execCordovaCommand(optionList, isLiveReload, serveOptions);
  })
  .catch(function(ex) {
    if (ex instanceof Error) {
      log.error(ex);
    }
  });
}
Looking up Ionic root, cwd: /Users/siddharth/Documents/fresh_clone/RelianceJio
Ionic root directory:  /Users/siddharth/Documents/fresh_clone/RelianceJio
Package.json found scripts: undefined
Gulpfile found

Npm scripts: undefined
Gulpfile found: true 

ConfigXml.setConfigXml /Users/siddharth/Documents/fresh_clone/RelianceJio resetContent=true, errorWhenNotFound=false
Executing cordova cli: run android --verbose
No scripts found for hook "before_run".

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.
    at ChildProcess.whenDone (/Users/siddharth/Documents/fresh_clone/RelianceJio/platforms/android/cordova/node_modules/cordova-common/src/superspawn.js:169:23)
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at maybeClose (internal/child_process.js:925:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)