1、前言在正式开始之前,按照套路,先得介绍点adb的基础知识。
2、学会了adb的使用,下面的大部分内容其实基本不用看了。
3、好吧,废话不说,让我们立刻开始我们的3分钟精通adb之旅吧。
4、如果找到adb?雷电安装模拟器自带了一份,当然熟悉的朋友,喜欢用自己珍藏的版本也是可以的。
5、雷电自带的版本再安装目录下,名字就叫adb.exe,如本人的电脑adb全路径为、F、mnqdnplayeradb.exe.另外,新的雷电已经提供了adb命令,解决大家使用-s的麻烦,并且重要的是大家从此只需要关心name就可以了,不用关心index,比如取某个模拟器种的包列表、dnconsole.exeadb--name***--command"shellpmlistpackages"如何链接设备?一步步看命令行cmdcdF、mnqdnplayeradb.exekill-server(很多时候连不上,就是因为没有kill)adb.exedevices这步很重要,完成之后,会list出所有设备多开的情况下如何指定操作哪个模拟器?这一步至关重要,所以提前说明,后面的所有操作都是单开为例,多开的情况,请参考这部分,切记切记!!!adbdevices会获取模拟器列表,指定模拟器只需要在adb后面加上"-s模拟器标识"即可!比如说、0.55550.5557(对,雷电的adb端口是有规律的,规律就是5555+index*2)如果指定在5555上安装一个apk,那么请这样写、adb-s0.5555installd、\abc.pak如何把电脑上的文件或文件夹传到模拟器里面?adbpushf、/东京热.avi/mnt/avi/如何把模拟器里面的文件或文件夹传到电脑上?adbpull/mnt/avi/苍老师.avif、/avi/安装APKadbinstalld、\qq.apk卸载APKadbuninstall包名PM包命令1)获取模拟器所有包名adbshellpmlistpackages2)获取模拟器所有包名并且包括APK路径adbshellpmlistpackages-f3)获取包名对应的APK路径adbshellpmpathpackageName4)清理应用数据adbshellpmclearpackageName启动应用adbshellamstart-n包名/Activity类名例子、启动应用宝、adbshellamstart-ncom.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity指定模拟器启动动应用宝、adb-s0.5555shellamstart-ncom.tencent.android.qqdownloader/com.tencent.assistant.activity.SplashActivity关闭应用adbshellamforce-stop包名模拟输入adbshellinputtext字符串(不支持中文)模拟按键adbshellinputkeyevent键值模拟鼠标点击adbshellinputtapXY模拟鼠标滑动adbshellinputswipeX1Y1X2Y2截屏adbshellscreencap-p/sdcard/screencap.png设置手机IMEI/IMSI/手机号/SIM卡序列号(7之后版本)adbshellsetpropphone.imei865166023949731adbshellsetpropphone.imsi460000000000000adbshellsetpropphone.linenum13800000000adbshellsetpropphone.simserial89860000000000000000。
6、你看的懂?。
7、为什么没有设置定位的adb。
8、有,论坛技术交流。
9、完全看不懂啊。
10、这是代码看不懂正常。
11、多谢吧主。
12、吧主你好,百度搜到这个帖子,但我有个情况想求助我想同时开雷电和MuMu,经多次重启重装模拟器发现,雷电开启后会自动启动adb服务/进程。
13、而adb一旦启动过后,即使关闭adb进程和雷电,或者重启,不论怎么着,这之后再开启MuMu也会自动启用adb,而且每次启动会多开一个adb,进程里显示会短暂的同时存在两个adb进程,几秒后,后开启的adb进程会消失,后留有一个adb,导致mumu碰到表象疑似端口被占用的情况。
14、这之后雷电再启动没问题,而mumu会永远死循环(已修复网络问题需重启模拟器)。
15、我还尝试过不开雷电,直接开adb.exe或cmd用任何adb指令后,mumu的每次启动也都会自动开adb并进入上述死循环。
16、我想知道雷电方面有没办法启动的时候不激活adb,或者mumu方面有没办法启动的时候不要管adb或避免端口占用的办法大恩大德先谢过。
18、如何修改雷电模拟器http啊。
19、类名怎么查找,这个类名找不到。
20、tm怎么看?哈哈他会这样问你所以教程一起分享出来。
21、雷电adb换代理IP的命令有没有?。
二、adb与adb shell命令使用1、adbconnectip、5555adbget-stateadbdevicesadbkill-serveradbstart-serveradblogcat>D、/log.logadbpullsdcard/test.txtD、123adbpushD、123 est.txtsdcardadbshellpmlistpackageadbshekkpmlistpackage-sadbshellpmlistpackage-3adbshellpmlistpackage-fadbshellpmlistpackage-izhihuadbshellpmpathcom.zhihu.androidadbshellpmdumpcom.zhihu.androidadbinstallxxx.apkadbshellpminstallxxx.apkadbuniinstall包名adbshellpmuninstall包名adbshellpmclear包名adbshellpmset-install-location0/1/2adbshellpmget-install-locationadbshelldumpsyspackagecom.zhihu.androidadbshellamstart-ncom.zhihu.android/.app.ui.activity.LauncherActivityadbshellamstart-scom.zhihu.android/.app.ui.activity.LauncherActivityadbshellamstart-wcom.zhihu.android/.app.ui.activity.LauncherActivityadbshellamstart-aandroid.intent.action.VIEW-dhttp、//baidu.comadbshellamstart-aandroid.intent.action.CALL-dtel、10086adbshellamforce-stop包名adbshellinputtext123456adbshellinputkeyeventKEYCODE_HOMEadbshellinputtap500500adbshellinputswipe900500100500adbshellscreencap-p/sdcardadbshellsetpropservice.adb.tcp.port5555adbshellgetpropservice.adb.tcp.port。
三、什么是adb命令行?1、ADB(AndroidDebugBridge)是Android提供的一个通用的调试工具,借助这个工具,我们可以很好的调试开发的程序,adb.exe在你安装的android的sdk开发包platform-tools目录下。
2、ADB是一个C/S架构的应用程序,由三部分组成、1)adbclient,运行在PC上(为DDMS,即IDE工作)2)adbdaemon(守护进程),运行于Emulator(为与Emulator中的VM交互工作)。
3、3)adbserver(服务进程),运行在PC(任务管理器上有),管理着adbclient和adbdaemon的通信。
4、server与client通信的端口是是5037,adbserver会与emulator交互的,使用的端口有两个,一个是5554专门用于与Emulator实例的连接,那么数据可以从Emulator转发给IDE控制台了,另一个则是55专门与adbdaemon连接为后面调试使用。
5、adb使用方法、adb(-d|-e|-s)当你发出一个命令,系统启用Android客户端。
6、客户端并不与模拟器实例相关,所以如果双服务器/设备是运行中的,你需要用-d选项去为应被控制的命令确定目标实例。
7、关于使用这个选项的更多信息,可以查看模拟器/设备实例术语控制命令。
8、查询模拟器/设备实例在发布adb命令之前,有必要知道什么样的模拟器/设备实例与adb服务器是相连的。
9、可以通过使用devices命令来得到一系列相关联的模拟器/设备adbdevices安装应用到模拟器/设备、你可以使用adb从你的开发电脑上复制一个应用程序,并且将其安装在一个模拟器/设备实例。
10、像这样做,使用install命令。
11、这个install命令要求你必须指定你所要安装的.apk文件的路径、adbinstall例如、Weibo_apk是在我的C盘中,C、>adbinstallweibo_1-apk卸载应用程序、adbuninstall注意、卸载软件时,卸载的是包名,后面跟的是包的名字,而不是.APK.从模拟器/设备中拷入或拷出文件、可以使用adbpull、push命令将文件从模拟器/设备中拷贝出来或从电脑拷入。
12、adbpull用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑adbpush用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)启动Linux命令界面shelladbshellAndroid本来就是一个linux操作系统,通过上面的命令,就可以进入设备或模拟器的shell环境中,所以大部分都是linux的命令,如mkdir,ls,netstat,mount等。
13、主要介绍几个Android特有的。
14、Getprop、返回Android的所有系统属性。
15、Getevent、打印所有的键盘和触摸事件Logcat、输出日志LS、用于显示目录内容查看bug报告、adbbugreport记录无线通讯日志、一般来说,无线通讯的日志多,在运行时没必要去记录,但我们还是可以通过命令,设置记录、adbshelllogcat-bradio获取设备的ID和序列号、adbget-productadbget-serialno。
四、adb.exe是什么进程 adb.exe命令详解1、ADB全称AndroidDebugBridge,是androidsdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).它的主要功能有、*运行设备的shell(命令行)*管理模拟器或设备的端口映射*计算机和设备之间上传/下载文件*将本地apk软件安装至模拟器或android设备ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备..先说安装方法,电脑上需要安装客户端.客户端包含在sdk里.设备上不需要安装,只需要在手机上打开选项settings-applications-development-USBdebugging.对于Mac和Linux用户,下载好的sdk解压后,可以放~或者任意目录.然后修改~/.bash_profile文件,设置运行环境指向sdk的tools目录.具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加),在里面加入一行、exportPATH=${PATH}、/tools然后就可以使用adb命令了.嫌安装麻烦的同学其实也可以省去上面安装步骤,直接输入完整路径来使用命令。
2、对于windowsxp用户,需要先安装usb驱动android_usb_windows.zip,然后如果你只打算使用adb而不想下载整个sdk的话,可以下载这个单独的adb工具包adb_win.zip下载后解压,把里面adb.exe和AdbWinApi.dll两个文件放到系统盘的windows/system32文件夹里就可以了现在说下ADB常用的几个命令查看设备*adbdevices这个命令是查看当前连接的设备,连接到计算机的android设备或者模拟器将会列出显示安装软件*adbinstall这个命令将指定的apk文件安装到设备上.卸载软件*adbuninstall*adbuninstall-k如果加-k参数,为卸载软件但是保留配置和缓存文件.登录设备shell*adbshell*adbshell这个命令将登录设备的shell.后面加将是直接运行设备命令,相当于执行远程命令从电脑上发送文件到设备*adbpush用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)从设备上下载文件到电脑*adbpull用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑显示帮助信息*adbhelp这个命令将显示帮助信息这里还有一个英文版的、在DOS下输入以下命令基本可以完成刷机任务,一些常用命令解释如下、adbdevices-列出连接到电脑的ADB设备(也就是手机),一般显示出手机P/N码.如果没有显示出来则手机与电脑没有连接上.adbinstall–安装手机软件到手机中,如、adbinstallqq200apk.adbremount–重新打开手机写模式(刷机模式).adbpush-传送文件到手机中,如、adbpushrecovery.img/sdcard/recovery.img,将本地目录中的recovery.img文件传送手机的SD卡中并取同样的文件名.adbpull-传送手机的文件到本地目录(和上命令相反).adbshell-让手机执行命令,就是手机执行的命令.如、adbshellflash_imagerecovery/sd-card/recovery-RAv0G.img,执行将recovery-RAv0G.img写入到recovery区中.我们刷recovery时一般按下顺序执行、adbshellmount-aadbpushrecovery-RAv0G.img/system/recovery.imgadbpushrecovery-RAv0G.img/sdcard/recovery-RAv0G.imgadbshellflash_imagerecovery/sdcard/recovery-RAv0G.imgreboot其它的自己灵活运用了.ADB命令详解、AndroidDebugBridgeversion0.20-d-directscommandtotheonlyconnectedUSBdevicereturnsanerrorifmorethanoneUSBdeviceispresent.-e-directscommandtotheonlyrunningemulator.returnsanerrorifmorethanoneemulatorisrunning.-s–directscommandtotheUSBdeviceoremulatorwiththegivenserialnumber-p–simpleproductnamelike’sooner’,orarelative/absolutepathtoaproductoutdirectorylike‘out/target/product/sooner’.If-pisnotspecified,theANDROID_PRODUCT_OUTenvironmentvariableisused,whichmustbeanabsolutepath.devices–listallconnecteddevicesdevicecommands、adbpush–copyfile/dirtodeviceadbpull–copyfile/dirfromdeviceadbsync()–copyhost->deviceonlyifchanged(see‘adbhelpall’)adbshell–runremoteshellinteractivelyadbshell–runremoteshellcommandadbemu–runemulatorconsolecommandadblogcat()–Viewdevicelogadbforward–forwardsocketconnectionsforwardspecsareoneof、tcp、localabstract、localreserved、localfilesystem、dev、jdwp、(remoteonly)adbjdwp–listPIDsofprocesseshostingaJDWPtransportadbinstall(-l)(-r)–pushthispackagefiletothedeviceandinstallit(‘-l’meansforward-locktheapp)(‘-r’meansreinstalltheapp,keepingitsdata)adbuninstall(-k)–removethisapppackagefromthedevice(‘-k’meanskeepthedataandcachedirectories)adbbugreport–returnallinformationfromthedevicethatshouldbeincludedinabugreport.adbhelp–showthishelpmessageadbversion–showversionnumDATAOPTS、(nooption)–don’ttouchthedatapartition-w–wipethedatapartition-d–flashthedatapartitionscripting、adbwait-for-device–blockuntildeviceisonlineadbstart-server–ensurethatthereisaserverrunningadbkill-server–killtheserverifitisrunningadbget-state–prints、offline|bootloader|deviceadbget-serialno–prints、adbstatus-window–continuouslyprintdevicestatusforaspecifieddeviceadbremount–remountsthe/systempartitiononthedeviceread-writeadbroot–restartsadbwithrootpermissionsnetworking、adbppp(parameters)–RunPPPoverUSB.Note、youshouldnotautomaticallystartaPDPconnection.referstothettyforPPPstream.Eg.dev、/dev/omap_csmi_tty1(parameters)–Eg.defaultroutedebugdumplocalnottyusepeerdnsadbsyncnotes、adbsync()canbeinterpretedinseveralways、-Ifisnotspecified,both/systemand/datapartitionswillbeupdated.-Ifitis“system”or“data”,onlythecorrespondingpartitionisupdated。
五、ADB 命令1、查询设备adbdevices查询手机中的用户adbshellpmlistusers查看设备上的应清碧用包名、adbshellpmlistpackagesadbshellpmlistpackages打印设备/模拟器上的所有软件包adbshellpmlistpackages-f输出包和包相关联的文件脊差adbshellpmlistpackages-d只输出禁用的包。
2、由于本机禁用没有,输出为空。
3、adbshellpmlistpackages-e只输出启用的包。
4、adbshellpmlistpackages-s只输出系统的包。
5、adbshellpmlistpackages-3只输出第三方的包。
6、adbshellpmlistpackages-i只输出包和安装信息(安装来源)。
7、adbshellpmlistpackages-u只输出包和未安装包信息(安装来源)adbshellpmlistpackages-u-3-e组合使用查询带有test的包名adbshellpmlistpackages|findstrtest查询安装包路径adbshellpmpath(PackageName)查询包对应的启动activityadbshellpmquery-activities-aandroid.intent.action.MAIN-candroid.intent.category.LAUNCHER(PackageName)启动应用adbshellamstart-n"(PackageName)/(ActivityName)"-aandroid.intent.action.MAIN-candroid.intent.category.LAUNCHER如答野举、adbshellamstart-n"com.example.test/com.example.test.MainActivity"-aandroid.intent.action.MAIN-candroid.intent.category.LAUNCHER卸载应用adbshellpmuninstall-k--user0(PackageName)-k表示保存数据--user指定用户id,Android系统支持多个用户,默认用户只有一个,id=0如adbshellpmuninstallcom.example.test对所有用户卸载com.example.test且不保存数据停用应用adbshellpmdisable(PackageName)启用应用adbshellpmenable(PackageName)清除应用数据adbshellpmclear(PackageName)设置应用安装位置adbshellpmset-install-location--(0/auto)、默认为自动--(1/internal)、默认为安装在手机内部--(2/external)、默认安装在外部存储获取应用安装位置adbshellpmget-install-location查询操作过程中输出的日志adblogcat>d、log.txt。
六、稳定雷电ld.exe,替换adb shell 教程1、一、找到对应的模拟器打开cmd进入模拟器目录:cd/dD:ChangZhi2dnplayer2 打开模拟器:进入ld程序:ld-s 0 (0代表第一个模拟器,1代表第二个模拟器,对应模拟器的index) 第一个模拟器就是0,第二个模拟器就是依次类推...。
2、除了支持adb这种标准用法,也支持dos输出,获取命令结果。。
3、二、输出在窗口。
4、三、常用Androidshell命令介绍操作文件命令1)移动/复制文件到共享目录ldcp/storage/sdcard0/test.txt /storage/sdcard0/Pictures/test.txt。
5、2)删除sd卡文件ldrm-rf/storage/sdcard0/test.txt。
6、3)读取sd卡文件ldcat/storage/sdcard0/test.txtPM包命令1)获取模拟器所有包名ldpmlistpackages2)获取模拟器所有包名并且包括APK路径ldpmlistpackages-f3)获取包名对应的APK路径ldpmpathpackageName4)清理应用数据ldpmclearpackageName5)安装应用ldpminstall path 6)卸载应用ld pmuninstall packageName。
7、AM命令1)启动应用ldamstart-n包名/Activity类名2)关闭应用ld amforce-stop包名。
8、模拟命令1)模拟输入ld inputtext 2)模拟按键ld inputkeyevent键值3)模拟鼠标点击ld inputtapXY4)模拟鼠标滑动ld inputswipeX1Y1X2Y2属性命令getprop/setpropldsetpropphone.imei865166023949731ldsetpropphone.imsi460000000000000ldsetpropro.product.manufactureriPhoneldsetpropro.product.modeliPhone8ldsetpropphone.linenum13800000000ldsetpropphone.simserial89860000000000000000ldsetpropphone.androidid0123456789abcdef。
七、如何在android程序中执行adb shell命令1、找到对应的模拟器打开cmd进入模拟器目录:cd/dD:ChangZhi2dnplayer2 打开模拟器:进入ld程序:ld-s 0 (0代表第一个模拟器,1代表第二个模拟器,对应模拟器的index) 第一个模拟器就是0,第二个模拟器就是依次类推...。
八、android adb命令详解?1、按“Win”+“R”键打开cmd窗口。如图所示。。
2、在命令行中输入“cmd”,显示如下信息。。
3、adbdevices:查看当前连接设备。这里我们连接手机,可以看到有一个名为“6867ccel”的设备。。
4、adbget-state:用于查看设备的状态。设备的状态有3钟,device,offline,unknown。device:设备正常连接;offline:连接出现异常,设备无响应;unknown:没有连接设备。这里可以看到我们的设备是正常连接。。
5、adbinstallxxx.apk:安装apk应用程序。xxx.apk这里是apk文件的具体路径,也可以用cd命令先进入到放apk文件的路径里再安装。可以看到我们这里安装成功。。
6、adbinstall-rxxx.apk:覆盖安装apk应用程序。当更新新版本时,使用上一个命令无法安装,此时用这个命令覆盖安装。同样是具体路径。如图所示,重新安装成功。。
7、adbuninstallcom.example.app:卸载app。这里要填写的是app的包名。这里我们卸载helloworld应该填写com.example.helloworld。卸载成功。。
8、adbshell:可以进入到设备的shell环境,可以执行各种linux命令。出现了$符号,代表进入了shell环境。。
9、adblogcat:在cmd窗口查看手机的Log日志。输入之后可以看到cmd窗口信息迅速滚动,因为手机里随时都有各种应用的日志输出。。
10、adbdevices:查看当前连接设备。adbget-state:用于查看设备的状态。adbinstallxxx.apk:安装apk应用程序。adbinstall-rxxx.apk:覆盖安装apk应用程序。adbuninstallcom.example.app:卸载app。adbshell:可以进入到设备的shell环境。adblogcat:在cmd窗口查看手机的Log日志。。
九、android adb命令详解1、要使用adb 我们首先要有android 的环境,android还需要java的环境 首先讲如何配置adb,使adb可以在终端使用,也就是在命令行可以使用,配置环境变量,在计算机右键选择属性,我们会看到如下界面,选择【高级系统设置】,然后点击【环境变量】。
2、下面是我配置的android的环境变量和java的环境变量,大家需要自行配置。
3、配置完成后,我们在终端输入adb命令,会看到adb的相关信息。
4、执行adbdevices命令,我们可以看到当前电脑正在连接调试的手机。
5、首先我们学习下,如何拿adb安装apk到某个设备,假如只连接了一台设备,只需要adb installapk的路径就可以直接安装成功,假如有多台设备,我们就需要用到-s选项选择设置编号,设备编号通过上面的adb devices可以得到,完整命令adb -s设备编号install apk的路径,具体执行成功示例,如下图展示。
6、卸载的话直接加adbuninstall包名,就可以直接卸载啦 如何通过adb命令查看设备里面的文件目录和文件呢?可以执行adbshell命令,然后我们会看到如下界面,执行ls可以看到设备的文件和目录, 。
7、这个是根目录可能和我们平常手机上面直接查看文件夹的目录有点不一样,然后我们进入mnt目录,然后在进入sdcard目录,一般就和我们手机展示的一些文件和文件夹就一样了,根据不同手机可能名字稍微有所区别,但是原理一样,如下图,我们进入到这个设备的sdcard目录,可以查看到的内容。
8、上面讲了进入设备目录,如何退出呢?退出很简单,直接执行exit,然后敲回车,我们就又再次回到了我们的终端了。
9、通常我们想直接把文件放到设备里面,除了用windos自带的文件管理器拖动复制文件的方法,我们也可以通过adb命令来实现adbpush要复制的文件复制到手机里面的位置,例如我们需要把文件test.apk放入到手机的sdcard目录下,可以执行命令adbpushtest.apk/mnt/sdcard/test.apk执行完成,我们就可以看到执行结果。
10、接下来就是如何从手机中拉去文件到我们的电脑中,直接执行adb pull手机文件路径需要保存到电脑的位置(可以写路径,保存到自己想要的地址,也可以直接写文件名字,保存到执行终端的当前目录下)我们就拿刚刚放到手机上面的test.apk做示例,把他放到电脑上面命名为testapk。
11、就介绍这么多,我用的终端不是系统的,假如大家用windos的话,想查看当前目录下面的文件,可以用dir命令,ls 是linux下的通用方法,我们也可以通过第三方工具使linux的一些系统命令也能在windos上面使用,例如用windos10系统中的PowerShell,或者安装其他软件。
转载请注明出处阿文说说网 » adbshell命令介绍【adbshell】