【发布时间】:2020-06-10 14:03:06
【问题描述】:
我们最近从 VS2017 迁移到 VS2019,构建 Xamarin Forms 应用程序。多年来,我们在混淆方面没有遇到任何问题,但现在我们有了一个很好的解决方案。总结:最终APK文件中的项目DLL是未混淆版本,而不是混淆版本。
如果我们正常构建 Android 应用程序(在发布配置中),它可以正常工作:反编译文件会按预期显示经过混淆的代码 - 完全无法理解。它还成功地将其从其工作的“dfout”文件夹(在“obj”下)复制到“bin”文件夹,因此构建过程会按应有的方式传播混淆文件;一切都很酷。
但是...当您运行“存档”来创建 APK 文件时...工作方式有所不同。经过数小时的仔细检查,我们确定确实正在发生,但我们不知道为什么以及如何修复它:项目 DLL(应该放在 APK 中)是从未混淆的代码中获取的。然后在打包完成后运行混淆,将正确的 DLL 留在“obj”和“bin”文件夹中,但打包后的 APK 中的是未混淆的版本。
这到底是怎么回事?
【问题讨论】:
标签: android visual-studio xamarin dotfuscator