0

我有一个 Android 项目,我需要在创建 TextView 时提取 android:textStyle 值。我通过在 AttributeSet 上调用以下命令来做到这一点:

attrs.getAttributeIntValue("http://schemas.android.com/apk/res/android", "textStyle", 0);

这给了我正确的 textStyle 值,在 xml 中设置,而我没有使用 Dexguard。一旦我混淆了代码,这段代码将始终返回默认值 0。

我还没有找到一个具体的解释或推理来解释为什么会发生这种情况。因此,我们将不胜感激任何和所有合理的答案。

4

1 回答 1

1

结果发现 Dexguard 确实混淆了 XML 属性名称,因此引用“textStyle”不起作用。

通过将以下内容添加到规则集中,这不再是一个问题

-keepresourcexmlattributenames **/textStyle

这也可以用于将通配符 (**) 替换为正确的 XML 层次结构路径。

于 2016-01-28T17:20:42.813 回答