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

相关推荐
E***U94516 分钟前
React Native开发
android·react native·react.js
4***99741 小时前
Kotlin序列处理
android·开发语言·kotlin
t***D2641 小时前
Kotlin在服务端开发中的生态建设
android·开发语言·kotlin
玲珑Felone1 小时前
flutter 状态管理--InheritedWidget、Provider原理解析
android·flutter·ios
BoomHe1 小时前
车载应用配置系统签名
android·android studio
路人甲ing..4 小时前
用 Android Studio 自带的模拟 Android Emulator 调试
android·java·ide·ubuntu·kotlin·android studio
路人甲ing..4 小时前
Android Studio 模拟器报错 The emulator process for AVD xxxxx has terminated.
android·java·ide·kotlin·android studio
弥巷4 小时前
【Android】 View事件分发机制源码分析
android·java
wanna5 小时前
安卓自学小笔记第一弹
android·笔记