小弟先在做安卓下的音频应用程序开发,从java层写了一个应用程序,能够实现简单的录音功能。之后就想分析一下整个的调用过程,结果我发现安卓下的音频架构还蛮复杂,有java层的,安卓系统中的c++语言写的很多cpp文件,然后就是底层驱动。
在调试cpp文件(如audiorecord.cpp,audioflinger.cpp等)的时候,我加入了一些fprintf(stdout,"***")语句想进行跟踪。因此重新make kernel,然后把新内核下载到板子上,重启之后没有打印信息呀。。。
请问是不是修改了这些cpp文件之后make kernel牵扯不到他们呢?如果我想能看到这些加入的打印信息,我应该怎么做呢?请高手指点指点呀。。。
先行谢过。。。
Android alsa音频 调试
------解决方案--------------------
找到编译好后的so文件,把他push到system/lib里面.你应该就能看到效果了
下班了
------解决方案--------------------
谢谢指点。。。我先找找so文件。我之前用adb push文件到板子上的时候,system文件夹说我没有权限,只能push到sdcard文件夹下。我应该怎么获得权限呢?
LOCAL_MODULE
可是这里面有两个LOCAL_MODULE,一个是LOCAL_MODULE:=libmedia_helper,一个是LOCAL_MODULE=libmedia
而且我在文件夹下没有看到这两个文件。。。
找到编译好后的so文件,把他push到system/lib里面.你应该就能看到效果了
下班了
adb remount
------解决方案--------------------
eclipse不是只能调试java程序吗?那我怎么把我现在要调试的这些文件加到eclipse中呢?
FrameWork层的cpp文件的Log直接在eclipse里面调试就有输出,Kernel层bug在Eclipse中不会有打印
你把自己的so库编译出来替换掉/system/lib下相应的库文件,你有确定的机器是工程机,才能够push进去的,就是你的机器在adb shell命令后,前面那个符号是"#"而不是"$".
------解决方案--------------------
FrameWork层的cpp文件的Log直接在eclipse里面调试就有输出,Kernel层bug在Eclipse中不会有打印