XA1043 hiba az Androidhoz készült .NET-ben

Példaüzenetek

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 szüksége van valamire, amit el kell indítani az eszközön. Egy indítható <activity> elemet keres a(z) AndroidManifest.xml elemben, és azoknál az alkalmazásoknál, amelyek nem rendelkeznek felhasználói felülettel, például egy teljesítménymérési gazdaalkalmazás esetében, egy <instrumentation> elemhez folyamodik. Egyik sem található.

Megoldás

Tevékenység deklarálása szándékszűrővel MAIN/LAUNCHER :

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

Vagy egy tevékenység nélküli alkalmazás esetén deklarálhat egy eszközállapotot:

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

Az indítandó osztály nevét explicit módon is megadhatja a következővel: $(AndroidLaunchActivity) vagy $(AndroidInstrumentation) MSBuild tulajdonságok.