aosp11 隐藏方法调用

30 天前
 honhon

aosp9 make framework 编译的 jar 里面包含了系统隐藏 api 的 class ,android11 make 编译出来的 jar 里面似乎没有找到隐藏 api class ,反射调用也是找不到类,这是什么原因,比如 NotificationChannel.setBlockableSystem 方法

1550 次点击
所在节点    Android
7 条回复
InkStone
30 天前
编译出来的不应该没有啊,不然它自己也没法调……一般只是 SDK jar 里没有。你是不是找错位置了?

反射找不到是因为反射的时候做了限制屏蔽了一些类,找个绕过限制的 SDK 就好了,github 上一大堆。
344457769
30 天前
honhon
30 天前
@InkStone 我是从 out/target/common/obj/JAVA_LIBRARIES/目录的 framework_intermediates 和 framework-minus-apex_intermediates 文件夹里面拿的 classes.jar


@344457769 感谢指点
lisongeee
30 天前
honhon
30 天前
@lisongeee 好的,感谢

我发现应该是由于收到限制 NotificationChannel.setBlockable ,反射也调用不到

@InkStone 方便指导一下,包括所有类的 jar 可以在哪里找到么
InkStone
30 天前
@honhon 挺久没干过这个事情了,依稀记得以前是通过提取手机上的 jar 实现的。

不过这里有一个问题:
新版本 Android 里的 jar 包都会预编译成 oat ,.jar 一般都是空的,需要找对应的 oat 、odex 或者 vdex 的文件,然后转 dex 再转 jar 。
honhon
30 天前
@InkStone 好的,我研究一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1044212

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX