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

Android 14 AOSP构建sdk-addon报错,求更新方案

Android 14/11 AOSP SDK Addon构建问题解决指引

问题背景

尝试在Android 14分支的AOSP中构建SDK Addon时,仅能在device/sample目录找到示例,其README.txt给出的构建步骤为:

To build the add-on:
    lunch sample_addon-userdebug
    m sdk_addon

但执行m sdk_addon时出现适配错误,切换至Android 11分支构建也遇到新问题,以下是针对性的修复方案及更新后的构建指引。


Android 14构建错误及修复

错误详情

FAILED: out/soong/build.ninja
cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i  "$BUILDER"     --top "$TOP"     --soong_out "out/soong"     --out "out"  
   -o out/soong/build.ninja --bazel-mode --globListDir build --globFile out/soong/globs-build.ninja -t -l 
out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.build Android.bp
error: packages/modules/RuntimeI18n/apex/Android.bp:67:1: dependency "art-bootclasspath-fragment" of "i18n-bootclasspath-fragment" missing variant:
  os:android,arch:common,apex:com.android.art
available variants:
  os:android,arch:common
error: packages/modules/RuntimeI18n/apex/Android.bp:67:1: dependency "prebuilt_art-bootclasspath-fragment" of "i18n-bootclasspath-fragment" missing variant:
  os:android,arch:common,apex:com.android.art
available variants:
  os:android,arch:common
14:06:11 soong bootstrap failed with: exit status 1

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

修复方案

该错误源于Android 14中RuntimeI18n模块的依赖规则变更,旧sample配置未适配Apex变体要求,需按以下步骤修改:

  1. 打开packages/modules/RuntimeI18n/apex/Android.bp,找到i18n-bootclasspath-fragment模块的deps字段
  2. 将原依赖替换为带Apex变体的声明:
deps = [
    ":art-bootclasspath-fragment_android_common_apex_com.android.art",
    ":prebuilt_art-bootclasspath-fragment_android_common_apex_com.android.art",
]
  1. 更新device/sample/sdk_addon/Android.bp中的SdkAddon模块:移除过时依赖,添加Android 14要求的Apex相关配置项
  2. 执行以下命令重新构建:
lunch sample_addon-userdebug
make clean
m sdk_addon

Android 11构建错误及修复

错误详情

FAILED: ninja: 'images/source.properties', needed by 'out/host/linux-x86/obj/SDK_ADDON/platform_library_intermediates/platform_library-eng.dev01-linux-x86-img', missing and no known rule to make it
20:13:50 ninja failed with: exit status 1

修复方案

该错误是因为Android 11的SDK Addon构建需要生成images/source.properties文件,但旧sample未配置生成规则,需按以下步骤补全:

  1. 在device/sample/sdk_addon目录下创建source.properties.in模板文件,内容如下:
Addon.Name=SampleAddon
Addon.Version=1.0
AndroidVersion.ApiLevel=30
  1. 在device/sample/sdk_addon/Android.bp中添加生成规则:
genrule {
    name: "sample_addon_source_properties",
    srcs: ["source.properties.in"],
    outs: ["images/source.properties"],
    substitutions: {
        "@ADDON_NAME@": "SampleAddon",
        "@ADDON_VERSION@": "1.0",
        "@ANDROID_API_LEVEL@": "30",
    },
}
  1. 将该生成规则添加到SdkAddon模块的依赖中:
SdkAddon {
    name: "sample_addon",
    // 保留原有配置
    deps: [":sample_addon_source_properties"],
}
  1. 重新执行构建命令:
lunch sample_addon-userdebug
m sdk_addon

更新后的通用构建步骤

  1. 完成对应版本的配置修复后,执行环境初始化:
lunch sample_addon-userdebug
  1. 清理旧构建产物(可选但推荐):
make clean
  1. 启动SDK Addon构建:
m sdk_addon
  1. 构建完成后,产物将输出至out/host/linux-x86/sdk_addon/sample_addon目录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 09:43:14