.NET pro Android – chyba XA1043

Ukázkové zprávy

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.

Problém

dotnet run potřebuje něco, co lze na zařízení spustit. Vyhledá spustitelný prvek <activity> v AndroidManifest.xml a pokud jej nenajde, použije prvek <instrumentation> pro aplikace, které nemají žádné uživatelské rozhraní, například hostitele benchmarků. Nebyla nalezena žádná.

Řešení

Deklarujte aktivitu pomocí filtru záměru MAIN/LAUNCHER :

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

Nebo pro aplikaci, která nemá žádnou aktivitu, deklarujte instrumentaci:

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

Název třídy, která se má spustit, můžete také explicitně uvést pomocí $(AndroidLaunchActivity) nebo $(AndroidInstrumentation) Vlastnosti nástroje MSBuild.