Еще один день с Xamarin! Не могу даже построить мой первый Hello World
проект! Не удивительно, а?
Итак, новый новый Xamarin.Android
пустой проект. Включил ProGuard , ссылку на Только сборки SDK и продолжил сборку проекта. И Уолла !! Ошибка! (Подожди, я не удивлюсь, верно? В конце концов, это Ксамарин). Вот ошибка:
"java.exe" завершен с кодом 1
Двойной щелчок по исключению открывает файл Xamarin.Android.Common.Targets
и указывает на тег ProGuard
, который выглядит следующим образом:
<Proguard
Condition="'$(AndroidEnableProguard)' == 'True' and '$(_ProguardProjectConfiguration)' != ''"
ProguardJarPath="$(ProguardJarPath)"
AndroidSdkDirectory="$(_AndroidSdkDirectory)"
JavaToolPath="$(JavaToolPath)"
ProguardToolPath="$(ProguardToolPath)"
ToolExe="$(ProguardToolExe)"
UseProguard="$(UseProguard)"
JavaPlatformJarPath="$(JavaPlatformJarPath)"
ClassesOutputDirectory="$(IntermediateOutputPath)android\bin\classes"
AcwMapFile="$(_AcwMapFile)"
ProguardCommonXamarinConfiguration="$(IntermediateOutputPath)proguard\proguard_xamarin.cfg"
ProguardGeneratedReferenceConfiguration="$(_ProguardProjectConfiguration)"
ProguardGeneratedApplicationConfiguration="$(IntermediateOutputPath)proguard\proguard_project_primary.cfg"
ProguardConfigurationFiles="$(ProguardConfigFiles)"
JavaLibrariesToEmbed="@(_JarsToProguard);@(_InstantRunJavaReference)"
ExternalJavaLibraries="@(AndroidExternalJavaLibrary)"
DoNotPackageJavaLibraries="@(_ResolvedDoNotPackageAttributes)"
ProguardJarOutput="$(IntermediateOutputPath)proguard\__proguard_output__.jar"
EnableLogging="$(ProguardEnableLogging)"
DumpOutput="$(IntermediateOutputPath)proguard\dump.txt"
PrintSeedsOutput="$(IntermediateOutputPath)proguard\seeds.txt"
PrintUsageOutput="$(IntermediateOutputPath)proguard\usage.txt"
PrintMappingOutput="$(IntermediateOutputPath)proguard\mapping.txt"
ProguardInputJarFilter="$(_AndroidProguardInputJarFilter)"
/>
Итак, я думаю, что это может быть проблема ProGuard . Итак, поиск в Google и применил все найденные мной исправления:
- Обновлен Android SDK
- Установить размер кучи Java на 1G (и даже на 5G)
- Включено Multi-Dex
- Обновлен ProGuard
- Создан новый файл proguard.cfg в решении (конечно, установите
build action
в ProGuardConfiguration
и добавлены необходимые пользовательские строки.
Но, тем не менее, та же ошибка указывает на тот же тег ProGuard
. Теперь, прежде чем кто-нибудь начнет бить меня, говоря, что я мог испортить файл конфигурации proguard, вот ссылка на него:
Я читал, что это очень распространенная проблема в Xamarin. Так что, думаю, кто-то мог бы придумать решение, которое действительно работает! . Итак, какие-нибудь исправления или идеи о том, чего мне не хватает?