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

相关推荐
谢白羽5 小时前
vllm实践
android·vllm
电子云与长程纠缠6 小时前
Godot学习03 - 实例化、层级访问、Export
android·学习·godot
毕设源码-朱学姐6 小时前
【开题答辩全过程】以 基于Android的便民系统的设计与实现为例,包含答辩的问题和答案
android
鬼蛟7 小时前
Spring————事务
android·java·spring
qq_170264758 小时前
unity出安卓年龄分级的arr包问题
android·unity·游戏引擎
kejiashao10 小时前
Android View的绘制流程及事件分发机制
android
小蜜蜂嗡嗡10 小时前
flutter实现付费解锁内容的遮挡
android·flutter
进击的cc10 小时前
拒绝背诵!一文带你打穿 Android ANR 发生的底层全链路
android·面试
进击的cc10 小时前
App 启动优化全家桶:别再只盯着 Application 了,热启动优化你真的做对了吗?
android·面试
彭波39611 小时前
安卓手机端安装xapk、apkm软件!怎样安装xapk软件?安卓的apk和XAPK的区别?附教程
android·智能手机