'没有找到属性'的资源标识符。甚至在使用命名空间http://schemas.android.com/apk/res-auto后出错

时间:2013-06-13 09:37:11

标签: android gradle android-studio build.gradle

我将现有应用移植到gradle构建系统并在从命令行进行构建时遇到以下错误 error: No resource identifier found for attribute 'ignore_vertical_scroll' in package 'com.example.dummyapp'

现在'ignore_vertical_scroll'attrs.xml中定义的自定义属性,在abc:ignore_vertical_scroll="true"

布局中将其用作xmlns:abc="http://schemas.android.com/apk/res-auto"

我到目前为止所读到的是,这个URI是在ADT 17.0中添加的,以缓解自定义组件中的包名称问题。不确定这是如何在gradle中翻译的。

1 个答案:

答案 0 :(得分:7)

发现问题。

我已经使用以下格式在attrs.xml中定义了这些属性

<declare-styleable name="HorizontalPager">
      <attr name="ignore_vertical_scroll" format="boolean" />
      <attr name="page_width_proportion" format="integer" />
</declare-styleable>
<declare-styleable name="HorizontalPager">
      <attr name="off_screen_page_limit" format="integer" />
</declare-styleable>

两种样式都具有相同的名称,现在在编译期间,第二个属性定义覆盖了第一个属性定义,因为aapt无法找到所述属性。将这两个定义合并为一个定义了问题。