Android 如何在dexguard模糊处理中禁用非ASCII字符?

Android 如何在dexguard模糊处理中禁用非ASCII字符?,android,crittercism,dexguard,Android,Crittercism,Dexguard,我们正在使用Critercism分析我们的应用程序崩溃,但由于我们也使用带有默认模糊处理选项的DexGuard,Critercism无法使用DexGuard生成的mappings.txt对stacktraces进行模糊处理 因此,我的问题很简单: 如何禁用DexGuard混淆的非ASCII字符 我们使用的是Gradle buildsystem顺便说一句。奇怪的是,是什么让您认为禁用非ASCII字符可以修复Critercism对DexGuard模糊堆栈跟踪的处理?恐怕他们需要使用ReTrace.j

我们正在使用Critercism分析我们的应用程序崩溃,但由于我们也使用带有默认模糊处理选项的DexGuard,Critercism无法使用DexGuard生成的mappings.txt对stacktraces进行模糊处理

因此,我的问题很简单:

如何禁用DexGuard混淆的非ASCII字符


我们使用的是Gradle buildsystem顺便说一句。

奇怪的是,是什么让您认为禁用非ASCII字符可以修复Critercism对DexGuard模糊堆栈跟踪的处理?恐怕他们需要使用ReTrace.jar,这是DexGuard而不是ProGuard的一部分(抱歉,我不知道是否可以关闭非ASCII字符)

对我来说,这似乎是一个与critercism有关的问题,他们支持DexGuard吗?我问了他们的支持团队(support@crittercism.com)大约1年前关于DexGuard支持的事,但它甚至不在他们的路线图上

如果你不喜欢critercism,我知道Crashlytics和Hockeyapp支持DexGuard(这是我切换Crashlytics的原因之一)

更新

我今天偶然发现了这个。您可以覆盖DexGuard的默认混淆字典,并定义仅ASCII字符

在dexguard-project.txt中定义

-obfuscationdictionary dictionary.txt
-classobfuscationdictionary classdictionary.txt

根据Critecrism的说法,他们目前不支持DexGuard。我试图添加建议的想法,但他们的社区门户网站并没有按照我的预期工作(我已经为此联系了他们的支持团队)。关于禁用非ASCII字符修复去模糊化,这至少是我的主要假设,因为这是dexguard和proguard模糊化stacktraces之间的主要区别。我将再次联系他们的支持人员,因为我们目前有几个崩溃堆栈跟踪,我无法通过Critercism Service.BTW消除混淆。谢谢您提供有关Crashlytics等替代方案的信息,我将对此进行调查。目前,禁用非ASCII字符的DexGuard设置足以用于app-updates。AFAIK DexGuard的作用不仅仅是使用非ASCII字符,即使没有额外的DexGuard特定配置,因此您(好的Critercis)仍然需要使用DexGuard回溯工具。如果您提到字符串加密等,我只在一些有意义的类中使用这些特性,而不是一般的方式。如果你提到模糊处理和优化的基本过程,你有什么参考信息可以让我参考吗?这将是一些有用的信息传递给critercism。但是IIRC,使用Critercism提供的功能,我在回溯不包含非ASCII字符的堆栈跟踪时没有遇到任何问题。覆盖字典文件的方法是正确的。您只需使用空字典文件覆盖它们,如:-obfuscationdictionary emptydictionary.txt-classobfuscationdictionary emptyclassdictionary.txt,这是制造商Eric LaFortune确定的方法。所以你完全正确,这是公认的答案。