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

AOSP系统应用是否支持Jetpack Compose及Android.bp修改方案

AOSP系统应用使用Jetpack Compose的支持情况及Android.bp修改指南

AOSP从Android 12(API 31)版本开始原生支持系统应用集成Jetpack Compose,Compose相关核心库已被纳入AOSP的系统支持组件体系中,无需额外引入第三方包即可使用。

Android.bp文件需做的修改

1. 添加Compose核心依赖

在你的系统应用模块的android_app块中,补充Compose相关库的依赖:

deps = [
    "//frameworks/support/compose/compose-runtime:runtime",
    "//frameworks/support/compose/compose-ui:ui",
    "//frameworks/support/compose/compose-material:material",
    // 按需添加其他Compose子库,比如动画、基础组件库等
    "//frameworks/support/compose/compose-animation:animation",
    "//frameworks/support/compose/compose-foundation:foundation",
]

2. 启用Compose编译配置

开启模块的Compose支持,并指定符合要求的API版本:

android_app {
    name: "YourSystemApplication",
    // 保留原有配置(如srcs、resource_dirs等)
    srcs: ["src/**/*.kt"],
    
    // 启用Compose编译支持
    compose: true,
    // 最低需指定API 31(Android 12)
    compile_api_version: "31",
    min_sdk_version: "31",
    target_sdk_version: "31",
    // 指定AOSP内置的Compose Compiler版本(以源码中实际版本为准)
    compose_compiler_version: "1.4.3",
}

3. 资源配置适配

如果应用使用了自定义资源,确保resource_dirs正确声明,若需资源压缩可开启对应选项:

resource_dirs: ["res"],
// 按需开启资源压缩
shrink_resources: true,

注意事项

  • 仅Android 12及以上的AOSP版本支持该配置,低版本AOSP需自行移植Compose库,不推荐在系统应用中这么做。
  • 系统应用的Compose代码需遵循AOSP的代码规范,避免与系统组件的类加载逻辑冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 14:39:56