专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
TodayRss-海外RSS稳定源
目录
今天看啥  ›  专栏  ›  鸿洋

Android 15- 16kb页对齐适配大扫盲

鸿洋  · 公众号  · android  · 2024-09-02 08:35
    

主要观点总结

本文介绍了在Android 15系统中适配16kb页大小的关键点和实战例子,包括so本身需要进行16kb边界对齐和固定编码4kb在部分系统调用异常的处理。通过本文,读者能够了解如何适配Android15的16kb页大小,并提供了相关工具和推荐阅读。

关键观点总结

关键观点1: so本身需要进行16kb边界对齐

如果so没有进行16kb边界对齐,在Android 15环境中会出现java.lang.UnsatisfiedLinkError错误。可以通过官方提供的脚本分析so是否对齐,如果不对齐,需要重新编译so并进行16kb对齐。

关键观点2: 固定编码4kb在部分系统调用异常的处理

虽然开启了16kb对齐,但并不是所有写死4096的地方都有问题,关键在于系统调用的特定限制。需要关注具体的系统调用是否支持,避免一刀切的处理方式。

关键观点3: 适配实战例子

以shadowhook为例,介绍了如何适配Android15的16kb pagesize。通过修改相关代码,以适应新的页大小,避免了MProtect系统调用失败导致的Crash。

关键观点4: 总结

总结了适配Android15的16kb页大小的注意事项和关键点,包括互相独立的so 16kb与固定编码4kb在部分系统调用异常的问题,以及查看是否硬编码pagesize时需要注意的其他进制数字。最后推荐了一个相关的网站和阅读资源。


免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
文章地址: 访问文章快照