1

我们正在使用 dexguard 并且在 dexguard-project.txt 中也有以下设置

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

我还尝试了提供 res/values/strings.xml 的变体,例如:

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

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

ETC

在路径中。但是字符串键值正在变得模糊。

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

正在返回 0.(其中 key 是一个字符串值)。

我也试过

 -dontshrink

避免字符串混淆的正确方法是什么?

4

1 回答 1

4

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

-keepresources string/**

-keepresources指令具有以下格式:

-keepresources [resourceType]/[resourceKey]
于 2016-11-21T13:22:50.433 回答