web-dev-qa-db-ja.com

タイプの不一致:推論されたタイプはPluginRegistryですか?しかしFlutterEngineが期待されていました

Flutter Workmanagerを使用したいのですが、.ktで次のように引用された設定を行いました。

package com.example.mybackprocess

import be.tramckrijte.workmanager.WorkmanagerPlugin
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugins.GeneratedPluginRegistrant

class App : FlutterApplication(), PluginRegistry.PluginRegistrantCallback {
override fun onCreate() {
    super.onCreate()
    WorkmanagerPlugin.setPluginRegistrantCallback(this)
}

override fun registerWith(reg: PluginRegistry?) {
    GeneratedPluginRegistrant.registerWith(reg)
}
}

android:nameを

Android:name=".App"

しかし、それは私にこのエラーを与えます:

デバッグモードでG3212のlib\main.Dartを起動しています... e:E:\ mybackprocess\Android\app\src\main\kotlin\com\example\mybackprocess\MainActivity.kt:(15、48):タイプの不一致:推論されたタイプはPluginRegistryですか?しかしFlutterEngineが期待されていました

失敗:ビルドは例外で失敗しました。 *問題点:タスク ':app:compileDebugKotlin'の実行が失敗しました。コンパイルエラー。詳細についてはログを参照してください

試してください:--stacktraceオプションを指定して実行し、スタックトレースを取得します。 --infoまたは--debugオプションを指定して実行し、より多くのログ出力を取得します。完全な洞察を得るために--scanを付けて実行します。 * https://help.gradle.org でさらにヘルプを取得

55秒でビルドが失敗しましたGradleタスクassemblyDebugが終了コード1で失敗しました終了しました(sigterm)

誰かが私を助けてくれますか?

2
Djamila Jada

あなたはapplication.ktで次のメソッドを置き換えることによって問題を修正することができます

override fun registerWith(registry: PluginRegistry?) {
    registry?.registrarFor("com.iotecksolutions.background_location_fetch.BackgroundLocationFetchPlugin");
}

注:com.iotecksolutions.background_location_fetch.BackgroundLocationFetchPluginをプラグイン名に置き換えます。

2
Zubair Rehman

MainActivity.ktを次で置き換えます。

import Android.os.Bundle
import io.flutter.app.FlutterActivity
import io.flutter.plugins.GeneratedPluginRegistrant

class MainActivity : FlutterActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        GeneratedPluginRegistrant.registerWith(this)
    }
}
0
B. Stucke