关于services.jar包的dex2oat优化

查看 58|回复 3
作者:一颗小土豆   
前言简单科普:安卓4.4开始有了dex2oat,后续不断改造,目前专门对dex生成odex(直接运行的字节码)/vdex(加速验证)/art(通过prof文件定义的生成热点函数)等优化过的字节码文件,以此来提高系统整体运行速度,现在oem厂商为了优化性能普遍将oat应用于系统分区,其中比较重要的地方是安卓上层框架所在framework(下面一堆jar包[受虐滑稽])
众所周知,谷歌给安卓13的框架加上了强制签名确认,不签名的apk放在系统分区会直接导致无法启动,而签名又绕不过系统的签名校验,没有核心破解就等于直接给夹了[喝酒]。
而官改出于各种原因需要改系统apk,PT圈的大佬们就给出了修改framework.jar和services.jar(部分机型可能是xx-services.jar或者service.jar)的方法关闭强制签名,使其变成安卓12的形状[cos滑稽]。
问题来了,如果修改jar包这些预编译文件就失效了,且系统可能不再生成到data或者因为默认编译模式为speed等而生成不完整,性能不会得到最大优化。这样厂商想做的优化可能就失效了,完整odex优化效果相对没有优化可能速度提升在10-30%,失去这个你的ROM相对官方的运行性能也许是相对劣化的。
那么,解决办法来了[受虐滑稽],直接贴命令,使用安卓自带的dexdump生成这些文件。
dex2oat \
--dex-file=services.jar \
--instruction-set=arm64 \
--compiler-filter=everything \
--profile-file=services.jar.prof \
--oat-file=services.odex \
--app-image-file=services.art
(方法参考自csdn和简书等博客)
services.jar和services.jar.prof配置文件拿出来到sd卡,使用炒鸡终端或者mt,cd到当前文件所在目录,使用su,直接回车该命令即可,把生成的三个文件移至原oat/arm64下,权限0644用户组root/root完毕。
⚠️⚠️⚠️此方法暂未测试,由于prof热点函数配置文件为官方,生成的art文件与原jar包一致性未知,请备份手机数据大胆自测[受虐滑稽]
▶️顺带贴上两位大佬发的关闭强制签名方法:
framework.jar关闭强制签名方法。
services.jar关闭强制签名方法(推荐)。

文件, 方法, 滑稽

lucklyday   
services.jar关闭强制签名链接打不开了,framework.jar关闭强制签名试过了 好像是慢了
天青雨晚   
大佬,刷了你的包发现system分区没法读写[喝酒]
gigjbkbhk   
[酷币]
您需要登录后才可以回帖 登录 | 立即注册

返回顶部