导航:首页 > 配服务器 > adb如何开启服务器服务器

adb如何开启服务器服务器

发布时间:2025-04-04 20:00:05

android SDK 环境下如何使用adb软件

Android SDK开发工具中有几个重要的指令:adb、ddms、emulator与mksdcard、dx tool等。
ADB系统除错与连结工具
使用adb指令进行APK组件的安装,虽然adb(Android debug bridge)是Android系统的除错工具,但是从放置文件到SD存储卡与安装APK应用程序,adb是操作Android 系统不可或缺的重要工具。adb是与Android仿真器沟通最重要的桥梁。如果要跟Android底层的linux操作系统进行沟通,就必须通过 Android SDK tools目录下的adb (android debug bridge) 指令来进行操作。这个adb除了提供程序码除错功能外,最重要的功能是它可以将Eclipse编译好所生成的Android应用程序组件Android Package (apk),直接连接安装到Android仿真器上或者手机装置上,因此程序开发在Eclipse环境中完成后,Android仿真器上就直接会有这个应 用程序的图标icon了。另外adb除错工具也支持命令列模式shell指令,可以输入指令来进行一些除错动作。这些实用的adb指令如下:
$ adb devices (显示当前有多少个仿真器正在运行)
List of devices attached
emulator-5554 device
emulator-5556 device
emulator-5558 device
运行adb devices会显示有多少个仿真器正在运行,上面的例子指出有5554、5556、5558三个仿真器正在运行,如果没有运行仿真器,则显示 no device。
$ adb -s <serialNumber> <command> (指定仿真器来操作)
$ adb -s emulator-5554 install email.apk
adb -s可以指定仿真器序号,用来选择操纵哪一个仿真器,例如adb -s emulator-5554 install email.apk,指定将email.apk安装在仿真器emulator-5554。
$ adb install apkfile (安装APK应用程序组件)
例如:adb install email.apk
$ adb uninstall package (移除APK应用程序组件)
例如:adb uninstall com.android.email
adb install与adb uninstall可以用来安装与移除APK 应用程序组件,但是必须注意的是adb install后面是接apk文件名称,然而adb uninstall 后面是域名形式的package名称,例如com.android.email。详细的package名称可以由Android操作系统目录/data /data或者由/data/app来查得。
$ adb shell (进入Android系统指令列模式)
$ ls
$ dmesg (查看Android Linux Kernel运作消息)
运行adb shell可以进入Android操作系统指令列模式,如此一来就可以直接看到Android系统的目录结构,因为Android是Linux操作系统的 一种,所以Shell指令和Linux系统是相同的,例如ls(显示文件目录)、cd(进入目录)、rm(删除文件)、mv(移动文件)、mkdir(生 成目录)与rmdir(删除目录)等指令。
$ adb push <file/dir> /sdcard (复制文件到SD存储卡)
例如:adb push mp3 /sdcard
$ adb pull <file/dir> . (从Android系统下载文件)
例如:adb pull /data/app/com.android.email
adb push可以上载文件到SD存储卡目录/sdcard,因为其他目录有访问权限问题无法写入,所以一般都是将文件放到/sdcard目录下。adb pull则是将文件从Android系统下载到一般计算机上,常用的例子除了从/sdcard下载文件外,也可以从/data/data或/data /app目录将APK文件抽出来,提供已经安装成功的APK应用程序,给其他使用者安装。
$ adb logcat (监控仿真器运作记录)
adb logcat会实时监控Android仿真器运行时所生成的记录,此项功能对于程序开发人员用来除错帮助很大,开发人员可以从记录中得到应用程序运行时发生的错误消息。运行adb logcat后,若要离开监控模式,可以按Ctrl+C。
$ adb bugreport (生成adb除错报告)
开发人员若要进一步得知系统生成的所有错误消息报告,可以运行adb bugreport指令来实现,该指令会将Android系统的mpsys、mpstate与logcat信息都显示出来。
$ adb get-state (获得adb服务器运作状态)
adb get-state会显示adb服务器的运作状态为何,共有offline (脱机)、bootloader (开机中)、与device (运作中) 三种状态。
$ adb start-server (启动adb服务器)
$ adb kill-server (关掉adb服务器)
通常启动Android服务器时,就会启动adb服务器了。可以使用adb get-state来查知adb的状态。如果没有启动可以运行adb start-server启动它,若不想进行除错监控,可以运行adb kill-server关掉它。
$ adb forward tcp:6100 tcp:7100 (更改仿真器网络TCP通信端口)
Android仿真器内定的TCP port为6100,若有需要可以运行adb forward指令改成另外一个通信端口。
$ adb version (显示adb版本)
您可以运行adb version查看当前使用的Android SDK adb版本。
$ adb help (显示adb指令参数)
adb help会显示所有adb指令的用法,
参考资料:http://blog.chinaunix.net/uid-20332519-id-3176865.html

㈡ 【Android】如何使用ADB进行调试

使用ADB进行调试的两种方法分别是配置环境变量和直接复制adb工具包

