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

相关推荐
乐观勇敢坚强的老彭4 小时前
c++信奥寒假营集训01
android·java·c++
kdniao15 小时前
PHP 页面中如何实现根据快递单号查询物流轨迹?对接快递鸟在途监控 API 实操
android·开发语言·php
言之。5 小时前
MacBook M3 Pro:React Native 安卓开发
android·react native·react.js
感觉不怎么会5 小时前
Android 13 - 对讲app后台休眠后无法录音
android·linux
Minilinux20186 小时前
Android系列之 屏幕触控机制(一)
android·屏幕触控·andorid touch·viewroot
冰语竹6 小时前
Android学习-随笔(安装后设置路径)
android·学习
有位神秘人7 小时前
Android中获取当前屏幕的宽高工具类
android
Yang-Never7 小时前
Open GL ES -> 应用前后台、Recent切换,SurfaceView纹理贴图闪烁问题分析解决
android·开发语言·kotlin·android studio·贴图
liujun35121598 小时前
camera开发,我对预览请求的理解
android
无法长大8 小时前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk