精简Android系统下的APP

      当我们拿到Androd源码后,进行编译和烧写,发现里面有许许多多的内置apk和测试apk,这时就需要对系统里的apk进行精简了。

 

       精简APP时候注意了,要先rm -rf out/target/produtc/xxx/system,然后在编译。这是因为Android在编译后,并不会删除之前到应用,导致我们屏蔽了该应用,但system镜像中还包含该应用的情况。  

      当然,对应高通的源码来说,还有很多测试App是在vendor这个目录下的。也是用同样到方法屏蔽Androd.mk即可。

      对应常见的apk还是挺容易精简的,但有时会遇到某个apk找不到包名的困扰。这时只需adb logcat一下,然后打开应用,这时adb logcat会打印相应的包名,然后在终端上 adb shell cat /data/system/packages.xml|egrep “包名关键字”,就可以找到该apk的名字了,然后使用grep或者mgep去查找即可。例如

1 adb logcat -s ActivityManager,如

I/ActivityManager(  924): Displayed com.estrongs.android.pop/.view.FileExplorerActivity: +384ms
I/Timeline(  924): Timeline: Activity_windows_visible id: ActivityRecord{17d7da72 u0 com.estrongs.android.pop/.view.FileExplorerActivity t22} time:532190

 

2 adb root

 

3 adb shell cat /data/system/packages.xml|egrep com.estrongs.android.pop
    <package name="com.estrongs.android.pop" codePath="/data/app/com.estrongs.android.pop-1" nativeLibraryPath="/data/app/com.estrongs.android.pop-1/lib" primaryCpuAbi="armeabi" flags="4767300" ft="376b8" it="37bb1" ut="37bb1" version="226" userId="10075" installer="/xxx/xxx/ESwenjianliulanqi_325.apk">

/xxx/xxx/就是该app安装的路径了。

 

4在源码根目录source build/envsetup.sh并lunch后,mgrep ESwenjianliulanqi_325就能快速找到相应的mk文件了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值