2

我尝试将我的 android 项目从 Maven 迁移到 Gradle,然后出现此错误:

Gradle:找不到与给定名称匹配的资源:attr 'mdActiveIndicator'。

感谢您帮助寻找解决方案。

这是我的项目结构:

MediaProject
   build.gradle (%1)
   settings.gradle  (%2)
   HoloCircleSeekBar
       build.gradle (%3)
       src/main/res/values
           attrs.xml  (%4)
   MediaAppli
       telecommande
           build.gradle (%5)
           src/main/res/values
          styles.xml (%6)

MediaProject 中 build.gradle 的内容 (%1)

allprojects {
    repositories {
        mavenCentral()
    }
}

MediaProject 中 settings.gradle 的内容 (%2)

include ':HoloCircleSeekBar',':MediaAppli:telecommande'

HoloCircleSeekBar 中 build.gradle 的内容 (%3)

    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.4'
        }
    }

apply plugin: 'android-library'

dependencies {
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

Telemande 中 attrs.xml 的内容 (%4)

<resources>
    <attr name="menuDrawerStyle" format="reference" />
    <declare-styleable name="MenuDrawer">
        <attr name="mdMenuSize" format="dimension" />
        <attr name="mdActiveIndicator" format="reference" />
    </declare-styleable>
</resources>

Telemande 中 build.gradle 的内容 (%5)

buildscript {
    repositories {
        mavenCentral()
        maven {
            url "http://repo1.maven.org/maven2"
        }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android'

dependencies {
    compile files('libs/android-support-v4.jar')
    compile project(':HoloCircleSeekBar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

远程控制中 styles.xml 的内容 (%6)

  <style name="MenuDrawerStyle.Right" parent="MenuDrawer.Widget">
        <item name="mdActiveIndicator">@drawable/menu_arrow_right</item>
        <item name="mdMenuSize">150dp</item>
    </style>
4

3 回答 3

1

如果您正在为 gradle 库使用自定义属性,那么不要忘记将其标记为此类。库的gradle构建文件需要:

apply plugin: 'android-library'

代替

apply plugin: 'android'

不太确定为什么我不能使用这些属性,但它现在可以工作了。

于 2013-11-08T09:38:44.947 回答
0

我的问题是我的项目,它的库有两个同名的可声明样式,我的项目的可声明样式覆盖了库的可声明样式。

这就是为什么错误

gradle:错误找不到与给定名称匹配的资源:attr

给出。(库的 declare-styleable 的属性已被覆盖)

于 2013-09-26T15:38:38.197 回答
-5

我的问题解决了

我依赖于 maven APKlib 而不是 aar lib。

于 2013-06-12T09:48:38.163 回答