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

Android Studio模拟器运行Flutter ARCore应用崩溃的解决求助

问题:Flutter ARCore应用在AVD上崩溃,无法启动ARCore安装程序

在Android Studio的Android虚拟设备(AVD)上运行Flutter的ARCore增强现实应用时,点击运行按钮后应用直接崩溃。已尝试修改AVD的OpenGL ES API级别,但问题仍未解决。报错核心原因是找不到处理Intent { act=android.intent.action.VIEW dat=market://details?id=com.google.ar.core }的Activity,导致ARCore安装程序无法启动。

完整报错日志

Launching lib\main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...
Parameter format not correct -
√  Built build\app\outputs\flutter-apk\app-debug.apk.
Installing build\app\outputs\flutter-apk\app-debug.apk...
Debug service listening on ws://127.0.0.1:54829/f3hHxCxdpnM=/ws
Syncing files to device Android SDK built for x86...
I/Filament( 3664): Filament library loaded.
D/EGL_emulation( 3664): eglCreateContext: 0xf7111ab0: maj 3 min 0 rcv 3
D/EGL_emulation( 3664): eglMakeCurrent: 0xf7111ab0: ver 3 0 (tinfo 0xf7478630) (first time)
E/Filament( 3664): Error opening trace file: No such file or directory (2)
I/Filament( 3664): FEngine (32 bits) created at 0xb2e0b030 (threading is enabled)
D/Filament( 3664): Using ASurfaceTexture
D/Filament( 3664): FEngine resolved backend: OpenGL
D/HostConnection( 3664): HostConnection::get() New Host Connection established 0xf7112990, tid 3709
D/HostConnection( 3664): HostComposition ext ANDROID_EMU_CHECKSUM_HELPER_v1 ANDROID_EMU_native_sync_v2 ANDROID_EMU_native_sync_v3 ANDROID_EMU_native_sync_v4 ANDROID_EMU_dma_v1 ANDROID_EMU_direct_mem ANDROID_EMU_vulkan ANDROID_EMU_deferred_vulkan_commands ANDROID_EMU_vulkan_null_optional_strings ANDROID_EMU_vulkan_create_resources_with_requirements ANDROID_EMU_YUV_Cache ANDROID_EMU_vulkan_ignored_handles ANDROID_EMU_has_shared_slots_host_memory_allocator ANDROID_EMU_vulkan_free_memory_sync ANDROID_EMU_vulkan_shader_float16_int8 ANDROID_EMU_vulkan_async_queue_submit ANDROID_EMU_sync_buffer_data ANDROID_EMU_vulkan_async_qsri ANDROID_EMU_read_color_buffer_dma GL_OES_EGL_image_external_essl3 GL_OES_vertex_array_object GL_KHR_texture_compression_astc_ldr ANDROID_EMU_host_side_tracing ANDROID_EMU_gles_max_version_3_0 
D/EGL_emulation( 3664): eglCreateContext: 0xf711f8f0: maj 3 min 0 rcv 3
D/EGL_emulation( 3664): eglMakeCurrent: 0xf711f8f0: ver 3 0 (tinfo 0xc3e5ea70) (first time)
I/SceneView( 3664): Optional library com.google.ar.sceneform.animation loaded.
I/PlatformViewsController( 3664): Hosting view in a virtual display for platform view: 0
E/EGL_emulation( 3664): eglQueryContext 32c0  EGL_BAD_ATTRIBUTE
E/EGL_emulation( 3664): tid 3664: eglQueryContext(2019): error 0x3004 (EGL_BAD_ATTRIBUTE)
W/Gralloc4( 3664): allocator 3.x is not supported
I/Choreographer( 3664): Skipped 35 frames!  The application may be doing too much work on its main thread.
I/OpenGLRenderer( 3664): Davey! duration=700ms; Flags=1, IntendedVsync=1399901313040, Vsync=1400484646350, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=1400497425755, AnimationStart=1400497426772, PerformTraversalsStart=1400497427266, DrawStart=1400581604560, SyncQueued=1400582200126, SyncStart=1400586204044, IssueDrawCommandsStart=1400586490247, SwapBuffers=1400594245878, FrameCompleted=1400605888737, DequeueBufferDuration=5322886, QueueBufferDuration=805595, GpuCompleted=34359738376, 
I/com.difrancescogianmarco.arcore_flutter_plugin.utils.ArCoreUtils( 3664): ArCore INSTALL REQUESTED
I/com.difrancescogianmarco.arcore_flutter_plugin.utils.ArCoreUtils( 3664): ArCore INSTALL REQUESTED
W/ARCore-InstallService( 3664): bindService returned false.
W/ARCore-InstallService( 3664): requestInstall bind failed, launching fullscreen.
D/AndroidRuntime( 3664): Shutting down VM
E/AndroidRuntime( 3664): FATAL EXCEPTION: main
E/AndroidRuntime( 3664): Process: com.example.elibrary_frontend, PID: 3664
E/AndroidRuntime( 3664): java.lang.RuntimeException: Unable to resume activity {com.example.elibrary_frontend/com.example.elibrary_frontend.MainActivity}: com.google.ar.core.exceptions.FatalException: Failed to launch installer.
E/AndroidRuntime( 3664):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4444)
E/AndroidRuntime( 3664):    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4476)
E/AndroidRuntime( 3664):    at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
E/AndroidRuntime( 3664):    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
E/AndroidRuntime( 3664):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
E/AndroidRuntime( 3664):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
E/AndroidRuntime( 3664):    at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime( 3664):    at android.os.Looper.loop(Looper.java:223)
E/AndroidRuntime( 3664):    at android.app.ActivityThread.main(ActivityThread.java:7656)
E/AndroidRuntime( 3664):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 3664):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
E/AndroidRuntime( 3664):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
E/AndroidRuntime( 3664): Caused by: com.google.ar.core.exceptions.FatalException: Failed to launch installer.
E/AndroidRuntime( 3664):    at com.google.ar.core.u.o(InstallService.java:6)
E/AndroidRuntime( 3664):    at com.google.ar.core.u.d(InstallService.java:10)
E/AndroidRuntime( 3664):    at com.google.ar.core.InstallActivity.startInstaller(InstallActivity.java:3)
E/AndroidRuntime( 3664):    at com.google.ar.core.InstallActivity.onResume(InstallActivity.java:3)
E/AndroidRuntime( 3664):    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1456)
E/AndroidRuntime( 3664):    at android.app.Activity.performResume(Activity.java:8129)
E/AndroidRuntime( 3664):    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4434)
E/AndroidRuntime( 3664):    ... 11 more
E/AndroidRuntime( 3664): Caused by: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=market://details?id=com.google.ar.core }
E/AndroidRuntime( 3664):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2067)
E/AndroidRuntime( 3664):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1727)
E/AndroidRuntime( 3664):    at android.app.Activity.startActivityForResult(Activity.java:5314)
E/AndroidRuntime( 3664):    at android.app.Activity.startActivityForResult(Activity.java:5272)
E/AndroidRuntime( 3664):    at android.app.Activity.startActivity(Activity.java:5658)
E/AndroidRuntime( 3664):    at android.app.Activity.startActivity(Activity.java:5611)
E/AndroidRuntime( 3664):    at com.google.ar.core.u.o(InstallService.java:5)
E/AndroidRuntime( 3664):    ... 17 more
I/Process ( 3664): Sending signal. PID: 3664 SIG: 9
Lost connection to device.