方法一:配置环境变量 步骤:在电脑上找到adb文件夹,将其路径添加到系统环境变量Path中。 Windows系统:在控制面板的“系统和安全”>“系统”>“高级系统设置”>“环境变量”中进行设置。

方法二:直接复制adb工具包 32位系统:将adb文件复制到C:WindowsSystem32目录。 64位系统:将特定的*.dll文件复制到C:WindowsSysWOW64目录中,以避免启动错误。

注意事项系统位数:务必注意操作系统的位数,确保将文件复制到正确的目录。 ADB工作原理:ADB通过监听Socket TCP端口实现IDE和设备间的通信,支持命令行操作、端口映射、文件传输以及apk文件的安装等功能。 客户端服务器端架构:客户端是电脑,服务器端是Android设备。

通过以上方法配置好ADB后,即可在Eclipse或类似的IDE中方便地对Android程序进行调试。

㈢ Android如何设置代理服务器

给android设备提供了两种网络代理,一种是直接在网络设置中运行,另一种是通过adb指令运行。最常用的一种是设置页面操作,模拟器大家应该都知道的吧,就是可以在电脑端运行的手机环境人家,第一种方式就是给大家推荐使用这个,实现方式具体如下。

第一种、模拟器设置代理服务器

设置-->WLAN,选择网络长按(不同设备操作方式不同,点击按钮也不同)-->修改网络-->高级选项,将代理选项设置为手动,在代理服务器主机名中填写您想设置的代理服务器IP,在相应端口上填写相应端口(如Fiddler为8888),完成设置后点击保存即可。

第二种、通过adb指令设置代理,操作方式如下

设置代理:

adbshellsettingsputglobalhttp_proxip:port.

例如:

adbshellsettingsputglobalhttp_proxy127.0.0.1:8888.

移除代理(三个指令都需要执行,部分机型可能需要重启手机才能完全移除代理):

_proxy.

_http_proxy_host.

_http_proxy_port.

adbreboot.

以上两种方法基本可以解决大部分场景。大家不妨进行尝试下,内容还是相当简单的。

㈣ 常用的adb命令

在平时的工作中,会经常用到adb命令,在这里稍微整理了一下。

一.概要

1.什么是adb?

adb全称为Android Debug Bridge,就是起到调试桥的作用。顾名思义,adb就是一个debug工具。

2.adb工作原理

不是很理解?那就来看看它的工作原理吧。

上图是一个简单的adb工作原理图。adb客户端服务器端程序,由上图可以看出它主要三个组件组成:Client,Server,Daemon。

(1)当你启动一个adb Client(客户端),Client首先会选确认是否已有一个adb

Server(服务器)进程在运行,如果没有,则会启动Server进程。此时,adb Server就会绑定本地的TCP端口5037,并监听adb

Client发来的命令。

(2)接着,Server将会扫描所有5555到5585范围内的奇数端口来定位所有的模拟器或设备,并与之建立连接。一旦Server找到

了adb

daemon(守护程序),它将建立一个到该端口的连接,这样,我们就可以使用adb命令控制和访问模拟器或设备了。在这里,需注意的是任何模拟器或设备实例会取得两个连续的端口:一个偶数端口用来相应控制台的连接,和一个奇数端口用来响应adb连接。

3.adb的作用

借助adb工具,我们可以管理设备或手机模拟器的状态,还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。简而言之,adb就是连接Android手机和PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。

二.常用命令

这个部分主要介绍adb的使用方法和一些常用的命令。

设置adb环境:将android sdk工作目录添加到系统环境变量中,则可使用adb命令了。

1. adb devices

查看当前连接的设备(连接计算机的Android设备或者模拟器)。

2.adb install

adb install <apk文件路径>,将指定的apk安装到设备上,安装的apk包会放在/data/app目录下。

几个参数:

-r 强制安装

-d(真机,多个设备中只有一个真机时适用)

-e(模拟器,多个设备中只有一个模拟器时适用)

-s(指定设备,后接序列号)

adb –s 44a188f9 install –r test.apk(其中44a188f9即序列号,通过adb devices可获取)

3.adb uninstall

adb uninstall <apk包名>

adb uninstall –k <apk包名>

-k参数为卸载软件时保留配置和缓存文件

4.adb reboot

重启android设备

5.adb shell

通过adb shell 命令,就可以进入设备或者模拟器的shell环境了,在这个Linux shell中,我们就可以执行各种Linux命令了。

如果只想执行一条shell命令,就可以采用:adb shell [shell_command]

在实际使用中,经常与grep或findstr一起使用,起到过滤作用,查看自己需要的关键信息。

6.adb shell su

前提手机已经root。获取adb shell的root权限。

使用su提权,用户命令提示符有$变成#,如果手机没有root,会提示su:permission denied。

7.adb shell ps/top

查看当前终端中的进程信息,如pid等。

8.adb shell am/pm

am全称为activity manager,可使用am命令模拟各种系统的行为,如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等。

