次の方法で共有


ビルド ターゲット

.NET for Android プロジェクトでは、次のビルド ターゲットが定義されています。

ビルド

プロジェクト内のソース コードとすべての依存関係をビルドします。

このターゲットによって Android パッケージ (.apk ファイル) が作成されることは "ありません"。 Android パッケージを作成するには、SignAndroidPackage ターゲットを使用、"または" ビルド時に `$(AndroidBuildApplicationPackage) プロパティを True に設定します。

msbuild /p:AndroidBuildApplicationPackage=True App.sln

BuildAndStartAotProfiling

埋め込みの AOT プロファイラーを使用してアプリをビルドし、プロファイラー TCP ポートを $(AndroidAotProfilerPort) に設定して、既定のアクティビティを開始します。

既定の TCP ポートは 9999 です。

Xamarin.Android 10.2 で追加されました。

Clean

ビルド プロセスによって生成されたすべてのファイルを削除します。

FinishAotProfiling

BuildAndStartAotProfiling ターゲットの "後に" 呼び出される必要があります。

デバイスまたはエミュレーターからの AOT プロファイラー データを TCP ポート経由で収集し、$(AndroidAotProfilerPort) し、$(AndroidAotCustomProfilePath) に書き込みます。

ポートおよびカスタム プロファイルの既定値は 9999custom.aprof です。

追加のオプションを aprofutil に渡すには、$(AProfUtilExtraOptions) プロパティ。

これは、次の内容と同じです。

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

Xamarin.Android 10.2 で追加されました。

それらを GetAndroidDependencies に設定します

InstallAndroidDependencies ターゲットがインストールする Android SDK パッケージを決定するために使用する @(AndroidDependency) 項目グループを作成します。

インストール

既定のデバイスまたは仮想デバイスに、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 ターゲットを呼び出し、@(AndroidDependency) 項目グループで指定された Android SDK パッケージをインストールします。

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

このターゲットは Android 固有のターゲット用の .NET であるため、 -f net8.0-android が必要です。 この引数を省略すると、次のエラーが発生します。

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

必要なコンポーネントをインストールする場所を知る必要がある場合は、 AndroidSdkDirectory プロパティと JavaSdkDirectory プロパティが必要です。 これらのディレクトリは空でも既存でもかまいません。 Sdk コンポーネントは、既存の SDK インストールの上にインストールされます。

$(AndroidManifestType) MSBuild プロパティは、パッケージ名とパッケージ バージョンの検出に使用される Visual Studio SDK Manager リポジトリ と、ダウンロードする 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 によって呼び出されます。