精华内容
下载资源
问答
  • 远程adb调试
    千次阅读
    2015-03-20 21:57:59
    搞移动开发这么多年了,相信大家常常碰到这样的烦恼问题:我们开发的App应用,明明自己测试好好的,部署到用户的安卓设备上之后,总是遇到种种奇怪而又不好找到原因的问题。虽然说Android系统硬件差异大,各个厂商的设备系统实现细节不尽相同,但作为App开发者,我们总不能把问题这么推掉吧,App要不断完善,Bug还是要解决不是。解决Bug的最好途径莫过于跟踪调试,分析日志输出啦。要用户把Ta的安卓设备寄来调试吗,No way!!!怎么办?

    呵呵,互联网真的很神奇,只要你肯耐心去搜索,总会找到你想要的东西。这不,最近百度找到的“手机云控制”,却是一款开发者们求之不得工具软件,它可以跨互联网远程连接到安卓设备,启动远程ADB,然后在自己电脑上用Eclipse直接跟踪调试,可以看到Log输出,非常棒;当然了,可以远程观看并控制安卓设备的屏幕显示,以及远程文件操作,极大地方便了开发调试。

    出于分享的目的,我把安装使用过程简单记述一下:

    首先,当然是要在安卓设备端安装一个软件,叫“手机云控制”受控端软件,App显示名为“安卓调试服务”。

    将手机受控端rar压缩包下载到电脑上,解压缩,如下所示,将受控手机通过USB数据线连接电脑,根据“安装说明.txt”说的步骤进行安装

    [img]http://dl2.iteye.com/upload/attachment/0106/8555/e520640c-73d7-39c3-8061-119ac4eb7b8d.png[/img]


    2) 启动电脑版控制端软件,最开始列表是空的,首先要“添加受控端”,其受控端ID和连接密码就是第(1)步设置界面中的:

    [img]http://dl2.iteye.com/upload/attachment/0106/8553/0c8cd125-8434-3a11-a1a1-b82007915986.png[/img]


    3)添加受控端后,如果它在线,可以鼠标单击它,弹出连接菜单,如下图

    [img]http://dl2.iteye.com/upload/attachment/0106/8551/a3b94ff8-0a93-33a6-bf21-031c820da1b2.png[/img]


    4)连接成功后,出现连接对话框,有很多功能按钮,点击“屏幕监控”按钮,打开受控手机的屏幕画面:

    [img]http://dl2.iteye.com/upload/attachment/0106/8549/28f1a3d4-26dd-389c-bbd8-b3f1f11d813b.png[/img]


    5)在连接对话框,点击第二个标签项,就是远程调试界面,可以远程shell,可以启动ADB调试:


    [img]http://dl2.iteye.com/upload/attachment/0106/8547/c22fab3d-17de-3dd5-a3a6-bd7c7f197c18.png[/img]

    点击“启动远程ADB”,打开你的Eclipse,直接搞你的App吧。。。就像用N长的USB数据线连接远方的安卓手机一样,当然,USB线信号走不了这么远哦

    “手机云控制”免费可用,无限制,否则我也不会说这么多了。各种功能都是比较流畅的,目前感觉软件界面做的不怎么样,毕竟面对的是开发者而不是最终用户吧,
    记得远程连接的时候手机尽量用wifi吧,不要给移动联通赚太多!
    更多相关内容
  • adb驱动,支持远程网络调试
  • 远程adb调试手机

    千次阅读 2018-09-19 14:39:14
    平常开发时,我们都是直接用数据线连接手机或设备,然后进行调试。那么有没有一种场景,我们无法用数据线连接,又或是不方便用数据线连接的时候呢?答案是肯定的。这个时候,adb命令就可以大做文章了。 1.条件  1...

    前言

    平常开发时,我们都是直接用数据线连接手机或设备,然后进行调试。那么有没有一种场景,我们无法用数据线连接,又或是不方便用数据线连接的时候呢?答案是肯定的。这个时候,adb命令就可以大做文章了。

    1.条件

           1)root过的手机:因为我们需要启动adbd端口,所有需要使用adb命令,但是一般手机或用去却没有该权限;

           2)手机或设备与电脑处于一个局域网内

     

    2.手机或设备安装connect-apk,启动connect-apk

    如果我们不安装,而是直接用adb connect ip去连接手机或设备的话,会出现这个错误:

    或者这样:

    该apk主要用于在手机或设备上执行以下命令:

    1)setprop service.adb.tcp.port 5555
    2)stop adbd
    3)start adbd

    apk下载链接:https://download.csdn.net/download/fwt336/10676412

    如果没有显示出ip,则可以通过“设置-->关于手机-->状态信息“”中的IP地址,来查看ip:

    3.连接手机或设备

    使用命令:adb connect ip

    看到如下图,则表示已经连接成功:

     

    现在你就可以不用通过数据线来调试手机或设备了

     

    展开全文
  • AndroidTV开发9远程adb调试设备

    千次阅读 2020-10-22 00:00:01
    远程ADB调试. 前提是配置好adb环境变量,关于怎么配置ADB环境变量这里就不讲了,和配置Java环境变量一样简单,不会的可以参考如下博客如何配置adb环境变量:...

    前言:

    上一篇我们分析了TV开发中View获得焦点时放大缩小效果封装演化之路,这一篇我们讲一讲TV开发中的远程调试问题

    1.首先我们说一说Android开发中怎么连接远程TV和盒子?即远程adb调试.

    2.前提是配置好adb环境变量,关于怎么配置adb环境变量这里就不讲了,和配置Java环境变量一样简单,不会的可以参考如下博客如何配置adb环境变量:

    Android Studio配置adb环境变量和使用adb_songzi1228的博客-CSDN博客

    3.常用的adb命令如下:

    3.1 进入adb调试 adb shell

    3.2 连接远程设备的adb命令:adb connect (192.x.x.x)

    192为你设备的ip地址,TV或者盒子都行,这里远程的设备必须和你的电脑在同一个局域网下,不管wifi还是网线都可以,这里已经亲测公司的TV连接网线可行.

    3.3 断开远程连接的adb命令:adb disconnect

    假如你连接了多个远程设备想断开某个设备就可以用上面的命令

    3.4 远程安装apk的命令:adb install

    (D:\CardScroll\app\build\outputs\apk\debug/app-debug.apk)

    3.5 卸载apk的命令如下:adb uninstall

    你的apk包名(如com.example.test)

    4.实战一下上面的各种命令,这里以小米盒子为例:

    4.1 连接设备命令:adb connect 10.0.1.165(这里的ip地址为盒子的ip),

    4.2 连接成功的截图如下:

    img

    img

    4.3 断开远程设备:adb disconnect

    img

    4.4 远程安装apk:

    安装之前在远程设备上有一个同意安装提示,点击同意即可,截图如下:

    img

    4.5 adb安装成功后的截图如下:adb install apk路径

    img

    4.6 卸载apk命令和截图如下:adb uninstall 应用包名

    img

    总结:以上就是TV开发中远程调试adb命令和实践,下一篇将讲解如何在各大厂商不开放调试权限情况下调试远程设备和安装apk.

    展开全文
  • 前排提示本文中所描述工具只在ROOT过的设备上有效,如果不感兴趣的朋友可以点赞后退出了,也可以去github给我点个星星,源码地址在这里写在开始前每次重启测试机都要连接usb才能开始远程adb调试,真麻烦,能不能弄一...

    前排提示

    本文中所描述工具只在ROOT过的设备上有效,如果不感兴趣的朋友可以点赞后退出了,也可以去github给我点个星星,源码地址在这里

    写在开始前

    每次重启测试机都要连接usb才能开始远程adb调试,真麻烦,能不能弄一个软件点一下就能开始远程调试呢?

    如果对什么是adb远程调试不熟悉的朋友,可以搜索下adb tcpip 5555这条命令

    为了解决每次重启都要连接一次电脑的问题,经过了大量的网络搜索,终于解决了这个问题。

    本文记录了从提出问题到解决问题的全过程。

    提问环节

    1.为什么要做这个工具?

    adb提供的远程调试工具不香吗,为什么还要没事找事折腾半天来做这个工具

    2.怎么实现不连接Usb启动adb的远程连接模式?

    通过往常的经验来看,各种实现远程调试的插件都需要连接一次usb,看起来不用usb好像不太现实,但是经过调研,确实是可以的

    3.找到方法了之后,执行哪些命令才能达到我们的目的?

    看似简单的几行命令,到了Android手机上怎么就老跑不通呢

    ** 带着上面这几个问题,我们开始今天的探索吧**

    为什么

    博主有一台很棒的测试机,它叫小6,小6有很多优点,速度快,体积小,操作简单。

    既然小6如此优秀,为什么还会有这篇博客呢,其实小6有一个致命问题,电池不耐用,毕竟已经退役成测试机了嘛。

    每次博主要远程调试的时候,小6都需要重新连一次电脑,对于一个电脑只有两个usb口的博主来说,这个过程非常的痛苦,特别是小6的电池又不耐用,每天晚上都会自动关机睡一觉。

    所以博主我想,能不能把连电脑这一个步骤转移到手机上执行呢,看着命令也挺简单的,只有一行

    感觉我上我也行嘛,说做就做,马上来试试

    adb tcpip 5555

    复制代码

    adb tcpip 5555 做了些什么

    这是一条神奇的命令,手机开启调试模式,连上电脑之后,运行它,我们就可以用ip连接手机,不用数据线调试程序了

    经过一番查找,我们发现,这条命令发送了几条命令给手机

    1.设置service.adb.tcp.port为5555

    2.重启手机上的adb

    搜到这里,博主激动了起来,看起来好像很简单啊,我在手机上也这么操作不就行了,马上去找找怎么在手机上执行命令行

    在手机上运行它们!

    Android上有很多命令行工具,博主随便找了一个,叫做Termux,运行了上面两条命令

    52d7e53ae232d5eefefec81549d8ab3f.png

    报错了,not found 是什么鬼?经过一番搜索,原来是没有root权限

    ** 那我们只有去root手机了**

    我们来看看root之后再运行怎么样

    6cbb22ac552c04e6bf181d466878dc5c.png

    在获取root权限之后,报错消失了,太好了!

    我们继续运行接下来两个命令

    95128d5d009f5ade9ed2b459cac5c608.png

    运行成功了,我们现在就可以在电脑上用下面的命令来连接手机了

    adb connect 手机的ip:5555

    复制代码

    在自己的代码里运行命令

    目前为止,一切都很顺利,我们不想用第三方的app,自己写一个程序,点一下,玩一年,不用数据线一整年

    怎么在代码里运行shell命令呢?

    经过又一番搜索,博主找到了几种方法,最终选定了下面这种,su可以替换成其他命令

    Runtime.getRuntime().exec("su")

    复制代码

    让我们行动起来,运行三行命令吧

    3edd6231bde5af66d9dc5f4bb7c9a503.png

    好像没有作用,尴尬

    对比三方应用和自己的命令

    通过对比,我们发现第三方的客户端的用户好像不太一样啊,经过搜索,我们发现是它调用了一下/system/bin/sh

    a4f49da956774037fe5003a79a751f28.png

    我们也得给自己的代码加上才行

    我们看看改完之后的命令

    c59235ffad6eea554fd54da0770a8a67.png

    运行检测一下,成功啦!

    优化一下使用体验

    现在我们实现了基本的功能,但是不太友好,对于没有root的用户我们要提醒他,你不能用这个玩意,对于已经root的用户,操作成功了我们要提示他现在的ip是什么,用什么命令连接

    这个很简单,弄完就像下面这样,其中的ip我们要去获取手机现在的ip地址

    d87cba5c1be12f2dffb987d5530d841f.png

    7cd666cb749c0e3a915e73633ecd7023.png

    放出代码

    前面比比了那么多,代码拿出来看看啊,别急,下面就是完整的代码

    class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {

    super.onCreate(savedInstanceState)

    val wm = applicationContext.getSystemService(WIFI_SERVICE) as WifiManager

    val ip: String = Formatter.formatIpAddress(wm.connectionInfo.ipAddress)

    AlertDialog.Builder(this).setMessage("该程序仅工作在拥有root权限设备上,如果没有root,请连接usb并使用下列命令进行远程调试\nadb tcpip 5555\nadb connect $ip:5555").setPositiveButton(

    "确认"

    ) { _, _ ->

    val commands = arrayListOf(

    "/system/bin/sh",

    "setprop service.adb.tcp.port 5555",

    "stop adbd",

    "start adbd"

    )

    try {

    RunAsRoot(commands)

    } catch (e: IOException) {

    e.printStackTrace()

    }

    }.setCancelable(false).show()

    }

    private fun RunAsRoot(cmds: ArrayList) {

    val p = Runtime.getRuntime().exec("su")

    val os = DataOutputStream(p.outputStream)

    for (tmpCmd in cmds) {

    os.writeBytes(

    """

    $tmpCmd

    """.trimIndent()

    )

    }

    os.writeBytes("exit\n")

    os.flush()

    val wm = applicationContext.getSystemService(WIFI_SERVICE) as WifiManager

    val ip: String = Formatter.formatIpAddress(wm.connectionInfo.ipAddress)

    AlertDialog.Builder(this).setMessage("设置完成,请在同一局域网下使用以下命令连接设备\nadb connect $ip:5555").setPositiveButton(

    "确认"

    ) { _, _ -> finish() }.setCancelable(false).show()

    }

    }

    复制代码

    相信看完上面的介绍,代码应该不难看懂,如果不想自己写,可以去这里找到源码,直接复制粘贴一把梭

    问题回顾

    让我们来看看最开始的几个问题,总结一下

    1.为什么要做这个工具?

    我们的测试机可以重启后不连接usb启动远程调试模式啦!

    2.怎么实现不连接Usb启动adb的远程连接模式?

    在代码里运行命令就可以了,用Runtime.getRuntime().exec(你的命令)

    3.找到方法了之后,执行哪些命令才能达到我们的目的?

    下面这些

    su

    /system/bin/sh

    setprop service.adb.tcp.port 5555

    stop adbd

    start adbd

    复制代码

    写在最后

    终极问题,能不能不用root实现这套操作?不能,即使设置端口成功了,重启手机上adb的操作也需要su权限,所以不root是不行的,遗憾

    那么大家下次再见

    展开全文
  • adb驱动,且支持远程网络调试调试方法见作者“android ADB 远程调试”帖子
  • ADB远程调试Android设备

    2021-12-03 09:59:03
    文章目录ADB调试Android设备一、USB方式1.Android设备处于开发者模式2.USB连接Android设备3.adb命令进行安装等操作二、网络方式(ADB远程调试Android设备)1.确定Android设备的ip地址2.打开DOS窗口,连接设备3.连接...
  • Android Platform Tools并解压,解压后可以看到文件夹platform-tools,里面包含adb调试工具。大概是这样的 二、解压后,需要提取路径:红框内的路径复制(这里需要注意红框内的路径保持一致) 三、打开环境...
  • ADB无线调试
  • Android调试技巧之远程连接adb

    千次阅读 2021-07-06 09:19:34
    ADB WIFI】简单三步实现通过wifi连接adb 一、前提条件### ①两台设备需连接同一wifi ②设备需要有root权限 二、连接步骤### ①开启wifi adb连接(需要usb数据线连接,找到adb devices) wucaiyundeMacBook-Pro:~ ...
  • 在之前的一篇文章《360电视助手实现研究》中介绍了在局域网内直接通过adb安装应用,本文接下来继续介绍adb一点有意思的小东东。本系列之所以取名《adb的那点小事》是由于,仅仅想介绍一些有意思的并且平时大多数人...
  • (在下面操做以前以前,我将手机进入开发模式,打开USB调试,而后打开‘网络ADB模式’)shell接下来,vim1. 插入用USB和电脑链接网络 在在AS下面的选择Terminal,这里面。tcp1. 重启手机上的adbd,开启网络调试功能:...
  • Android一键开启远程ADB调试

    万次阅读 2015-07-03 20:00:57
    由于开发的APP的涉及硬件特殊性,APP一定要跑在真机上才能正确运行,并且与硬件联调的时候,是采用OTG形式进行通讯,所以导致了一个问题:USB口都被暂用了,我还调试个毛呢?那肿么办,总不能降低自己的软件开发效率...
  • 下载 adb 工具,对应平台如下: 解压工具,在文件夹内运行终端, 查看是否可以运行(不用必要添加环境变量)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f3ZP47YE-1654749441687)...
  • Android adb远程调试

    万次阅读 多人点赞 2018-01-26 14:16:55
    adb本身提供了网络调试的功能,所以,在不能直接用USB连上Android手机的情况下,可以使用WiFi连接adbd进行调试。具体方法如下: 方法一 临时使用 如果只是暂时需要用WiFi连adb: 1. 手机、PC连上AP,...
  • 开启ADB网络调试 # setprop service.adb.tcp.port 5555 # stop adbd # start adbd 连接: $ adb connect 192.168.0.100 以上这篇Android开启ADB网络调试方法就是小编分享给大家的全部内容了,希望能给大家一个...
  • 先说原理,打开wifiadb调试,搭建虚拟局域网,实现远程/异地adb调试。 原理说清楚了对于大佬来说很简单,主要是和我一样的小白,这里在说一下过程。 打开wifiadb调试这个不用多说,百度一搜一大把,很简单就能实现...
  • 安装ADB调试工具,实现远程控制手机 包管理工具 Openwrt 使用okpg包管理工具可以执行以下代码更新或者安装一些软件包: opkg update opkg install XXX opkg remove XXX 外挂网卡 安装usb驱动及usb网卡驱动 opkg ...
  • 本文为大家汇总了Android Studio ADB网络调试的使用方法,供大家参考,具体内容如下 随着技术的发展,现在的安卓手机大部分开始使用type-c接口了,这对于我们安卓程序猿来说也不是件好事情哈,如果要在不同版本手机...
  • 局域网远程adb调试

    千次阅读 2016-02-01 14:52:15
    1. 执行stop adbd;setprop service.adb.tcp.port 5555;start adbd命令更改adb tcp端口号为5555, ...2. pc与调试的板子连接到同一个局域网,adb connect 板子的IP地址 连接成功后,adb可以正常调试了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,746
精华内容 3,098
关键字:

远程adb调试