Я работаю над проектом flutter и использую стабильную версию flutter, и я обновился до последней стабильной версии 1.17, и после обновления мое приложение вылетает после сборки и запуска приложения и первой части вывод журнала cra sh следующий.
[ +589 ms] W/FlutterEnginePluginRegistry( 4594): Attempted to register plugin (io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry$ShimRegistrarAggregate@3e8e5e0a) but it
was already registered with this FlutterEngine (io.flutter.embedding.engine.FlutterEngine@901467b).
[ +1 ms] W/FlutterEnginePluginRegistry( 4594): Attempted to register plugin (com.ryanheise.audioservice.AudioServicePlugin@3726ac98) but it was already registered with this
FlutterEngine (io.flutter.embedding.engine.FlutterEngine@901467b).
и вот ошибки:
[ +8 ms] E/CrashlyticsCore(11221): Failed to execute task.
[ ] E/CrashlyticsCore(11221): java.util.concurrent.TimeoutException
[ ] E/CrashlyticsCore(11221): at java.util.concurrent.FutureTask.get(FutureTask.java:176)
[ +1 ms] E/CrashlyticsCore(11221): at
com.crashlytics.android.core.CrashlyticsBackgroundWorker.submitAndWait(CrashlyticsBackgroundWorker.java:41)
[ +1 ms] E/CrashlyticsCore(11221): at
com.crashlytics.android.core.CrashlyticsController.handleUncaughtException(CrashlyticsController.java:321)
[ +1 ms] E/CrashlyticsCore(11221): at
com.crashlytics.android.core.CrashlyticsController$6.onUncaughtException(CrashlyticsController.java:301)
[ +1 ms] E/CrashlyticsCore(11221): at
com.crashlytics.android.core.CrashlyticsUncaughtExceptionHandler.uncaughtException(CrashlyticsUncaughtExceptionHandler.java:42)
[ +6 ms] E/CrashlyticsCore(11221): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693)
[ +1 ms] E/CrashlyticsCore(11221): at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690)
[ ] E/AndroidRuntime(11221): FATAL EXCEPTION: main
[ ] E/AndroidRuntime(11221): Process: com.domain.app.debug, PID: 11221
[ ] E/AndroidRuntime(11221): java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.domain.app.debug/com.domain.app.MainActivity}: java.lang.NullPointerException: Attempt to invoke interface
method 'void io.flutter.plugin.common.BinaryMessenger.setMessageHandler(java.lang.String,
io.flutter.plugin.common.BinaryMessenger$BinaryMessageHandler)' on a null object reference
[ +1 ms] E/AndroidRuntime(11221): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325)
[ ] E/AndroidRuntime(11221): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
[ ] E/AndroidRuntime(11221): at android.app.ActivityThread.access$800(ActivityThread.java:151)
[ ] E/AndroidRuntime(11221): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
[ ] E/AndroidRuntime(11221): at android.os.Handler.dispatchMessage(Handler.java:102)
[ ] E/AndroidRuntime(11221): at android.os.Looper.loop(Looper.java:135)
[ ] E/AndroidRuntime(11221): at android.app.ActivityThread.main(ActivityThread.java:5254)
[ ] E/AndroidRuntime(11221): at java.lang.reflect.Method.invoke(Native Method)
[ ] E/AndroidRuntime(11221): at java.lang.reflect.Method.invoke(Method.java:372)
[ +1 ms] E/AndroidRuntime(11221): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
[ +7 ms] E/AndroidRuntime(11221): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
[ +1 ms] E/AndroidRuntime(11221): Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'void
io.flutter.plugin.common.BinaryMessenger.setMessageHandler(java.lang.String,
io.flutter.plugin.common.BinaryMessenger$BinaryMessageHandler)' on a null object reference
[ +1 ms] E/AndroidRuntime(11221): at io.flutter.plugin.common.MethodChannel.setMethodCallHandler(MethodChannel.java:116)
[ ] E/AndroidRuntime(11221): at xyz.luan.audioplayers.AudioplayersPlugin.<init>(AudioplayersPlugin.java:36)
[ ] E/AndroidRuntime(11221): at xyz.luan.audioplayers.AudioplayersPlugin.registerWith(AudioplayersPlugin.java:31)
[ ] E/AndroidRuntime(11221): at
io.flutter.plugins.GeneratedPluginRegistrant.registerWith(GeneratedPluginRegistrant.java:19)
[ +1 ms] E/AndroidRuntime(11221): at com.domain.app.MainActivity.configureFlutterEngine(MainActivity.kt:34)
[ ] E/AndroidRuntime(11221): at
io.flutter.embedding.android.FlutterFragment.configureFlutterEngine(FlutterFragment.java:944)
[ +1 ms] E/AndroidRuntime(11221): at
io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:178)
[ +12 ms] E/AndroidRuntime(11221): at io.flutter.embedding.android.FlutterFragment.onAttach(FlutterFragment.java:578)
[ +1 ms] E/AndroidRuntime(11221): at androidx.fragment.app.Fragment.performAttach(Fragment.java:2672)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:263)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1170)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1255)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentTransition.calculateFragments(FragmentTransition.java:1138)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:136)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1989)
[ ] E/AndroidRuntime(11221): at
androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1947)
[ +6 ms] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:2629)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2577)[ ] E/AndroidRuntime(11221): at
androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:247)
[ ] E/AndroidRuntime(11221): at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:541)
[ +1 ms] E/AndroidRuntime(11221): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1236)
[ ] E/AndroidRuntime(11221): at android.app.Activity.performStart(Activity.java:6006)
[ ] E/AndroidRuntime(11221): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
это мое основное действие:
package com.domain.app
import android.content.Context
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterFragmentActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
import android.view.WindowManager.LayoutParams;
import io.flutter.embedding.engine.dart.DartExecutor
import android.view.KeyEvent
import android.util.Log
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
class MainActivity : FlutterFragmentActivity() {
var handleKeys: Boolean = false
var methodChannel: MethodChannel? = null;
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine)
// No screenshots unless enabled
val sharedPreferences = getSharedPreferences("FlutterSharedPreferences", Context.MODE_PRIVATE);
val canShot = sharedPreferences.getBoolean("flutter.screenshot", false);
if (!canShot)
getWindow().addFlags(LayoutParams.FLAG_SECURE)
methodChannel = MethodChannel(flutterEngine.dartExecutor.binaryMessenger, "com.domain.app/keyboard")
methodChannel?.setMethodCallHandler { call, result ->
if (call.method == "setScreenName") {
val arg = call.arguments.toString();
handleKeys = arg == "ebook_screen";
} else {
result.notImplemented()
}
}
}
override fun provideFlutterEngine(context: Context): FlutterEngine {
// Instantiate a FlutterEngine.
val flutterEngine = FlutterEngine(context.applicationContext)
// Start executing Dart code to pre-warm the FlutterEngine.
flutterEngine.dartExecutor.executeDartEntrypoint(
DartExecutor.DartEntrypoint.createDefault()
)
return flutterEngine
}
override fun onKeyDown(keyCode: Int, event: KeyEvent?): Boolean {
if (event?.getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN ||
event?.getKeyCode() == KeyEvent.KEYCODE_SPACE ||
event?.getKeyCode() == KeyEvent.KEYCODE_VOLUME_UP) {
if (handleKeys) {
methodChannel?.invokeMethod("onKeyDown", event?.getKeyCode().toString())
return true;
} else
return super.onKeyDown(keyCode, event)
} else {
return super.onKeyDown(keyCode, event)
}
}
}
Это мой GeneratedPluginRegistrant.java
файл:
package io.flutter.plugins;
import androidx.annotation.Keep;
import androidx.annotation.NonNull;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.embedding.engine.plugins.shim.ShimPluginRegistry;
/**
* Generated file. Do not edit.
* This file is generated by the Flutter tool based on the
* plugins that support the Android platform.
*/
@Keep
public final class GeneratedPluginRegistrant {
public static void registerWith(@NonNull FlutterEngine flutterEngine) {
ShimPluginRegistry shimPluginRegistry = new ShimPluginRegistry(flutterEngine);
flutterEngine.getPlugins().add(new com.ryanheise.audioservice.AudioServicePlugin());
xyz.luan.audioplayers.AudioplayersPlugin.registerWith(shimPluginRegistry.registrarFor("xyz.luan.audioplayers.AudioplayersPlugin"));
flutterEngine.getPlugins().add(new io.flutter.plugins.connectivity.ConnectivityPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.deviceinfo.DeviceInfoPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.firebaseanalytics.FirebaseAnalyticsPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.firebase.crashlytics.firebasecrashlytics.FirebaseCrashlyticsPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin());
flutterEngine.getPlugins().add(new com.pichillilorenzo.flutter_inappwebview.InAppWebViewFlutterPlugin());
flutterEngine.getPlugins().add(new com.rmawatson.flutterisolate.FlutterIsolatePlugin());
io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin.registerWith(shimPluginRegistry.registrarFor("io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin"));
de.gigadroid.flutterudid.FlutterUdidPlugin.registerWith(shimPluginRegistry.registrarFor("de.gigadroid.flutterudid.FlutterUdidPlugin"));
io.github.ponnamkarthik.toast.fluttertoast.FluttertoastPlugin.registerWith(shimPluginRegistry.registrarFor("io.github.ponnamkarthik.toast.fluttertoast.FluttertoastPlugin"));
flutterEngine.getPlugins().add(new io.flutter.plugins.googlesignin.GoogleSignInPlugin());
flutterEngine.getPlugins().add(new vn.hunghd.flutter.plugins.imagecropper.ImageCropperPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.imagepicker.ImagePickerPlugin());
com.zaihui.installplugin.InstallPlugin.registerWith(shimPluginRegistry.registrarFor("com.zaihui.installplugin.InstallPlugin"));
flutterEngine.getPlugins().add(new io.flutter.plugins.localauth.LocalAuthPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.packageinfo.PackageInfoPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin());
flutterEngine.getPlugins().add(new com.baseflow.permissionhandler.PermissionHandlerPlugin());
flutter.plugins.screen.screen.ScreenPlugin.registerWith(shimPluginRegistry.registrarFor("flutter.plugins.screen.screen.ScreenPlugin"));
flutterEngine.getPlugins().add(new io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin());
flutterEngine.getPlugins().add(new com.tekartik.sqflite.SqflitePlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.urllauncher.UrlLauncherPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.videoplayer.VideoPlayerPlugin());
flutterEngine.getPlugins().add(new creativecreatorormaybenot.wakelock.WakelockPlugin());
flutterEngine.getPlugins().add(new io.flutter.plugins.webviewflutter.WebViewFlutterPlugin());
}
}
И это мои зависимости:
dependencies:
flutter:
sdk: flutter
flutter_localizations:
sdk: flutter
path_provider: ^1.6.7
permission_handler: ^5.0.0+hotfix.5
flutter_cupertino_localizations: ^1.0.1
#flutter_secure_storage: ^3.3.3
dio: ^3.0.9
dio_http2_adapter: ^1.0.0
archive: ^2.0.11
percent_indicator: ^2.1.3
flutter_widget_from_html: ^0.3.3+3
google_sign_in: ^4.4.4
fluttertoast: ^4.0.1
package_info: ^0.4.0+17
intl_translation: ^0.17.9 # Because every version of flutter_test from sdk depends on petitparser 2.4.0 and intl_translation >=0.17.10 depends on petitparser ^3.0.0, flutter_test from sdk is incompatible with intl_translation >=0.17.10.
local_auth: ^0.6.2+1
shared_preferences: ^0.5.7+1
sqflite: ^1.3.0+1
flutter_sticky_header: ^0.4.2
matrix_gesture_detector: ^0.1.0
http: ^0.12.1
cupertino_icons: ^0.1.3
extended_image: ^0.7.3+1
extended_image_library: ^0.2.3
provider: ^4.1.0
connectivity: ^0.4.8+5
url_launcher: ^5.4.5
image_picker: ^0.6.6+1
flutter_inappwebview:
git:
url: https://github.com/pichillilorenzo/flutter_inappwebview.git
ref: master
flutter_bloc: ^4.0.0
equatable: ^1.1.1
audioplayers: ^0.15.1
rxdart: ^0.24.0
flutter_widgets: ^0.1.12
intl: ^0.16.1
jalali_date: ^0.1.5
encrypt: ^4.0.1
pointycastle: ^1.0.2
firebase_messaging: ^6.0.13
flushbar: ^1.10.2
html_unescape: ^1.0.1+3
photo_view: ^0.9.2
dart2_constant: ^1.0.2+dart2
audio_service: ^0.8.0
firebase_analytics: ^5.0.11
firebase_crashlytics: ^0.1.3+3
screen: ^0.0.5
install_plugin: ^2.0.1
device_info: ^0.4.2+3
flutter_udid: ^1.0.1
любой намек или идея, с чего мне начать поиск, чтобы отладить эту проблему?