【问题标题】:uses-sdk cannot have tools:node attributeuses-sdk 不能有 tools:node 属性
【发布时间】:2016-01-08 20:23:40
【问题描述】:

我使用的是最新的 Android Studio 1.2.2。在尝试将 AppTheme 设置为 Theme.Material according to this answer 以支持旧版本(API 21 除外)和互联网上的许多其他解决方案时,我做了所有编写的事情。我在该文件夹中创建了一个名为 values-v21 和 styles.xml 的不同值文件夹。然后我写了<uses-sdk tools:node="replace" />,构建给了我一个错误说:

Error:(6, 5) uses-sdk element cannot have a "tools:node" attribute
Error:(6, 5) Execution failed for task ':app:processDebugManifest'.

清单合并失败:uses-sdk 元素不能有“tools:node”属性。 这是我的 app.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

defaultConfig {
    applicationId "com.example.amangrover.finalapp"
    minSdkVersion 14
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
  }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
}

我认为较新版本的 Android Studio 已解决此问题?

【问题讨论】:

  • 这个问题和答案是关于去年的 L 开发者预览版,与 Android 的生产发布版本并不特别相关。只需去掉 tools:node 属性,因为它不是必需的。
  • 那么我如何为我的应用添加向后兼容性?
  • 由于您没有解释您认为不向后兼容的内容,因此没有人能够帮助您。如果您的具体问题是Theme.Material,请在旧设备上使用不同的基本主题——您对问题的措辞表明您已经在这样做了。
  • 您还可以使用新的设计库“com.android.support:design:22.2.0”和 AppCompat 主题来实现材料设计兼容性。看看android-developers.blogspot.com.es/2015/05/…developer.android.com/tools/support-library/features.html

标签: android material-design


【解决方案1】:

在你的项目的 AndroidManifest.xml 文件中将这行添加到 uses-sdk 标记中,如下所示:-

 <uses-sdk 
   tools:node="merge"
   android:minSdkVersion="14"
   android:targetSdkVersion="19"/>

并且还在清单中添加工具名称空间:-

 <manifest 
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools" .....
  .../>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    相关资源
    最近更新 更多