Błąd XA1043 platformy .NET dla systemu Android

Przykładowe komunikaty

error XA1043: Could not determine what to launch: 'obj/Debug/net11.0-android/android/AndroidManifest.xml' does not contain a launchable <activity> or an <instrumentation> element. Set the $(AndroidLaunchActivity) or $(AndroidInstrumentation) MSBuild property to specify one.

Issue

dotnet run potrzebuje czegoś do uruchomienia na urządzeniu. Wyszukuje możliwy do uruchomienia element <activity> w AndroidManifest.xml, a w przypadku aplikacji, które nie mają interfejsu użytkownika, takich jak host benchmarku, używa elementu <instrumentation> jako rozwiązania zastępczego. Żadna z nich nie została znaleziona.

Rozwiązanie

Zadeklaruj działanie z filtrem intencji MAIN/LAUNCHER :

[Activity (MainLauncher = true)]
public class MainActivity : Activity
{
}

Lub w przypadku aplikacji, która nie ma działania, zadeklaruj instrumentację:

[Instrumentation (Name = "com.companyname.myapp.MyInstrumentation")]
public class MyInstrumentation : Instrumentation
{
    protected MyInstrumentation (IntPtr handle, JniHandleOwnership ownership)
        : base (handle, ownership) { }
}

Możesz również nazwać klasę, aby uruchomić ją jawnie za pomocą polecenia $(AndroidLaunchActivity) lub $(AndroidInstrumentation) Właściwości programu MSBuild.