错误:资源类型无效' attr'对于风格的父母

时间:2017-11-28 15:43:15

标签: android android-gradle

将我的Android项目升级到Studio 3.0.1和Gradle 3.0后,我在构建期间遇到了一个问题:

MAFLogonUI-3.15.6.aar\\46f903e9d58266c453b893b9caa03deb\\res\\values\\values.xml","position":{"startLine":456,"startColumn":4,"startOffset":32855,"endLine":459,"endColumn":12,"endOffset":33105}}],"original":"","tool":"AAPT"}

我认为问题是由于此处引用的问题Android help 他们声称在引用" android"时,@ symbol符号被省略。并且生成的values.xml文件包含:

<style name="SapUexTextAppearance.SlidingTabActive" parent="@android:attr/textAppearanceMedium"> ...

但是因为这来自我已经包含在我的构建中的库,所以我不知道如果我对此有任何控制权。有没有办法阻止生成的res / values / value.xml中的@符号?或者我需要升级我的lib?

与此同时,我已禁用AAPT2 ......

2 个答案:

答案 0 :(得分:6)

只需将@android:attr/textAppearanceMedium更改为@android:style/TextAppearance.Medium即可。从Gradle 3开始,父母也必须是风格。

答案 1 :(得分:1)

问题不在于“@”符号。问题是他们正在为样式的父级使用属性,而父级也应该始终是样式。
由于错误的代码来自库,您可以尝试覆盖资源中的样式,但如果库的所有者修改了该XML文件,那将是理想的。