You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter安卓模拟器运行报错java.lang.NoSuchMethodError求解决

安卓模拟器运行Flutter应用失败问题排查与解决

问题概述

在安卓模拟器上运行Flutter应用时出现崩溃,抛出java.lang.NoSuchMethodError错误,同时偶发出现「与设备失去连接」「连接服务协议失败」的问题。

错误详情

致命崩溃日志

Running Gradle task 'assembleDebug'...                             60.6s
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Installing ..\build\app\outputs\flutter-apk\app.apk...             36.2s
W/FlutterActivityAndFragmentDelegate(11217): A splash screen was provided to Flutter, but this is deprecated. See flutter.dev/go/android-splash-migration for migration steps.
D/FlutterLocationService(11217): Creating service.
D/FlutterLocationService(11217): Binding to location service.
E/AndroidRuntime(11217): FATAL EXCEPTION: main
E/AndroidRuntime(11217): Process: com.praveeshramroop.athena, PID: 11217
E/AndroidRuntime(11217): java.lang.NoSuchMethodError: No static method getMainExecutor(Landroid/content/Context;)Ljava/util/concurrent/Executor; in class Landroidx/core/content/ContextCompat; or its super classes (declaration of 'androidx.core.content.ContextCompat' appears in /data/app/com.praveeshramroop.athena-xNhfD9FuVpNs2XnASDlC4w==/base.apk)
E/AndroidRuntime(11217):        at io.flutter.embedding.android.FlutterView.onAttachedToWindow(FlutterView.java:506)
E/AndroidRuntime(11217):        at android.view.View.dispatchAttachedToWindow(View.java:18347)
E/AndroidRuntime(11217):        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3397)
E/AndroidRuntime(11217):        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
E/AndroidRuntime(11217):        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
E/AndroidRuntime(11217):        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
E/AndroidRuntime(11217):        at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3404)
E/AndroidRuntime(11217):        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1761)
E/AndroidRuntime(11217):        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1460)
E/AndroidRuntime(11217):        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7183)
E/AndroidRuntime(11217):        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
E/AndroidRuntime(11217):        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
E/AndroidRuntime(11217):        at android.view.Choreographer.doFrame(Choreographer.java:696)
E/AndroidRuntime(11217):        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
E/AndroidRuntime(11217):        at android.os.Handler.handleCallback(Handler.java:873)
E/AndroidRuntime(11217):        at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(11217):        at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(11217):        at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime(11217):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(11217):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(11217):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

偶发错误

  • 与设备失去连接
  • 连接服务协议失败

相关代码文件

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: 
  cupertino_icons: null
  firebase_auth: 
  firebase_core: 
  firebase_messaging: 
  flutter_google_places: null
  flutter_spinkit: ^5.1.0
  geocoder: 
  geoflutterfire: 
  geolocator: 
  google_maps_flutter: null
  google_maps_webservice: null
  http: null
  location: ^4.4.0
  modal_bottom_sheet: ^2.0.1
  percent_indicator: ^4.2.1
  provider: null
  rxdart: any
  shared_preferences: ^2.0.15
  uuid: null
  url_launcher: ^6.0.5
  get_it: ^7.2.0
  plugin_platform_interface: 
  geolocator_platform_interface: 
  geocoding: ^2.0.4
  google_api_availability:
  google_api_headers: ^1.1.1
  mockito: ^5.2.0

main.dart

import 'package:flutter/material.dart';
import 'package:txapita/providers/app_state.dart';
import 'package:txapita/providers/user.dart';
import 'package:txapita/screens/login.dart';
import 'package:txapita/screens/splash.dart';
import 'locators/service_locator.dart';
import 'screens/home.dart';
import 'package:provider/provider.dart';
import 'package:firebase_core/firebase_core.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  setupLocator();
  return runApp(MultiProvider(
    providers: [
      ChangeNotifierProvider<AppStateProvider>.value(
        value: AppStateProvider(),
      ),
      ChangeNotifierProvider<UserProvider>.value(
        value: UserProvider.initialize(),
      ),
    ],
    child: MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'Txapita',
      theme: ThemeData(
        primarySwatch: Colors.red,
      ),
      home: MyApp(),
    ),
  ));
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    UserProvider auth = Provider.of<UserProvider>(context);
    switch (auth.status) {
      case Status.Uninitialized:
        return Splash();
      case Status.Unauthenticated:
      case Status.Authenticating:
        return LoginScreen();
      case Status.Authenticated:
        return MyHomePage();
      default:
        return LoginScreen();
    }
  }
}

解决方法

1. 修复AndroidX核心依赖版本问题

getMainExecutor方法是AndroidX Core 1.2.0及以上版本才提供的,当前项目依赖的AndroidX Core版本过低,需统一指定版本:

  • 打开android/build.gradle文件,在ext代码块中添加AndroidX Core版本配置:
ext {
    androidxCoreVersion = '1.10.1'
}
  • 确保项目中所有依赖的AndroidX Core版本一致,避免冲突。

2. 规范并更新Flutter依赖

  • 给pubspec.yaml中未指定版本的依赖添加最新稳定版号,删除null值配置(例如cupertino_icons: null改为cupertino_icons: ^1.0.6);
  • 执行命令flutter pub upgrade更新所有依赖到最新兼容版本。

3. 清理项目缓存

  • 执行命令flutter clean清理Flutter项目缓存;
  • 进入android目录,执行./gradlew clean清理Gradle缓存;
  • 重启模拟器和开发IDE。

4. 解决偶发设备连接问题

  • 执行命令adb kill-server && adb start-server重置ADB服务;
  • 重启安卓模拟器,确保模拟器网络与主机正常连通;
  • 执行命令flutter upgrade将Flutter SDK升级到最新稳定版。

内容的提问来源于stack exchange,提问作者Praveesh Ramroop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:45:34