Closed akkolyasnikov closed 4 years ago
Please provide your flutter run --verbose
and flutter doctor -v
It would be great if you could also provide a minimum code sample or the steps to reproduce your problem.
As of right now adding YandexMapkit plugin to a Flutter project with Kotlin is the same as with Java.
Тут скорее вопрос к инструкции. Сейчас шаблон java и котлин не подразумевают onCreate метода. Не уверен с какой версии Вот весь код из MainActivity.kt
package
import android.os.Bundle
import android.os.PersistableBundle
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
flutter run -v with error
s] E/flutter (22551): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: NoSuchMethodError: The method 'call' was called on null.
[ ] E/flutter (22551): Receiver: null
[ ] E/flutter (22551): Tried calling: call(Instance of 'YandexMapController')
[ ] E/flutter (22551): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
[ +1 ms] E/flutter (22551): #1 YandexMapState._onPlatformViewCreated (package:yandex_mapkit/src/yandex_map.dart:48:13)
[ ] E/flutter (22551): #2 AndroidViewController._create (package:flutter/src/services/platform_views.dart:643:15)
[ ] E/flutter (22551): #3 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
[ +15 ms] E/flutter (22551): #4 _rootRunUnary (dart:async/zone.dart:1134:38)
[ ] E/flutter (22551): #5 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
[ +1 ms] E/flutter (22551): #6 _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
[ ] E/flutter (22551): #7 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
[ +18 ms] E/flutter (22551): #8 Future._propagateToListeners (dart:async/future_impl.dart:709:32)
[ +1 ms] E/flutter (22551): #9 Future._completeWithValue (dart:async/future_impl.dart:524:5)
[ ] E/flutter (22551): #10 _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:32:15)
[ ] E/flutter (22551): #11 _completeOnAsyncReturn (dart:async-patch/async_patch.dart:290:13)
[ ] E/flutter (22551): #12 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart)
[ ] E/flutter (22551): #13 _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:73:64)
[ ] E/flutter (22551): #14 _rootRunUnary (dart:async/zone.dart:1134:38)
[ ] E/flutter (22551): #15 _CustomZone.runUnary (dart:async/zone.dart:1031:19)
[ ] E/flutter (22551): #16 _FutureListener.handleValue (dart:async/future_impl.dart:139:18)
[ ] E/flutter (22551): #17 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:680:45)
[ +1 ms] E/flutter (22551): #18 Future._propagateToListeners (dart:async/future_impl.dart:709:32)
[ ] E/flutter (22551): #19 Future._completeWithValue (dart:async/future_impl.dart:524:5)
[ +3 ms] E/flutter (22551): #20 Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:554:7)
[ ] E/flutter (22551): #21 _rootRun (dart:async/zone.dart:1126:13)
[ +1 ms] E/flutter (22551): #22 _CustomZone.run (dart:async/zone.dart:1023:19)
[ +1 ms] E/flutter (22551): #23 _CustomZone.runGuarded (dart:async/zone.dart:925:7)
[ +23 ms] E/flutter (22551): #24 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:965:23)
[ +1 ms] E/flutter (22551): #25 _microtaskLoop (dart:async/schedule_microtask.dart:43:21)
[ +1 ms] E/flutter (22551): #26 _startMicrotaskLoop (dart:async/schedule_microtask.dart:52:5)
[ ] E/flutter (22551):
[ +209 ms] I/flutter (22551): ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
[ +9 ms] I/flutter (22551): The following NoSuchMethodError was thrown during paint():
[ +24 ms] I/flutter (22551): The getter 'width' was called on null.
[ +2 ms] I/flutter (22551): Receiver: null
[ +1 ms] I/flutter (22551): Tried calling: width
[ +1 ms] I/flutter (22551):
[ ] I/flutter (22551): The relevant error-causing widget was:
[ +1 ms] I/flutter (22551): AndroidView
[ +3 ms] I/flutter (22551): file:///C:/Program%20Files/flutter/.pub-cache/hosted/pub.dartlang.org/yandex_mapkit-0.3.5/lib/src/yandex_map.dart:28:14
[ ] I/flutter (22551):
[ ] I/flutter (22551): When the exception was thrown, this was the stack:
[ +2 ms] I/flutter (22551): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:53:5)
[ +14 ms] I/flutter (22551): #1 RenderAndroidView.paint (package:flutter/src/rendering/platform_view.dart:192:46)
[ +12 ms] I/flutter (22551): #2 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #3 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:135:11)
[ +1 ms] I/flutter (22551): #4 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:95:5)
[ ] I/flutter (22551): #5 PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:201:7)
[ ] I/flutter (22551): #6 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:182:7)
[ ] I/flutter (22551): #7 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #8 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ +18 ms] I/flutter (22551): #9 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ +1 ms] I/flutter (22551): #10 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #11 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #12 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #13 RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2508:15)
[ ] I/flutter (22551): #14 RenderFlex.paint (package:flutter/src/rendering/flex.dart:948:7)
[ +5 ms] I/flutter (22551): #15 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ +3 ms] I/flutter (22551): #16 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ +2 ms] I/flutter (22551): #17 RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2508:15)
[ +22 ms] I/flutter (22551): #18 RenderCustomMultiChildLayoutBox.paint (package:flutter/src/rendering/custom_layout.dart:396:5)
[ ] I/flutter (22551): #19 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #20 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #21 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #22 _RenderInkFeatures.paint (package:flutter/src/material/material.dart:530:11)
[ ] I/flutter (22551): #23 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #24 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #25 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #26 PaintingContext.pushLayer (package:flutter/src/rendering/object.dart:384:12)
[ ] I/flutter (22551): #27 RenderPhysicalModel.paint (package:flutter/src/rendering/proxy_box.dart:1755:15)
[ ] I/flutter (22551): #28 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #29 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #30 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #31 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #32 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ +1 ms] I/flutter (22551): #33 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #34 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #35 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:135:11)
[ ] I/flutter (22551): #36 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:95:5)
[ +1 ms] I/flutter (22551): #37 PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:201:7)
[ +17 ms] I/flutter (22551): #38 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:182:7)
[ ] I/flutter (22551): #39 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #40 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #41 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #42 RenderAnimatedOpacity.paint (package:flutter/src/rendering/proxy_box.dart:919:17)
[ ] I/flutter (22551): #43 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #44 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #45 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #46 RenderFractionalTranslation.paint (package:flutter/src/rendering/proxy_box.dart:2462:13)
[ ] I/flutter (22551): #47 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #48 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #49 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #50 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #51 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:135:11)
[ ] I/flutter (22551): #52 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:95:5)
[ ] I/flutter (22551): #53 PaintingContext._compositeChild (package:flutter/src/rendering/object.dart:201:7)
[ ] I/flutter (22551): #54 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:182:7)
[ ] I/flutter (22551): #55 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #56 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #57 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #58 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #59 RenderOffstage.paint (package:flutter/src/rendering/proxy_box.dart:3181:11)
[ ] I/flutter (22551): #60 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #61 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #62 RenderBoxContainerDefaultsMixin.defaultPaint (package:flutter/src/rendering/box.dart:2508:15)
[ ] I/flutter (22551): #63 RenderStack.paintStack (package:flutter/src/rendering/stack.dart:589:5)
[ ] I/flutter (22551): #64 RenderStack.paint (package:flutter/src/rendering/stack.dart:597:7)
[ ] I/flutter (22551): #65 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ +19 ms] I/flutter (22551): #66 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #67 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #68 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #69 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #70 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #71 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #72 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #73 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #74 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #75 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #76 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #77 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #78 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #79 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #80 RenderCustomPaint.paint (package:flutter/src/rendering/custom_paint.dart:575:11)
[ ] I/flutter (22551): #81 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #82 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #83 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ +1 ms] I/flutter (22551): #84 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #85 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #86 RenderProxyBoxMixin.paint (package:flutter/src/rendering/proxy_box.dart:123:15)
[ ] I/flutter (22551): #87 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #88 PaintingContext.paintChild (package:flutter/src/rendering/object.dart:184:13)
[ ] I/flutter (22551): #89 RenderView.paint (package:flutter/src/rendering/view.dart:213:15)
[ ] I/flutter (22551): #90 RenderObject._paintWithContext (package:flutter/src/rendering/object.dart:2219:7)
[ ] I/flutter (22551): #91 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:135:11)
[ ] I/flutter (22551): #92 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/object.dart:95:5)
[ +16 ms] I/flutter (22551): #93 PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:937:29)
[ +1 ms] I/flutter (22551): #94 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:346:19)
[ +1 ms] I/flutter (22551): #95 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:774:13)
[ ] I/flutter (22551): #96 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:283:5)
[ ] I/flutter (22551): #97 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1102:15)
[ ] I/flutter (22551): #98 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1041:9)
[ ] I/flutter (22551): #99 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:957:5)
[ ] I/flutter (22551): #103 _invoke (dart:ui/hooks.dart:259:10)
[ ] I/flutter (22551): #104 _drawFrame (dart:ui/hooks.dart:217:3)
[ ] I/flutter (22551): (elided 3 frames from package dart:async)
[ ] I/flutter (22551):
[ ] I/flutter (22551): The following RenderObject was being processed when the exception was fired: RenderAndroidView#61f00:
[ ] I/flutter (22551): needs compositing
[ ] I/flutter (22551): creator: _AndroidPlatformView ← Semantics ← _FocusMarker ← Focus ← AndroidView ← YandexMap ←
[ +2 ms] I/flutter (22551): ConstrainedBox ← Container ← Column ← DetailTaskScreenBody ← _BodyBuilder ← MediaQuery ← ⋯
[ ] I/flutter (22551): parentData: <none> (can use size)
[ ] I/flutter (22551): constraints: BoxConstraints(w=90.0, h=80.0)
[ ] I/flutter (22551): layer: OffsetLayer#2654d DETACHED
[ +3 ms] I/flutter (22551): semantic boundary
[ ] I/flutter (22551): size: Size(90.0, 80.0)
[ ] I/flutter (22551): This RenderObject has no descendants.
[ ] I/flutter (22551): ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter doctor -v
[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.18363.535], locale ru-RU)
• Flutter version 1.12.13+hotfix.5 at C:\Program Files\flutter
• Framework revision 27321ebbad (2 weeks ago), 2019-12-10 18:15:01 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0
[!] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
• Android SDK at C:\Users\dakol\AppData\Local\Android\Sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-29, build-tools 29.0.2
• ANDROID_HOME = C:\Users\dakol\AppData\Local\Android\Sdk
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
X Android license status unknown.
Try re-installing or updating your Android SDK Manager.
See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed instructions.
[√] Android Studio (version 3.5)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 42.1.1
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
[√] VS Code (version 1.41.1)
• VS Code at C:\Users\dakol\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.7.1
[√] Connected device (1 available)
• AOSP on IA Emulator • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
Похоже, что это связано с рефактором Platform views
во флаттере.
Проблема затрагивает не только Kotlin, но и Java. На версии флаттера V1.9.1 плагин еще корректно работал.
На данный момент необходимо доработать этот плагин, чтобы он смог работать с текущим флаттером.
Исправлено в текущей версии плагина
Now i can't build project with kotlin-based application. How i can fix it ?