在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

...

更多相关文章

  1. apk反编译和重新打包
  2. Android(安卓)studio 忽略文件不生效
  3. 在android下出现乱码的问题(在网络中传输和获取数据时)
  4. 安卓系统架构多年经验总结:《Android程序的编译,安装和运行》 | An
  5. 第一行代码笔记3
  6. Android(安卓)CheckBox 修改选择框
  7. Android应用设计提示:关于资源对象
  8. [置顶] [Android(安卓)Studio 权威教程]配置出“NB”的Android(安
  9. 安卓图片反复压缩后为什么普遍会变绿而不是其它颜色?

随机推荐

  1. 快速进入Android世界
  2. Android控件编辑时键盘弹起与关闭处理
  3. View控件中android:drawablePadding不起
  4. Android单元测试 - 验证函数参数、返回值
  5. Android 签名那些事
  6. android 中 AppWidget 的 ListView 的实
  7. 自定义实现圆形播放进度条(android,飞一般
  8. android的surfaceview的用法
  9. Android软键盘的显示与隐藏
  10. Android ListView更换点击效果