2016-11-21 7 views
0

Мы используем dexguard, а также имеют следующие параметры в dexguard-project.txtDexguard: избежать запутывания строки

-keepresourcefiles res/** 
-keepresourcexmlattributenames res/** 
-keepresources res/** 

Я также попытался вариацию предоставления Рез/значения/strings.xml нравится:

-keepresourcefiles res/*/strings.xml 
-keepresourcexmlattributenames res/*/strings.xml 
-keepresources res/*/strings.xml 

и

-keepresourcefiles res/values/* 
-keepresourcexmlattributenames res/values/* 
-keepresources res/values/* 

и т.д.

в пути. Но значение ключевого значения строк становится запутанным.

context.getResources().getIdentifier(key, STRING_FOLDER,context.getPackageName()); 

возвращает 0. (где ключ представляет собой строковое значение).

Я также попытался

-dontshrink 

Что такое правильный способ избежать obfsucation строк?

ответ

2

Для того, чтобы сохранить строковые ресурсы от того затемненного/встраиваемого/сократилась DexGuard, вам нужно будет добавить следующее правило:

-keepresources string/** 

директива -keepresources имеет следующий формат:

-keepresources [resourceType]/[resourceKey]