Dexguard:避免字符串混淆

时间:2016-11-21 12:34:28

标签: android dexguard

我们正在使用dexguard,并在dexguard-project.txt

中进行了以下设置
-keepresourcefiles res/**
-keepresourcexmlattributenames res/**
-keepresources res/**

我也试过提供变体        res / values / strings.xml like:

-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.(其中key是字符串值)。

我也试过

 -dontshrink

避免字符串被忽视的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

为了防止字符串资源被DexGuard混淆/内联/收缩,您需要添加以下规则:

-keepresources string/**

-keepresources指令具有以下格式:

-keepresources [resourceType]/[resourceKey]