android 11添加系统api供app使用

实现要求:添加系统api到sdk,公开给未签名app使用

1.将代码添加到 frameworks/base/core/java 目录下,创建自己的包名,这个路径下可以自动识别,更新到current.txt,不用改编译规则

比如:frameworks/base/core/java/qcd/app/Test.java

(注意,包名不要以com开头,不要问为什么)

2.设置基线检查,忽略自定义包名

修改: frameworks\base\StubLibraries.bp

packages_to document{

"qcd.app",//包名

修改: frameworks\base\Android.bp

metalava_framework_docs_args =

"--api-lint-ignore-prefix qcd.app.

3.如果要暴露系统hide接口给app,则需要自定义类继承原始类,复写UnsupportedAppUsage方法

  1. 单编java_library提供给app参与编译

java_library {

name: "qcds-app-sdk",

platform_apis: true,

sdk_version: "",

installable: true,

srcs: [

"qcd/app/*.java",

],

}

使用platform_apis为true 时,sdk_version 必须为空

这样app会运用系统API进行编译而不是SDK,使得App能访问到非SDK API

相关推荐
alexhilton6 小时前
Compose中初始加载逻辑究竟应该放在哪里?
android·kotlin·android jetpack
zh_xuan6 小时前
启动RN服务端口被占用
android·react native
Li emily8 小时前
解决了美股api历史数据调用不稳定问题
人工智能·api·fastapi
Code-keys8 小时前
Android Codec2 Filter 算法模块开发指南
android·算法·音视频·视频编解码
y = xⁿ10 小时前
MySQL:count(1)与count(*)有什么区别,深分页问题
android·数据库·mysql
程序员陆业聪11 小时前
Android启动全景图:一次冷启动背后到底发生了什么
android
安卓程序员_谢伟光13 小时前
m3颜色定义
android·compose
麻辣璐璐14 小时前
EditText属性运用之适配RTL语言和LTR语言的输入习惯
android·xml·java·开发语言·安卓
北京自在科技14 小时前
谷歌 Find Hub 网页端全面升级:电脑可直接管理追踪器与耳机
android·ios·安卓·findmy
Rush-Rabbit14 小时前
魅族21Pro刷ColorOS16.0操作步骤
android