2015-05-19 6 views
3

У меня есть задача обфускации мой проект Xamarin Android (пусть называют это AndrProj) вместе с библиотеками он ссылается: два PCL (назовем их PCL1 and PCL2) и Android-приложение (AndrLib). PCL2 и AndrLib также есть ссылки на PCL1.Невозможно создать файл .apk после введения Crypto Obfuscator в проект Xamarin.Android

Я был вдохновлен статьей this и решил попробовать Crypto Obfuscator Демоверсию .Net v2015 для моих целей.

Я использовал свой «Мастер интеграции с Visual Studio Project». PCL1 был установлен как «Первый проект» и AndrProj как «Последний проект». Для начала использовались только настройки по умолчанию. Теперь, когда я строю свой проект, все идеально. Dll в папке \ bin \ Release запутаны.

Я был бы полностью счастлив, если бы смог создать файл .apk и попробовать его на устройстве Android. Но когда я выбираю Build -> Архив для публикации в Xamarin студии, через некоторое время я вижу «Build FAILED» и

Ошибка при запутывания: - сборка «AndrLib» является уже затемненный с Crypto Obfuscator. Если вы запустили мастер интеграции Visual Studio Project в проектах Visual Studio, вы не можете запутываться из пользовательского интерфейса Crypto Obfuscator, если вы не отключите автоматическую обфускацию для этого проекта из меню «Проект» Crypto Obfuscator -> «Включить/отключить Visual Studio Интеграция »и« Реконструкция вашего решения в Visual Studio до »производят несвязанные сборки.

Я также попробовал «Экспорт пакета Android (.apk)» из Visual Studio 2013, но он дает меньше вывода и по-прежнему не создает .apk.

Я считаю, что он жалуется только о AndrLib потому что он идет первым по алфавиту среди PCL1, PCL2 и AndrLib. И более глобальная проблема заключается в том, что создание .apk заставляет все сборки быть запутаны еще раз. Есть ли способ пропустить эту вторую запутанность? Или игнорировать эту проблему?

+0

Вы отправили свой собственный ответ в своем вопросе, он объясняет, что он не обфускает их по отдельности и использует сборку для этого. –

+0

Извините @ Мартин, я не понимаю вашу идею. Проекты были созданы, чтобы быть укоренившимися через «Мастер интеграции проектов Visual Studio», где были указаны первый и последний проекты. Кроме того, AndrProj строит без ошибок. Это создание пакета, которое терпит неудачу. – foxanna

ответ

0

Ну, решения были довольно простыми: мне пришлось использовать MSBuild.exe напрямую с целевым сигнальным пакетом SignAndroidPackage, а не создавать .apk из IDE.


Вот письмо от технической поддержки по поводу описанной проблемы (может быть полезным для кого-то):

Если решение не удается построить после выполнения MSBuild интеграции, попробуйте следующее:

Изменить многостраничную версию журнала сборки: Меню Visual Studio Tools -> Параметры -> Проекты и решения -> Сборка и запуск -> Создание сборки WSB для сборки MSBuild, установите это в подробное.

Теперь проверьте окно вывода Visual Studio для любых подсказок или дополнительной информации о причине ошибки.

Измените количество потоков, используемых MSBuild, на 1 следующим образом: Меню Visual Studio Tools -> Параметры -> Проект и решения -> Построение и запуск -> Максимальное количество параллельных потоков: установите для этого значение 1.

Если вы получили сообщение об ошибке, подобное «Сборка« XYZ »уже запутана Crypto Obfuscator ...», когда вы запустите (CTRL + F5) или Debug (F5) свое решение, а затем попробуйте выполнить Очистить (меню Visual Studio Build -> Очистить пункт меню), а затем выполнить Run (CTRL + F5) или Debug (F5).

Сбой сборки также может возникнуть, если вы запустили мастер несколько раз, каждый раз выбрав другой «первый» проект. Эта проблема обычно возникает через ошибку «файл не найден» в журнале сборки/выходе. Чтобы решить эту проблему, начните с чистых неинтегрированных файлов .csproj/.vbproj (мастер копирует исходные неинтегрированные файлы проекта в расширение .backup_% timestamp% до изменения файлов проекта, поочередно вы можете открыть .csproj/.vbproj в текстовом редакторе и удалить XML, добавленный мастером, который можно найти в конце файла). Затем запустите мастер снова, указав правильные первые и последние проекты.

 Смежные вопросы

  • Нет связанных вопросов^_^