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

时间:2017-12-17 08:22:41

标签: nativescript

When I try to compile with Nativescript 3.3.1 and the latest tns-android I receive the error No resource found that matches the given name: attr 'android:keyboardNavigationCluster'.

I've tried upgrading nativescript CLI to next development release and tns-android to next development release but this issue persists. I've also tried modifying my app.gradle to something along the lines below:

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

android {  
  defaultConfig {  
    generatedDensities = []
    applicationId = "org.nativescript.Audible"
  }  
  aaptOptions {  
    additionalParameters "--no-version-vectors" 
  }  
} 

ext {
  complieSdkVersion = 26  
  buildToolsVersion = "26.0.1"
}

But nothing has worked so far. What is the solution to this issue?

2 个答案:

答案 0 :(得分:1)

我可以使用以下app.gradle修复它:

android {
  compileSdkVersion 26
  buildToolsVersion '26.0.2'

  defaultConfig {  
    generatedDensities = []
    applicationId = "org.nativescript.HelloWorld"
  }  
  aaptOptions {  
    additionalParameters "--no-version-vectors" 
  }  
} 

答案 1 :(得分:0)

添加

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
}

到app / App_Resources / Android / app.gradle中的app.gradle文件

一旦这样做,您可能必须接受许可并下载Android API 26软件包,即使您之前已经下载了大部分API 26。选中Android SDK工具中的“显示包详细信息”,提示您下载并接受API 26包。

之后,如果仍然告诉您需要接受许可证 https://developer.android.com/studio/intro/update.html#download-with-gradle

该链接可以帮助您。这是该链接的副本,帮助我最终解决了这个问题。

  

如果您已在一个工作站上接受许可协议,但希望在另一个工作站上构建项目,则可以通过复制接受的许可证目录来导出许可证。要将许可证复制到另一台计算机,请按照下列步骤操作:

     

在安装了Android Studio的计算机上,单击工具> Android> SDK Manager。在窗口顶部,记下Android SDK位置。   导航到该目录并找到其中的licenses /目录。 (如果您没有看到许可证/目录,请返回Android Studio并更新SDK工具,确保接受许可协议。当您返回Android SDK主目录时,您现在应该看到该目录。)   复制整个许可证/目录并将其粘贴到您希望构建项目的计算机上的Android SDK主目录中。   Gradle现在可以自动下载项目所依赖的缺失包。