我尝试使用 CryptoObfuscator 来混淆我的 Android 应用程序,但它不会生成所有 pdb 文件。
我的 Xamarin.Forms 解决方案有 11 个项目,其中 7 个应该被混淆。我禁用了大多数 CryptoObfuscator 功能只是为了测试它。我的 .obproj 文件包含所有 dll 的这些设置:
<Assembly Load="true" Path=".\bin\Release\RoyalMobileApps.XF.dll" XapEntryName="" KeyFilePath="" KeyFileContainsPublicKeyOnly="False" CertFilePath="" TimeStampURL="" Rfc3161TimestampURL="False" SHA256SigningAlgorithm="False" Embed="True" AddExceptionReporting="False" PfxPassword="" PfxPasswordCert="" IsWinRTAssembly="False">
<ObfuscationSettings EncryptStrings="True" EncryptMethods="False" EncryptConstants="False" SuppressReflector="False" ReduceMetaData="False" ObfuscationDisposition="1" FlowObfuscation="2" CodeMasking="0" SuppressILDASM="True" SuppressReflection="False" CombineResources="True" EncryptResources="True" CompressResources="True" MarkAsSealed="False" EnableTamperDetection="False" EnableAntiDebugging="False" SymbolRenaming="True" HideExternalCalls="False" HideInternalCalls="False" GeneratePdbFile="True" ObfuscatePdbFileNames="True" IncludeLocalVariablesInPdbFile="False" Encrypt="False" Compress="False" MSBuild="False" ObfuscatedNamespace="A" RetainNamespace="False" ModuleInitializationMethod="" LicensingMerge="False" RemoveConstants="False" ProcessSatelliteAssemblies="True">
<Watermarks Watermark0="" Watermark1="" Watermark2="" Watermark3="" Watermark4="" Watermark5="" Watermark6="" Watermark7="" Watermark8="" Watermark9="" />
</ObfuscationSettings>
</Assembly>
如您所见,我为所有 7 个项目设置了 GeneratePdbFile="True"。我在构建过程中集成了 co.exe,它声称已成功运行。它生成 7 个 dll 但只有 6 个 pdb。我在上面粘贴的主 PCL 项目的 pdb 文件丢失,因此 Xamarins 链接器失败,我无法构建 apk。
如何让 CryptoObfuscator 创建所有 pdb?或者我可以在没有它们的情况下生成 apk 吗?
不幸的是,CryptoObfuscator 支持没有回复我的电子邮件,我找不到其他有类似问题的人。