Android编译错误:Soong阶段因缺失res目录导致panic (Iwlan模块)

Android编译错误:Soong阶段因缺失res目录导致panic (Iwlan模块)

  • 作者:吴思含(Witheart)
  • 更新时间:20250901

报错日志

bash 复制代码
rk3588 WILL NOT COMPILE rkaiq_tool_server binary
error: packages/services/Iwlan/Android.bp:13:1: module "Iwlan" variant "android_common": module source path "packages/services/Iwlan/res" does not exist
internal error: panic in GenerateBuildActions for module "Iwlan" variant "android_common"
rule_builder paths cannot be nil
goroutine 6860636 [running]:
github.com/google/blueprint.newPanicErrorf({0xd412a0, 0x10615e8}, {0xc37c553f80, 0x40}, {0x0, 0x0, 0x0})
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/blueprint/context.go:4252 +0x79
github.com/google/blueprint.(*Context).generateModuleBuildActions.func2.1.1()
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/blueprint/context.go:2933 +0x2fe
panic({0xd412a0, 0x10615e8})
        prebuilts/go/linux-x86/src/runtime/panic.go:838 +0x207
android/soong/android.checkPathNotNil(...)
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/soong/android/rule_builder.go:767
android/soong/android.(*RuleBuilderCommand).addInput(...)
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/soong/android/rule_builder.go:772
android/soong/android.(*RuleBuilderCommand).Input(0xc37c7a0b40?, {0x0?, 0x0?})
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/soong/android/rule_builder.go:1064 +0xfa
android/soong/java.(*AndroidApp).generateJavaUsedByApex(0xc170367980, {0x109e2c8?, 0xc37911cc80})
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/soong/java/app_builder.go:268 +0x410
android/soong/java.(*AndroidApp).GenerateAndroidBuildActions(0x109e2c8?, {0x109e2c8, 0xc37911cc80})
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/soong/java/app.go:281 +0x50
android/soong/android.(*ModuleBase).GenerateBuildActions(0xc1703679b0, {0x1077928?, 0xc379107ad0})
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/soong/android/module.go:2278 +0x1594
github.com/google/blueprint.(*Context).generateModuleBuildActions.func2.1(0xc006139cf0?, 0xec02ad?)
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/blueprint/context.go:2937 +0x7f
github.com/google/blueprint.(*Context).generateModuleBuildActions.func2(0xc03e201dc0, 0x0?)
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/blueprint/context.go:2938 +0x36a
github.com/google/blueprint.parallelVisit.func1.1()
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/blueprint/context.go:2002 +0x3c
created by github.com/google/blueprint.parallelVisit.func1
        /mnt/hdd/rk3588_android13_sdk/rk_android13/build/blueprint/context.go:2001 +0x178


17:54:34 soong bootstrap failed with: exit status 1

#### failed to build some targets (40 seconds) ####

Build android failed!

问题分析

从编译日志来看,编译过程在 Soong 阶段(解析 Android.bp 文件并生成 build.ninja 文件)失败了。

错误信息非常明确:

bash 复制代码
error: packages/services/Iwlan/Android.bp:13:1: module "Iwlan" variant "android_common": module source path "packages/services/Iwlan/res" does not exist
  1. 问题文件packages/services/Iwlan/Android.bp
  2. 问题行数: 第 13 行
  3. 具体错误 : 该模块(Iwlan)的源代码路径中包含了一个 res 资源目录,但这个目录在您的代码仓库中并不存在

Soong 构建系统在尝试为这个模块创建构建规则时,因为找不到必需的输入文件(res 目录)而引发了内部panic,导致整个编译过程中止。

查看发现packages/services/Iwlan/下确实没有res目录,对比3588其他Android SDK的res目录,该目录下只有一个空的.gitignore

解决方式

packages/services/Iwlan/下添加res目录,并在其中添加空的.gitignore,问题解决。

相关推荐
曲幽2 小时前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev3 小时前
单例模式 → object 声明
android·java·kotlin
程序员陆业聪3 小时前
读者点单·03|Compose 与传统 View 混用的 12 个真实坑
android
程序员陆业聪4 小时前
读者点单·02|Android 启动优化实战:Trace 抓取→Application 编排→冷启动全流程拆解
android
Coffeeee4 小时前
帮你快速理解AI Agent之我想招个Android实习生
android·人工智能·agent
恋猫de小郭5 小时前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
黄林晴5 小时前
告别无效重建:Gradle 9.6.0 解决 CI 构建缓存失效痛点告别无效重建:Gradle 9.6.0 解决 CI 建筑缓存失效痛点
android·gradle
张风捷特烈6 小时前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
_阿南_15 小时前
Android文件读写和分享总结
android
通玄1 天前
Jetpack Compose 入门系列(六):Navigation 3 页面导航
android