首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换系统库

替换系统库
EN

Stack Overflow用户
提问于 2013-12-13 19:29:38
回答 2查看 1.7K关注 0票数 3

一般来说,有没有可能编译一个自定义版本的系统库(比如libsurfaceflinger.so),将其复制到我的安卓设备上,然后重启并期望它正常工作?

我只是在集思广益,想要创建一个可以做到这一点的应用程序。最明显的问题是二进制不兼容,即。如果我在AOSP 4.4上编译lib,它可能不能在AOSP 2.3设备上工作。除此之外,这种方法还有什么障碍吗?

编辑:假设的应用程序当然需要root用户。

EN

回答 2

Stack Overflow用户

发布于 2013-12-13 19:36:22

另一个非常重要的问题是,除非你已经在你的设备上建立了根,否则你将无法替换系统库。

这个问题的一个可能的解决方法(取决于它不能工作的库,例如System.loadLibrary中使用的libcore )将是更改库的名称,并直接从你的应用程序加载这个库(通过使用本地源代码中的System.loadLibrary或dlopen )。但是,正如我所说的,我不确定它是否会起作用。

票数 1
EN

Stack Overflow用户

发布于 2013-12-13 19:38:04

是的,这是可能的。我在一台设备上尝试了类似的东西(使用自定义rom),它的工作效果与预期一致。但并不是每次都能行得通。我的成功率是2:3。(2次成功)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20565438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档