发布版本之后,我想获得可以使用 Proguard 完成的mapping.txt 文件。 我已将 proguard.cfg (BuildAction 设置为 ProguardConfiguration)文件添加到项目中,其中包含以下内容:
-dontobfuscate
-ignorewarnings
-keep class...
...
-printmapping mapping.txt
请告诉我我做错了什么?
提前致谢。
构建 Xamarin Android 应用程序时,即使您尝试使用自定义配置强制执行该操作,也不会获得 mapping.txt。
来自文档:
混淆步骤——在原生Android开发中,ProGuard重命名 不是入口点的类和类成员。保留条目 点确保它们仍然可以通过原来的方式访问 名称。 但是,Xamarin.Android 不支持此步骤,因为 该应用程序被编译为中间语言 (IL)。
....
事实上,通过ProGuard是无法开启混淆的 (甚至通过使用自定义配置文件)
我有两个建议
从配置文件中删除 -dontobfuscate,如果 proguard 没有混淆任何内容,则不会有映射文件。
我记得proguard默认会查找proguard.conf文件,如果你使用其他名称,你还需要告诉proguard文件名(我这里可能是错的)
不确定这段时间是否相关,但我发现在项目的Android设置下设置“R8代码收缩器”将生成一个mapping.txt文件。可以帮助某人:)