Я попытался использовать CryptoObfuscator для обфускации моего приложения Android, но он не генерирует все файлы pdb.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>
Как вы можете видеть, что я установить GeneratePdbFile = «True» для всех 7 проектов. Я включил co.exe в мой процесс сборки, и он утверждает, что успешно работает. Он генерирует 7 dll, но только 6 pdbs. Файл pdb для моего основного проекта PCL, который я вставил выше, отсутствует, и поэтому компоновщик Xamarins терпит неудачу, и я не могу построить apk.
Как я могу получить CryptoObfuscator для создания всех pdbs? Или я могу сгенерировать apk без них?
К сожалению, поддержка CryptoObfuscator не отвечала на мои письма, и я не мог найти кого-либо еще с подобной проблемой.
Что такое прецедент? Это будет окончательная конфигурация 'Release'' .apk' (Aka выпущена извне)? Если это так, нет необходимости даже генерировать символы 'pdb', если вы не планируете прикреплять отладчик. –
@JonDouglas Да, это релиз сборки. Я не хочу отлаживать эту сборку. Мне не нужны файлы pdb, но по мере их создания по умолчанию я думал, что, возможно, Xamarin нуждается в них для сборки apk. Компилятор определенно сбой, если pdb не соответствует DLL. Если вы можете сказать мне, как построить apk без pdbs, я тоже буду счастлив. –
Я считаю, что вы можете просто удалить свойство '' из конфигурации 'Release': https://developer.xamarin.com/guides/android/under_the_hood/build_process/#Build_Properties. Он может возвращаться как' false' но это должно помешать тем, кого я считаю. –