如何确定Android中刚修改后的c/c++是否编译成功

本文介绍了一种快速检查Android系统源码中加入的代码是否成功编译的方法,通过查看生成的动态库文件来定位问题所在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Android系统源码上开发有时候会遇到一些问题,比如加入新代码或修改了一些代码后运行发现新加入的代码不启作用。这时可能要查一下原因,有时是因为Android编译环境配置存在问题,就会出现上述情况(有一次加入了自己的代码,但是没有在项目目录下加入Android.mk,最后只能把out目录全部删除掉才能编译出来). 

下面就有一个快速的方法来判断自己的代码有没有编译出来。


Android系统编译完后所有编译过程中生成的相关文件都存在out目录下, 一些c/c++一般都在out/target/product/generic/obj/SHARE_LIBRARY 或 out/target/product/generic/obj/STATIC_LIBRARY目录下。 由其是动态库, 我们可以进入动态库的目录下有一个LINKER文件夹,这里边就是编译完后成生的动态库文件,这个文件是可以反汇编的,我们可把它反汇编出来,然后在里边查找一下我们新加入的内容。如果找到了,说明文件已生成成功,很可能是其它问题。如果没有找到新加的代码,很有可能是Android配置问题导致make失败。



反汇编的方法很简单:

     cd <....>/LINKER

     arm-eabi-objdump -dS  <so_name>   > so.dump

     vim so.dump

     ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值