我有一个Android项目,我需要在TextView创建时提取android:textStyle值。我通过在AttributeSet上调用以下内容来完成此操作:
attrs.getAttributeIntValue("http://schemas.android.com/apk/res/android", "textStyle", 0);
这给了我正确的textStyle值,在xml中设置,而我没有使用Dexguard。只要我对代码进行模糊处理,这段代码就会一直返回默认值0。
我还没有找到具体的解释或推理,这可以解释为什么会发生这种情况。所以任何和所有合理的答案将不胜感激。
答案 0 :(得分:1)
原来Dexguard会混淆XML属性名称,从而引用' textStyle'没有工作。
通过在规则集中添加以下内容,这已成为问题
-keepresourcexmlattributenames **/textStyle
这也可以用wilcards(**)替换为正确的XML层次结构路径。