从Proguard (Xamarin.Android)获取mapping.txt文件

问题描述 投票:0回答:3

发布版本之后,我想获得可以使用 Proguard 完成的mapping.txt 文件。 我已将 proguard.cfg (BuildAction 设置为 ProguardConfiguration)文件添加到项目中,其中包含以下内容:

-dontobfuscate
-ignorewarnings
-keep class... 
...
-printmapping mapping.txt

请告诉我我做错了什么?

提前致谢。

xamarin xamarin.android mapping proguard
3个回答
1
投票

构建 Xamarin Android 应用程序时,即使您尝试使用自定义配置强制执行该操作,也不会获得 mapping.txt。

来自文档

混淆步骤——在原生Android开发中,ProGuard重命名 不是入口点的类和类成员。保留条目 点确保它们仍然可以通过原来的方式访问 名称。 但是,Xamarin.Android 不支持此步骤,因为 该应用程序被编译为中间语言 (IL)

....

事实上,通过ProGuard是无法开启混淆的 (甚至通过使用自定义配置文件)


0
投票

我有两个建议

  1. 从配置文件中删除 -dontobfuscate,如果 proguard 没有混淆任何内容,则不会有映射文件。

  2. 我记得proguard默认会查找proguard.conf文件,如果你使用其他名称,你还需要告诉proguard文件名(我这里可能是错的)


0
投票

不确定这段时间是否相关,但我发现在项目的Android设置下设置“R8代码收缩器”将生成一个mapping.txt文件。可以帮助某人:)

© www.soinside.com 2019 - 2024. All rights reserved.