Android-APEX化之后如何替换对应的文件

1. APEX简介

         (APEX)Android Pony EXpress

         google为了使低层次的系统组件,能够像应用模块那样可以独立的更新升级,不受大版本升级的限制,才有了APEX方案。

 

2. APEX文件生成

        在低版本的安卓系统中一些链接库是可以独立编译和替换的(eg: libmp4extractor), 之前改动了相关的代码只需要编译这个so,然后push到手机对应的目录下并重启即可生效。

        但是现在,google推出了APEX方案,有些so编译好了并不会直接Push到手机里面,所以无法替换so生效。那怎么替换呢?这些so编译完之后会再统一编译成apex二进制文件,如果想替换某个so就编译这个so所在的apex文件并push到手机里面就可以了。

        那么apex文件是怎么编译的呢?其实和so编译的过程一样。

        eg: 需要编译"com.android.media"

       mmm frameworks/av/apex/ 即可

 

3. 替换apex文件

本地生成的apex文件存放在

out/target/product/venus/system/apex 这个目录下

 将这个文件push到手机system/apex目录下即可

adb push com.android.media.apex system/apex

 

4. 总结

如果改动了代码发现替换so不生效,对应的so被加入了apex,怎么办?

step1: 找到这个so对应的apex的目录(eg: frameworks/av/apex/)

step2: 编译apex文件(mmm frameworks/av/apex/)

step3: 替换apex文件, cd out/target/product/venus/system/apex, 然后adb push com.android.media.apex system/apex

step4: 重启即可生效

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值