将我的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 ......
答案 0 :(得分:6)
只需将@android:attr/textAppearanceMedium
更改为@android:style/TextAppearance.Medium
即可。从Gradle 3开始,父母也必须是风格。
答案 1 :(得分:1)
问题不在于“@”符号。问题是他们正在为样式的父级使用属性,而父级也应该始终是样式。
由于错误的代码来自库,您可以尝试覆盖资源中的样式,但如果库的所有者修改了该XML文件,那将是理想的。