Android查找某目录或文件是否被编译进系统

bp文件作为系统编译的(子)目录文件,一般会在系统的某个文件夹下存在,并且其同级文件夹也一般都存在一个bp,然后在总的系统bp文件(总目录)中把这些小bp包含进去一起编译。当然也存在总bp中通过绝对目录的方式将某个没有小bp的文件夹包含进去。

所以想查找某个文件夹有没有被编译进系统,可以看它或它父目录的bp文件中有没有这个文件夹的名字。也有更绝对的方式:那就是在系统source的根目录的out目录下找到  JAVA_LIBRARIES  文件夹(如source\sys\out\target\common\obj\JAVA_LIBRARIES),这个文件夹有所有被编译进系统的类名和jar包等。find -name Android.bp | xargs grep “查找是否编译进系统的文件夹的名字”

或者直接在手机里的system、system_ext目录下的framework目录下(都是jar包)使用命令:grep -a 搜索内容函数名类名等 xxx.jar;还有手机的apex目录下的各个子目录,也会放apex类型的编译产物可以grep搜下内容函数名类名等(不少是代码/packages/modules目录下的编译产物),如果要确认代码具体内容不能直接打开dex文件就用 jadx 反编打开。

posted @ 2022-03-15 19:07  小汀  阅读(178)  评论(0编辑  收藏  举报