如:adb shell am start <apk包名>/<activityName>:启动一个activity。

pm全称为package manager,利用pm命令可模拟android行为或查询设备上的应用等。

如:adb shell pm list packages

列出当前设备所有已安装的程序的包名。

说明:

管道符“|”:可以把标准的输入流与标准的输出流进行合并,或者把某个命令的标准输出流作为另一个命令的标准输入流。

exit退出shell。

由于grep为linux命令,运行单条adb shell 时并没有进入linux

shell环境,并不能用grep等其他linux命令,只能用window cmd的命令。在这里可以用findstr来代替grep,使用方法为

findstr/grep [keyword]

更详细的内容可查看 参考文献3 和 参考文献4 。

对于常用的linux命令和常用的windows 控制台命令,以后再作总结。

9.adb pull 和 adb push

adb pull <设备中的文件路径> <本地路径>:从模拟器或设备中复制文件到本地。

adb push <本地文件路径> <设备中的路径>:将本地文件或目录复制到模拟器或设备。

这里还涉及到一个权限的问题,在后续的博文中再作介绍。

10.adb shell mpsys

Android提供的mpsys工具用于查看感兴趣的系统服务信息与状态。

参考下表:

11.adb shell monkey

跑monkey是android自动化测试的一种手段,所谓monkey测试就是模拟用户的按键输入,触摸屏输入,手势输入等。当Monkey程序在模拟器或设备运行的时候,如果用户比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey的随机重复的方法对apk作压力测试,来测试android

app的稳定性。

如下为测试腾讯新闻apk的一个简单实例:

说明:第一个-s指定设备,如果只连接了一台设备,可不用该参数。

-p <apk包名>只允许系统启动指定的app,如果不指定,将允许系统启动设备中的所有app,也可指定多个包。

--throttle <毫秒数> 指定用户操作(事件)间的时延。

--ignore-crashes 指定当应用程序崩溃时,Monkey依然发送事件,直到事件计数完成。

--ignore-timeouts 当应用程序发生ANR错误时,Monkey依然会发送事件,直到事件计数完成。

第2个-s,用于指定伪随机数生成器的seed值,如果seed相同,则两次Monkey测试所产生的事件序列也相同的。

-v 用于指定反馈信息级别,总共分为level 0、level 1、level 2三个级别,级别越高,输出的日志越详细。

最后的数字(这里是500):表示Monkey程序模拟500次随机用户操作事件。

>输出测试结果到D:\monkeylog.txt

更详细的参数可查看 参考文献5 。

部分测试结果如下:

对于测试结果的分析,通过搜索关键词来定位错误,主要包括以下四个方面:

1)ANR(Application Not

Response):程序无响应,一般主线程超过5秒没处理就会出现ANR错误。通过搜索ANR关键词来定位关键的事件信息。除了导出日志外,还可以将/data/anr/目录下的trace.txt文件导出,用来定位分析问题。使用>adb

pull /data/anr/trace.txt d:\ 将trace.txt文件导出到d盘。

2)ForceClosed或其他异常退出信息:通过搜索Fatal关键词来定位。

3)崩溃问题:通过搜索Exception关键词来定位。

4)发生异常后,通过搜索Crash关键词来定位到详细的堆栈信息。

 12.kill

kill用来中止一个进程。

比如我们在跑monkey的时候,怎么强制关闭monkey呢,可以用kill <monkey进程PID>

说明:另开启一个cmd,找到monkey的pid号,然后杀掉即可。

参考文献:

1.Android调试桥: http://www.iteye.com/topic/260042

2.Android性能分析工具mpsys的使用: http://www.open-open.com/lib/view/open1405061994872.html

3.adb shell 中的am pm命令: http://www.android100.org/html/201312/09/4957.html

4.adb shell 启动应用程序的方法: http://blog.chinaunix.net/uid-26997997-id-3350449.html

5.Monkey压力测试详解: http://blog.csdn.net/huangbiao86/article/details/8490743

阅读全文

与adb如何开启服务器服务器相关的资料

热点内容
java读取linux文件路径 浏览:156
ug编程测量刀路距离 浏览:250
我的世界电脑玩服务器地址 浏览:792
途虎app如何保证轮胎正品 浏览:898
电脑看体育比赛用什么app 浏览:618
273乘以99的简要算法 浏览:800
酷我音乐app两个补丁是什么 浏览:954
Linux环境搭建tomcat 浏览:665
鹿医app如何快速抢到疫苗 浏览:758
android判断连接超时 浏览:726
虚拟机编译卡住 浏览:7
区域性app如何盈利 浏览:30
呐喊鲁迅pdf 浏览:279
数据分析师vs程序员 浏览:364
pdf版本下载 浏览:963
python列表倒置 浏览:606
阴线埋伏指标源码 浏览:127
定时休眠命令 浏览:744
航海王热血服务器为什么是灰色的 浏览:115
不在域内的服务器如何与域用户共享文件夹 浏览:25