Android Framework 之 使用体系编译的文件 添加到 SDK 的源码

开发者 2024-10-7 10:18:59 86 0 来自 中国
在上一篇文章中: Android Framework 添加新的 体系服务
我们添加了 新的 体系服务 DemoManagerService, 客户端可以通过 DemoManager.java 访问。
但是 使用 Android Studio 新建一个项目时,是不能直接使用DemoManager.java, 因为当前Android Studio使用的是Google 原生的SDK (API31),并没没有我们新增的服务.
由此,产生一个debug 的需求: 使用体系编译的文件 更换掉 SDK 的源码
以到达我们可以在Android studio 可以使用新的服务。
总的头脑是,将新增、修改的类的编译成字节码文件,然后把它放到 android.jar中.
1. 找到体系编译的 jar 包

(JAVA_LIBRARIES, 差别厂商产物不一样)
比方路径: android\out\target\common\obj\JAVA_LIBRARIES\framework_intermediates
然后解压这个路径下  class 的 jar 包
则可以在路径:
(1) android\app 下, 找到:
DemoManager.classIDemoManager$Default.classIDemoManager$Stub$Proxy.classIDemoManager$Stub.classIDemoManager.class(2) android\content
Context.class2. 添加上面的 class文件到SDK中(android.jar)

先找到  如: [SDK安装路径]\platforms\android-31\目次,
将目次下的 android.jar 解压,将上面的五个文件, 添加到SDK 源码对应的目次中,即
[SDK安装路径]\platforms\android-31\android\android\app
[SDK安装路径]\platforms\android-31\android\android\content
然后,重新压缩 android文件, 并把后缀改为 android.jar (即更换掉原来的android.jar)
3. 重启Android studio

则可以使用DemoManager
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-22 05:13, Processed in 0.168735 second(s), 33 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表