使用adb命令调试android设备中的c语言程序

来源:互联网 发布:java中arraylist的用法 编辑:程序博客网 时间:2024/04/29 09:30


基本概念:

adb:android debug bridge,调试桥。


准备工作:

先写一段c语言代码,再把c语言的二进制文件下载到android设备中去,然后在ubuntu终端中直接运行设备中c程序。

使用vi写c代码(vi + test.c),顺便实现一个简单的功能:

#incude <srdio,h>

void main()

{

printf("Hello ADB!\r\n");

}

保存退出。


使用交叉编译工具编译这段代码:

# arm-none-linux-gnueabi-gcc test.c -o aaa -static

注:交叉编译工具要安装好并配置好环境变量,后面的static是必须的,android平台不支持动态编译c代码。

编译之后使用ls命令查看,发现当前目录下多了个aaa可执行性文件,试着用./aaa执行它,发现报错:bash: ./aaa:无法执行二进制文件


把aaa下载到android设备当中:

执行

adb devices命令(判断设备是否连接且被pc识别)

得到:

List of devices attached
0123456789ABCDEF    device

说明设备连接正常,执行下一步操作,把aaa下载到android设备中:

adb push aaa /data/data

终端返回:

505 KB/s (650730 bytes in 1.256s)

说明下载成功。

进入shell:

adb shell


进入shell后,输入下ls命令,发现android设备的文件列表:

anr           backup        dontpanic     misc          secure
app           dalvik-cache  local         ppp           system
app-private   data          lost+found    property      tombstones

直接执行cd /data/data命令,用ls查看文件

# cd data
# ls
aaa                                    com.android.phone
android.serialport.sample              com.android.providers.applications
android.tts                            com.android.providers.calendar
com.android.bluetooth                  com.android.providers.contacts
com.android.browser                    com.android.providers.downloads
com.android.calculator2                com.android.providers.downloads.ui
com.android.calendar                   com.android.providers.drm
com.android.camera                     com.android.providers.media
com.android.certinstaller              com.android.providers.settings
com.android.contacts                   com.android.providers.subscribedfeeds
com.android.defcontainer               com.android.providers.telephony
com.android.deskclock                  com.android.providers.userdictionary
com.android.email                      com.android.provision
com.android.globaltime                 com.android.quicksearchbox
com.android.helloapk                   com.android.server.vpn
com.android.htmlviewer                 com.android.settings
com.android.inputmethod.latin          com.android.systemui
com.android.launcher                   com.android.term
com.android.led                        com.android.wallpaper
com.android.magicsmoke                 com.android.wallpaper.livepicker
com.android.music                      com.cooliris.media
com.android.musicvis                   com.example.android.apis
com.android.packageinstaller           com.svox.pico


发现aaa已经下载到android设备,执行它:

./aaa

熟悉hello ADB!再现。大功告成!


最后,收下尾,退出shell:

exit







原创粉丝点击