我们正在使用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
避免字符串被忽视的正确方法是什么?
答案 0 :(得分:2)
为了防止字符串资源被DexGuard混淆/内联/收缩,您需要添加以下规则:
-keepresources string/**
-keepresources
指令具有以下格式:
-keepresources [resourceType]/[resourceKey]