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

Android Studio调试运行失败:进程崩溃致Instrumentation异常

Android Studio Flamingo升级后Instrumented测试崩溃,调试器无法附加问题排查

我正在开发一款Android库,升级至Android Studio Flamingo及配套工具最新版本后,通过UI启动调试运行instrumented测试时,无法连接模拟器或真机。构建日志显示测试运行失败,提示**"Instrumentation run failed due to Process crashed"**,但调试器始终未附加,断点无法生效,排查困难。

已尝试的方案:

  • 改用androidx runner
  • 按照官方文档重新配置测试依赖
  • 排除junit依赖仅保留androidx版本
  • 清理缓存等常规操作

完整构建日志:

05/31 21:02:51: Launching 'testldc1()' on Pixel 4 API 30.
Running tests

Open logcat panel for emulator Pixel 4 API 30
Executing tasks: [:mips:connectedDebugAndroidTest] in project /Users/yuck/dev/repos/mips-simulator


> Configure project :mips
AGPBI: {"kind":"warning","text":"The option setting 'android.experimental.testOptions.emulatorSnapshots.maxSnapshotsForTestFailures=0' is experimental.","sources":[{}]}

> Task :mips:preBuild UP-TO-DATE
> Task :mips:preDebugBuild UP-TO-DATE
> Task :mips:generateDebugResValues
> Task :mips:generateDebugResources
> Task :mips:packageDebugResources
> Task :mips:preDebugAndroidTestBuild UP-TO-DATE
> Task :mips:javaPreCompileDebug
> Task :mips:javaPreCompileDebugAndroidTest
> Task :mips:parseDebugLocalResources
> Task :mips:writeDebugAarMetadata
> Task :mips:processDebugManifest
> Task :mips:compileDebugLibraryResources
> Task :mips:generateDebugRFile
> Task :mips:checkDebugAndroidTestAarMetadata
> Task :mips:compileDebugJavaWithJavac
> Task :mips:generateDebugAndroidTestResValues
> Task :mips:mapDebugAndroidTestSourceSetPaths
> Task :mips:generateDebugAndroidTestResources
> Task :mips:bundleLibCompileToJarDebug
> Task :mips:extractDeepLinksDebug
> Task :mips:processDebugAndroidTestManifest
> Task :mips:mergeDebugAndroidTestShaders
> Task :mips:compileDebugAndroidTestShaders NO-SOURCE
> Task :mips:generateDebugAndroidTestAssets UP-TO-DATE
> Task :mips:mergeDebugShaders
> Task :mips:compileDebugShaders NO-SOURCE
> Task :mips:generateDebugAssets UP-TO-DATE
> Task :mips:packageDebugAssets
> Task :mips:mergeDebugAndroidTestAssets
> Task :mips:compressDebugAndroidTestAssets
> Task :mips:processDebugJavaRes NO-SOURCE
> Task :mips:bundleLibResDebug NO-SOURCE
> Task :mips:processDebugAndroidTestJavaRes NO-SOURCE
> Task :mips:mergeDebugAndroidTestResources
> Task :mips:mergeDebugJniLibFolders
> Task :mips:mergeDebugNativeLibs NO-SOURCE
> Task :mips:copyDebugJniLibsProjectOnly
> Task :mips:mergeDebugAndroidTestJniLibFolders
> Task :mips:mergeDebugAndroidTestNativeLibs NO-SOURCE
> Task :mips:desugarDebugAndroidTestFileDependencies
> Task :mips:checkDebugAndroidTestDuplicateClasses
> Task :mips:validateSigningDebugAndroidTest
> Task :mips:bundleLibRuntimeToJarDebug
> Task :mips:writeDebugAndroidTestSigningConfigVersions
> Task :mips:bundleLibRuntimeToDirDebug
> Task :mips:mergeDebugAndroidTestJavaResource
> Task :mips:processDebugAndroidTestResources
> Task :mips:compileDebugAndroidTestJavaWithJavac
> Task :mips:dexBuilderDebugAndroidTest
> Task :mips:mergeLibDexDebugAndroidTest
> Task :mips:mergeProjectDexDebugAndroidTest
> Task :mips:mergeExtDexDebugAndroidTest
> Task :mips:packageDebugAndroidTest
> Task :mips:createDebugAndroidTestApkListingFileRedirect

> Task :mips:connectedDebugAndroidTest
Starting 0 tests on Pixel_4_API_30(AVD) - 11


> Task :mips:connectedDebugAndroidTest FAILED
41 actionable tasks: 41 executed
Test run failed to complete. Instrumentation run failed due to Process crashed.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mips:connectedDebugAndroidTest'.
> There were failing tests. See the report at: file:///Users/yuck/dev/repos/mips-simulator/mips/build/reports/androidTests/connected/index.html

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 16s

排查方案

1. 提取设备Logcat崩溃堆栈

构建日志仅提示进程崩溃,无具体原因。启动测试前打开Logcat面板,过滤AndroidRuntime标签,找到崩溃的完整堆栈信息,这是定位问题的核心依据。

2. 移除实验性模拟器快照配置

构建日志中出现警告:android.experimental.testOptions.emulatorSnapshots.maxSnapshotsForTestFailures=0为实验性选项,可能与新版本AGP不兼容。在模块build.gradle中移除该配置,或恢复为默认值。

3. 确认测试APK签名配置

确保debugAndroidTest的签名配置正确,新版本AGP可能自动生成签名,但自定义签名规则可能导致测试APK无法正常运行。在build.gradle中明确指定测试签名:

android {
    signingConfigs {
        debug {
            // 你的debug签名配置
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.debug
        }
    }
    testBuildType "debug"
}

4. 降级AGP至稳定版本

若Flamingo自带的AGP 8.0+存在兼容性问题,尝试降级到AGP 7.4.x稳定版,验证是否为新版本AGP的bug。修改项目根目录build.gradle:

plugins {
    id 'com.android.library' version '7.4.2' apply false
}

5. 排查测试类初始化代码

测试进程崩溃可能源于@BeforeClass、@Before方法中的错误,或依赖库初始化失败。尝试注释测试方法,仅保留空测试,逐步恢复代码排查问题点。

6. 手动运行测试并附加调试器

若UI启动调试无法附加,通过命令行启动测试后手动绑定调试器:

  • 执行命令:./gradlew :mips:connectedDebugAndroidTest --no-build-cache -Ddebug
  • 在Android Studio中通过Run -> Attach debugger to Android process选择末尾带.test的测试进程。

7. 检查测试依赖冲突

执行./gradlew :mips:dependencies查看测试依赖树,确认androidx.test相关依赖版本一致,排除重复或不兼容的库版本。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:07:20