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方法

4. 单编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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值