Android 11源码层面添加许可至系统设置第三方许可列表问询
在Android 11源码中添加第三方许可至设置应用的第三方许可列表
步骤1:准备许可文件
- 将你的许可内容整理为HTML格式文件,命名参考系统现有规范(如
your_component_license.html),可直接参考系统中已有的第三方许可HTML文件结构(路径示例:frameworks/base/core/res/assets/licenses/),确保编码为UTF-8避免乱码。
步骤2:放置许可文件到系统指定目录
根据许可所属层级选择存放路径:
- 系统级第三方组件许可:放入
frameworks/base/core/res/assets/licenses/ - 设置应用关联的许可:放入
packages/apps/Settings/res/assets/licenses/
步骤3:配置许可索引文件
系统通过索引文件收集所有第三方许可,需修改对应XML:
- 打开索引文件:
frameworks/base/core/res/assets/licenses/licenses.xml - 添加
<license>节点,示例如下:
<license name="你的组件/库名称" url="file:///android_asset/licenses/your_component_license.html" package="com.your.target.package" />
name:许可列表中显示的组件名称url:对应你存放的HTML文件路径,需与实际位置匹配package:关联特定应用包名(系统通用许可可留空)
步骤4:重新编译相关模块
修改完成后编译对应模块并刷入设备:
# 编译framework基础模块 make frameworks-base -j$(nproc) # 编译Settings应用 make Settings -j$(nproc)
(若需全量编译系统,直接执行make -j$(nproc)即可)
步骤5:验证效果
设备启动后进入设置 > 关于平板 > 法律信息 > 第三方许可,即可看到新增的许可条目,点击后将展示你准备的HTML许可内容。
内容的提问来源于stack exchange,提问作者brunocrga
相关产品推荐
相关产品推荐

