2016-01-25 31 views
0

我有一個Android項目,我需要在TextView創建中提取android:textStyle值。我這樣做是通過調用AttributeSet中的以下內容:Dexguard使用混淆屬性集中的Android模式

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

這給了我正確的文本樣式值,在XML設定,而我沒有使用Dexguard。只要我混淆代碼,這段代碼將始終返回默認值0.

我還沒有找到具體的解釋或推理,這可能解釋爲什麼會發生這種情況。因此,任何和所有合理的答案將不勝感激。

回答

1

原來Dexguard沒有模糊XML屬性名稱,因此引用'textStyle'不起作用。

通過將以下設置規則這不再是一個問題

-keepresourcexmlattributenames **/textStyle 

這也可以用合適的XML層級路徑替換wilcards(**)使用。