前言
最近有个需求需要定制系统级别的SDK架包,应用能够像访问framework.jar一样,只参与编译,不参与打包,但google从andorid 9开始对应用能使用的非 SDK 接口实施了限制,到android 10 后直接拒绝访问。故此有以下方案。
方案是否会影响CTS认证不确定,没有试过
关于android 10 集成非SDK方案如下
主要是把customapi以java_sdk_library的方式集成到系统里面
然后在把需要集成调用customapi架包的第三方非系统签名应用设置相应的白名单
第三方开发引用架包
第三方非系统签名需要以这种方式加入架包,在build.gradle添加 compileOnly files(‘libs/customapi.jar’) —此架包由客户提供,不是android原生系统编译生成出来的架包。
还需要在AndroidManifest.xml 的application标签内部 增加
<uses-library
android:name="com.xxx.api"
android:required="true" />
从系统集成的方面考虑修改方案如下:
1 build/target/product/aosp_x86_64.mk(增加customapi接口架包和两个test应用的编译链接)
定制Android SDK方案

本文介绍了一种在Android系统中定制SDK架包的方法,使非系统签名应用能够安全地调用这些自定义API,同时详细说明了如何通过白名单机制绕过Android 10对非SDK接口的限制。
最低0.47元/天 解锁文章
1658

被折叠的 条评论
为什么被折叠?



