Fehler XA1043 in .NET für Android

Beispielnachrichten

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 benötigt etwas, das auf dem Gerät gestartet werden soll. Es sucht nach einem startbaren <activity> in AndroidManifest.xml und greift bei Apps ohne Benutzeroberfläche, z. B. einem Benchmark-Host, auf ein <instrumentation>-Element zurück. Keines von beiden wurde gefunden.

Lösung

Deklarieren sie eine Aktivität mit einem MAIN/LAUNCHER Intent-Filter:

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

Oder deklarieren Sie für eine App, die keine Aktivität hat, eine Instrumentierung:

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

Sie können auch die Klasse angeben, die explizit mit der gestartet werden soll $(AndroidLaunchActivity) oder $(AndroidInstrumentation) MSBuild-Eigenschaften.