.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)
に書き込みます。
ポートおよびカスタム プロファイルの既定値は 9999
と custom.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 によって呼び出されます。