Fel XA1043 för .NET för Android

Exempelmeddelanden

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.

Problematik

dotnet run behöver något att köra på enheten. Den letar efter en startbar <activity> i AndroidManifest.xml och använder i stället ett <instrumentation>-element för appar som inte har något användargränssnitt, till exempel en värd för prestandatest. Ingen av dem hittades.

Lösning

Deklarera en aktivitet med ett MAIN/LAUNCHER avsiktsfilter:

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

Eller deklarera en instrumentation för en app som inte har någon aktivitet:

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

Du kan också uttryckligen ange klassen som ska startas med $(AndroidLaunchActivity) eller $(AndroidInstrumentation) MSBuild-egenskaper.