
adb(Android Debug Bridge)是Android SDK中一个通用的调试工具。我们可以通过这个工具管理设备或手机模拟器的状态。adb其实是一个客户端-服务器端程序, 其中客户端是你用来 *** 作的电脑,服务器端是android设备。
adb可以进行的 *** 作包括:
1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件。
adb的安装
电脑上需要安装客户端,设备上不需要安装,客户端包含在sdk里,只需要在手机上打开选项settings--applications--development--USBdebugging。
对于Mac和Linux用户,下载好的sdk解压后,可以放~或者任意目录。然后修改~/bash_profile文件,设置运行环境指向sdk的tools目录。
具体是打开~/bash_profile文件(如果没有此文件也可以自行添加),在里面加入一行:
export PATH=${PATH}:<你的sdk目录>/tools
然后就可以使用adb命令了。
嫌安装麻烦的同学其实也可以省去上面安装步骤,直接输入完整路径来使用命令。
对于windows xp用户,需要先安装usb驱动,然后如果你只打算使用adb而不想下载整个sdk的话,可以下载这个单独的adb工具包,下载后解压,把里面的adbexe 和 AdbWinApidll 两个文件放到系统盘的windows/system32 文件夹里就可以了。
adb的常用命令
1、安装应用到模拟器:
adb install <path_to_apk></path_to_apk>
比较郁闷的是,Android并没有提供一个卸载应用的命令,只能自己手动删除:
adb shell
cd /data/app
rm appapk
2、进入设备或模拟器的shell:
adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息。
3、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
4、复制文件:
你可向一个设备或从一个设备中复制文件,复制一个文件或目录到设备或模拟器上:
adb push <source> <destination></destination></source>
如:adb push testtxt /tmp/testtxt
从设备或模拟器上复制一个文件或目录:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcoreso
5、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
6、查看bug报告:
adb bugreport
7、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
8、获取设备的ID和序列号:
adb get-product
adb get-serialno
9、访问数据库SQLite3
adb shell
sqlite3
描述详细一点啊 大哥 你是想怎么打开 在代码中打开?还是adb打开查看数据库?
代码中的数据库开发
无非就是重写 SqliteOpenHelper,然后获取db类,通过增删改查方法来 *** 作数据库,详细步骤随便一百度 都一大堆。
通过adb打开查看数据库
连接设备
adb shell
su
进入db文件的文件夹
sqlite3
sql语句 进行查询
打开Android手机的USB调试对于使用豌豆夹、调试程序等来说很重要。下面说说如何用代码自动打开USB调试。先分析USB调试的相关源代码。
在 packages/apps/Settings/src/com/android/settings/DevelopmentSettingsjava 找到关于 USB Debug Enable 的代码:
[java] view plain copy
SettingsSecureputInt(getContentResolver(), SettingsSecureADB_ENABLED, 0 );
此文件中,将根据用户设置将其值保存到 Settings 数据库中。别处将根据其值动态变化做出相应动作
经搜索,在 frameworks/base/services/java/com/android/server/NotificationManagerServicejava 中存在利用该值判断是否在状态栏中进行通知。代码如下:
别处将根据其值动态变化做出相应动作如状态栏消息提示。
[java] view plain copy
void observe() {
ContentResolver resolver = mContextgetContentResolver();
resolverregisterContentObserver(SettingsSecuregetUriFor(
SettingsSecureADB_ENABLED), false , this );
update();
}
@Override public void onChange( boolean selfChange) {
update();
}
public void update() {
ContentResolver resolver = mContextgetContentResolver();
mAdbEnabled = SettingsSecuregetInt(resolver,
SettingsSecureADB_ENABLED, 0 ) != 0 ;
updateAdbNotification();
}
通过分析代码,我们可以实现用程序自动打开usb调试了。
[java] view plain copy
boolean enableAdb = (SettingsSecuregetInt(getContentResolver(), SettingsSecureADB_ENABLED, 0) > 0);
if (!enableAdb) {
SettingsSecureputInt(getContentResolver(), SettingsSecureADB_ENABLED, 1);
}
马上进行运行,会出现异常,通过Logcat可以看到没有权限。androidpermissionWRITE_SECURE_SETTINGS是不允许普通程序来执行,必须要有系统的签名或放到
/system/app下。
(1)、在AndroidManifestxml加上两个权限
[html] view plain copy
<uses-permission android:name="androidpermissionWRITE_SETTINGS"></uses-permission>
<uses-permission android:name="androidpermissionWRITE_SECURE_SETTINGS" />
可以把程序push到/system/app,并对这个apk加上0644的权限,重启手机,可以发现usb调试自动打开了。
在Android中查看和管理sqlite数据库
在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看。android
项目中的sqlite数据库位于/data/data/项目包/databases中。
使用DDMS导出sqlite数据库。
1、首先打开android项目的调试模式,然后找到显示DDMS:
选择DDMS
2、切换到DDMS,显示File Explorer窗口,找到/data/data/
然后找到程序包的文件夹,打开databases,就能看到sqlite数据库文件了。选择将其导出。
这样就把sqlite数据库文件以文件的方式导出来了,然后使用sqlite界面管理工具如
sqlite administrator、sqlite man或者firefox插件sqlite manager等打开就可以了。
使用adb工具访问sqlite数据库
Android Debug Bridge(ADB)是Android的一个通用调试工具,它可以更新设备或模拟器中的代码,
可以管理预定端口,可以在设备上运行shell命令,我们知道android是基于Linux内核,它的内部
文件结构也是采用linux文件组织方式,因此访问它的文件结构需要使用shell。这次我们就会用shell
来访问android应用中的sqlite数据库文件。
1、运行cmd,切换到android-sdk目录,运行adbexe,加上参数shell,出现#号就代表进入了shell
命令模式,注意adb要在Android模拟器运行时才能进入shell:
2、shell命令记住两个基本命令ls和cd,类似windows命令提示行中的dir和cd,代表列出当前目录下
文件列表和进入到指定目录。了解这两个命令之后,就可以找到data/data/项目包名/databases:
找到数据库文件:
接下来就是使用sqlite管理工具来进行 *** 作了。键入sqlite3 数据库名就进入了sqlite管理模式了。
在android的sdk中自带了sqlite3exe,这是sqlite的官方管理工具,它是一个命令行工具。为了使用
方便,将其路径注册到系统环境变量path中,即将;%Android_Home%加在Path中,这样只样运行sqlite3
,就能直接打开sqlite管理工具了。
sqlite管理数据库篇
sqlite命令行工具默认是以;结束语句的。所以如果只是一行语句,要在末尾加;,或者在下一行中键入
;,这样sqlite命令才会被执行。
sqlite常用命令:
tables--查看数据库的表列表
exit--退出sqlite命令行
其他命令可随时help查看帮助。sql命令可直接在此命令行上执行即可
这个需要你root手机,root手机后使用adb shell 能找到手机中database中的数据库XXdb文件,然后使用sqlite3命令打开,这些命令可以直接百度。前提你手机必须root
或者你使用虚拟机
1首先进入shell,打开命令行终端,输入:
2进入指定app的data目录:
3进入到目录后,可以运行“ls”命令查看文件列表,如果想要将某个文件拷贝到电脑上可以使用以下命令:
4退出adb shell或重新打开一个命令行窗口:
5拷贝到电脑后可以通过命令行的方式"sqlite3"查看也可以通过工具查看,往下就不写具体的了。
以上就是关于如何使用ADB进行调试全部的内容,包括:如何使用ADB进行调试、如何打开android里的sqlite数据库、利用adb命令打开usb调试等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)