Поделиться через


Целевые объекты сборки

Следующие целевые объекты сборки определены в проектах .NET для Android.

Сборка

Выполняет сборку исходного кода проекта и всех зависимостей.

Эта цель не создает пакет Android (файл .apk). Чтобы создать пакет Android, используйте цель SignAndroidPackage или задайте для свойства `$(AndroidBuildApplicationPackage) значение True при сборке:

msbuild /p:AndroidBuildApplicationPackage=True App.sln

BuildAndStartAotProfiling

Позволяет создать приложение с внедренным профилировщиком AOT, установить для профилировщика порт TCP $(AndroidAotProfilerPort) и запустить действие по умолчанию.

По умолчанию используется порт TCP 9999.

Добавлено в Xamarin.Android версии 10.2.

Очистить

Удаляет все файлы, созданные в процессе сборки.

FinishAotProfiling

Необходимо вызывать после цели BuildAndStartAotProfiling.

Обеспечивает сбор данных профилировщика AOT с устройства или из эмулятора через TCP-порт $(AndroidAotProfilerPort) и записывает их $(AndroidAotCustomProfilePath)в .

По умолчанию для порта и пользовательского профиля используются значения 9999 и custom.aprof.

Чтобы передать дополнительные параметры aprofutil, задайте их в Свойство $(AProfUtilExtraOptions).

Это соответствует следующей записи:

aprofutil $(AProfUtilExtraOptions) -s -v -f -p $(AndroidAotProfilerPort) -o "$(AndroidAotCustomProfilePath)"

Добавлено в Xamarin.Android версии 10.2.

GetAndroidDependencies

@(AndroidDependency) Создает группу элементов, которая используется целевым InstallAndroidDependencies объектом для определения установленных пакетов SDK для Android.

Установка

Создает, подписывает и устанавливает пакет Android на виртуальном устройстве или устройстве по умолчанию.

Свойство $(AdbTarget) указывает целевое устройство Android, на котором может быть установлен или удален пакет Android.

# Install package onto emulator via -e
# Use `/Library/Frameworks/Mono.framework/Commands/msbuild` on OS X
MSBuild /t:Install ProjectName.csproj /p:AdbTarget=-e

InstallAndroidDependencies

Вызывает целевой GetAndroidDependencies объект, а затем устанавливает пакеты ПАКЕТА SDK Для Android, указанные @(AndroidDependency) в группе элементов.

dotnet build -t:InstallAndroidDependencies -f net8.0-android "-p:AndroidSdkDirectory=<path to sdk>" "-p:JavaSdkDirectory=<path to java sdk>"

Это -f net8.0-android необходимо, так как этот целевой объект является .NET для конкретного целевого объекта Android. Если этот аргумент опущен, вы получите следующую ошибку:

error MSB4057: The target "InstallAndroidDependencies" does not exist in the project.

Необходимы AndroidSdkDirectory свойства, JavaSdkDirectory так как нам нужно знать, где устанавливать необходимые компоненты. Эти каталоги могут быть пустыми или существующими. Компоненты пакета SDK будут установлены на основе существующей установки пакета SDK.

Свойство $(AndroidManifestType) MSBuild определяет, какой репозиторий диспетчера SDK Visual Studio используется для обнаружения имен пакетов и версий пакета, а также URL-адресов для скачивания.

RunWithLogging

Запускает приложение с включенным дополнительным ведением журнала. Полезно при составлении отчетов или изучении проблемы с приложением или средой выполнения. В случае успешного выполнения сообщения, напечатанные на экране, будут отображать расположение файла logcat с зарегистрированными сообщениями.

Свойства, влияющие на работу целевого объекта:

  • /p:RunLogVerbose=true включает еще более подробное ведение журнала из MonoVM
  • /p:RunLogDelayInMS=X где X следует заменить время в миллисекундах, чтобы ждать, прежде чем записывать выходные данные журнала в файл. По умолчанию — 1000.

SignAndroidPackage

Создает и подписывает файл пакета Android (.apk).

Используется с /p:Configuration=Release для создания автономных пакетов выпуска.

StartAndroidActivity

Позволяет запустить действие по умолчанию на устройстве или в работающем эмуляторе.

Чтобы запустить другое действие, задайте для свойства $(AndroidLaunchActivity) свойство для имени действия.

Это соответствует следующей записи:

adb shell am start -S -n @PACKAGE_NAME@/$(AndroidLaunchActivity)

Добавлено в Xamarin.Android версии 10.2.

StopAndroidPackage

Позволяет полностью остановить пакет приложения на устройстве или в работающем эмуляторе.

Это соответствует следующей записи:

adb shell am force-stop @PACKAGE_NAME@

Добавлено в Xamarin.Android версии 10.2.

Удаление

Удаляет пакет Android на виртуальном устройстве или устройстве по умолчанию.

Свойство $(AdbTarget) указывает целевое устройство Android, на котором может быть установлен или удален пакет Android.

UpdateAndroidResources

Resource.designer.cs Обновляет файл.

Этот целевой объект обычно вызывается средой IDE при добавлении новых ресурсов в проект.