精简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
    /xxx/xxx/ESwenjianliulanqi_325.apk">

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

 

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

你可能感兴趣的:(ANDROID)