解决方法

核心原因

普通AVD未预装Google Play服务和ARCore,且无法通过market://链接跳转安装,因为模拟器没有配置可正常工作的Google Play商店。

步骤1:创建支持AR的AVD

  1. 打开Android Studio的AVD Manager,点击Create Virtual Device。
  2. 选择Pixel系列设备(推荐Pixel 4及以上),点击Next。
  3. 在系统镜像选择界面,切换到Google Play标签,选择Android版本≥7.0且带有Google Play标识的镜像,下载并安装。
  4. 启动新创建的AVD,打开Google Play商店,登录账号后搜索并安装ARCore应用。

步骤2:配置Flutter项目依赖

确保pubspec.yaml中的ARCore插件版本适配:

dependencies:
  flutter:
    sdk: flutter
  arcore_flutter_plugin: ^0.4.0 # 替换为最新兼容版本

同时在android/app/build.gradle中添加ARCore依赖:

dependencies {
    implementation 'com.google.ar:core:1.32.0' // 使用最新稳定版本
}

步骤3:启用模拟器AR支持

启动AVD后,点击右侧的Extended controls(三个点图标),进入Settings > Advanced,设置:

  • OpenGL ES API级别为3.1或更高
  • 勾选Enable AR simulation(若存在该选项)

步骤4:手动安装ARCore(可选)

若无法通过Google Play安装,可下载对应x86/x86_64架构的ARCore APK,通过以下命令安装到模拟器:

adb install arcore.apk

内容的提问来源于stack exchange,提问作者sandika dassanayake

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 23:35:55