8

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

现在是在使用它时'ignore_vertical_scroll'定义的自定义属性,就像在布局中一样attrs.xmlabc:ignore_vertical_scroll="true"xmlns:abc="http://schemas.android.com/apk/res-auto"

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

4

1 回答 1

6

发现了问题。

我在 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 无法找到所述属性。将这两个定义组合成一个定义可以解决这个问题。

于 2013-06-17T11:54:12.890 回答