Bzi-Han's blog

归档 · 2024

首页

关于

归档

loading..

[编程] Android libsu 改造对NativeBridge进行支持

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 需求背景前段时间搞一个东西用到了libsu,不得不说用起来还是挺舒服的,直接代码全在一个Project里,然后只需要关心业务,不用管底层的实现,很方便。 后来在模拟器上跑发现跑不起来,情景就是APK没有提供x86_64的so的情况下在root进程(RootService)中去加载arm64-v8a的so,然后因为不同架构所以会加载失败,这个时候去调用so的接口就会寄掉,因为没有实现嘛。 当然能提供x86_64的so最好,但是有些情况提供不了,比如我的情况就是用了Paddle Lite库,然后按照官方原话这个库仅支持arm64-v8a,说是搞了很多优化,所以没得办法。 于是就产生了魔改libsu的想法。 项目地址和使用方法libsu-nativeb..

更多
loading..

[编程] Android app_process 启动进程强行开启NativeBridge支持

前言本文仅供学习探讨之用,如果侵犯了您的权益请联系我删除。 原理app_process部分启动流程 这里我们重点关注ParsedOptions这个处理启动参数的函数,基本上能调整的参数都在这里。 我们往下找,发现有两个与NativeBridge相关的参数,一个是-XX:NativeBridge,一个是-Xforce-nb-testing。 .Define("-XX:NativeBridge=_") .WithType<std::string>() .IntoKey(M::NativeBridge) .Define("-Xzygote-max-boot-retry=_") .WithType<unsigned int>(..

更多