Ich möchte von Dotnet Maui und in Kotlin implementiertem Android -Aktivität starten, das Jetpack -Komponierungselemente verwendet. open class ExampleActivity : ComponentActivity() {
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(
ComposeView(this).apply {
setContent {
MaterialTheme {
Greeting(name = "compose")
}
}
}
)
}
}
< /code>
Dann habe ich eine Android -Bibliothek daraus erstellt, und ich habe den .Aar in ein Android -Bindungsbibliotheksprojekt in Visual Studio gesteckt. , und insbesondere derjenige, der Probleme verursacht, Androidx.comPl....
...
< /code>
Erstellen der Android -Bindungsbibliothek enthält kleine Warnungen: < /p>
The method '[Method] void Greeting(java.lang.String name, androidx.compose.runtime.Composer $composer, int $changed)' was removed because the Java parameter type 'androidx.compose.runtime.Composer' could not be found.
The field '[Field] com.example.ExampleActivity.$stable' was removed because its name contains a dollar sign.
< /code>
blockiert aber das Build nicht und das Ergebnis ist in einer Maui -App verwendet: < /p>
public static void StartComposeActivity(Context context, string param)
{
var intent = new Intent(
context,
typeof(Com.Example.ExampleActivity));
//intent.PutExtra("param", param);
Android.Util.Log.Debug("DBG", "----------------------------");
Android.Util.Log.Debug("DBG", "Launching intent");
context.StartActivity(intent);
}
< /code>
Aber beim Klicken auf die Schaltfläche, in die ich den Start gebeten habe, startet die Aktivität, führt jedoch zu einem Fehler: < /p>
Java.Lang.NoClassDefFoundError: 'Failed resolution of: Landroidx/compose/ui/platform/ComposeView;'
< /code>
Aber in meinem Kotlin -Code: < /p>
import androidx.compose.ui.platform.ComposeView
< /code>
ComposeView stammt von androidx.compons.ui.platform und laut Android Studio ist die Gradle-Abhängigkeitsreferenz für androidx.comPens. < /p>
Dann sollte xamarin.androidx.comps.ui.android dieses Paket enthalten.
, aber es ist nicht der Fall.
Und androidx.compons.ui.platform scheint nicht vorhanden zu sein und scheint ein Alias für .android < /p>
Ich habe auch versucht, mich selbst und .jar -Kopien von Anfang an hinzuzufügen. Erstellen Sie in die Android -Bindungsbibliothek, aber das Ergebnis ist mit Nuget -Paketen schlechter>
Maui Java -Klassenauflösung schlägt selbst bei hinzugefügten Abhängigkeiten fehl ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post