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

在真实手机运行whisper.android项目时遇':app:buildNdkBuildDebug[armeabi-v7a]'执行失败

问题:whisper.android真机编译失败,模拟器运行正常

我能在Android Studio模拟器(Pixel XL API 13)上正常运行whisper.cpp的Android示例项目,但在真实手机上编译运行时出现错误,错误日志如下:

Execution failed for task ':app:buildNdkBuildDebug[armeabi-v7a]'.
> com.android.ide.common.process.ProcessException: make: Nothing to be done for 'whisper'.
  [armeabi-v7a] Compile thumb  : whisper_vfpv4 <= ggml.c

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

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:buildNdkBuildDebug[armeabi-v7a]'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:147)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
    ...
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
Caused by: org.gradle.internal.UncheckedException: com.android.ide.common.process.ProcessException: make: Nothing to be done for 'whisper'.
[armeabi-v7a] Compile thumb  : whisper_vfpv4 <= ggml.c

C++ build system [build] failed while executing:
    @echo off
    "C:\Android_SDK\ndk\25.1.8937393\ndk-build.cmd" ^
      "NDK_PROJECT_PATH=null" ^
      "APP_BUILD_SCRIPT=E:\Android_Studio_Sample\Whisper\examples\whisper.android\app\src\main\jni\whisper\Android.mk" ^
      "NDK_APPLICATION_MK=E:\Android_Studio_Sample\Whisper\examples\whisper.android\app\src\main\jni\whisper\Application.mk" ^
      "APP_ABI=armeabi-v7a" ^
      "NDK_ALL_ABIS=armeabi-v7a" ^
      "NDK_DEBUG=1" ^
      "APP_PLATFORM=android-26" ^
      "NDK_OUT=E:\Android_Studio_Sample\Whisper\examples\whisper.android\app\build\intermediates\cxx\Debug\11u1e1z2/obj" ^
      "NDK_LIBS_OUT=E:\Android_Studio_Sample\Whisper\examples\whisper.android\app\build\intermediates\cxx\Debug\11u1e1z2/lib" ^
      whisper ^
      whisper_vfpv4
  from E:\Android_Studio_Sample\Whisper\examples\whisper.android\app
error: unable to open output file 'E:\Android_Studio_Sample\Whisper\examples\whisper.android\app\build\intermediates\cxx\Debug\11u1e1z2/obj/local/armeabi-v7a/objs-debug/whisper_vfpv4/E_/Android_Studio_Sample/Whisper/examples/whisper.android/app/src/main/jni/whisper/__/__/__/__/__/__/__//ggml.o': 'No such file or directory'
1 error generated.
make: *** [C:/Android_SDK/ndk/25.1.8937393/build/../build/core/build-binary.mk:422: E:\Android_Studio_Sample\Whisper\examples\whisper.android\app\build\intermediates\cxx\Debug\11u1e1z2/obj/local/armeabi-v7a/objs-debug/whisper_vfpv4/E_/Android_Studio_Sample/Whisper/examples/whisper.android/app/src/main/jni/whisper/__/__/__/__/__/__/__//ggml.o] Error 1

    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:68)
    at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:41)

原因分析

从日志核心错误信息可判断,这是NDK编译时的路径解析异常导致的:

  • 真机编译目标ABI为armeabi-v7a,NDK生成ggml.o文件时,路径被错误解析成包含大量__的无效路径,系统找不到对应输出目录,最终编译失败
  • 模拟器正常运行是因为其通常使用x86/x86_64架构,对应的编译逻辑未触发该路径解析bug

解决办法

  • 缩短项目路径:当前项目路径层级过多,Windows系统下路径过长易引发NDK解析异常,建议将项目迁移到更短的路径,比如E:\WhisperDemo
  • 调整NDK版本:当前使用的NDK 25.1.8937393可能存在armeabi-v7a编译的路径bug,尝试降级到NDK 24或升级至最新稳定版
  • 检查Android.mk路径配置:打开app/src/main/jni/whisper/Android.mk,确认ggml.c的引用路径写法正确,避免多层级../导致的解析混乱
  • 清理编译缓存:执行Gradle -> Clean Project后再Rebuild Project,彻底清除旧编译缓存文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 12:37:48