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


基本概念:

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







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值