очень стандартный код, но я понятия не имею, почему я получаю необработанное исключение: MissingPluginException (реализация не найдена для метода getHello на канале com.jetbrains.handson.mpp.mobile/createApplicationScreenMessage)
package com.example.mysharedproject
import android.os.Bundle
import android.os.PersistableBundle
import android.util.Log
import com.jetbrains.handson.mpp.mobile.createApplicationScreenMessage
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity : FlutterActivity() {
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "com.jetbrains.handson.mpp.mobile/createApplicationScreenMessage")
.setMethodCallHandler { call, result ->
if (call.method == "getHello"){
result.success(createApplicationScreenMessage())
}
else{
result.notImplemented()
}
}
}
}
этот код взят из SharedCode, как в этом уроке https://play.kotlinlang.org/hands-on/Targeting%20iOS%20and%20Android%20with%20Kotlin%20Multiplatform/03_CreatingSharedCode:
package com.jetbrains.handson.mpp.mobile
expect fun platformName(): String
fun createApplicationScreenMessage(): String {
return "Kotlin Rocks on ${platformName()}"
}
и код Dart
class _MyHomePageState extends State<MyHomePage> {
String _helloText = "...";
static const MethodChannel methodChannel =
MethodChannel('com.jetbrains.handson.mpp.mobile/createApplicationScreenMessage');
Future<void> _getHello() async {
final String result = await methodChannel.invokeMethod("getHello");
setState(() {
_helloText = result;
});
}
@override
void initState() {
_getHello();
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Text(_helloText),
],
),
),
);
}
Я попытался очистить флаттер, переустановить приложение , проект clean & build и у меня ничего не работает, какие могут быть причины этой проблемы?
UPD: Я не знаю, должна ли моя деятельность выводить этот журнал через Logcat в методе configureFlutterEngine или нет, но это не так. android .util.Log ("tagdbg", "Я здесь")
В Android Манифест Я указал <activity android:name=".MainActivity">
, но не FlutterActivity, как в официальных документах, но мне нужно получить доступ к kotlin код от котлина / родного.