利用ADB实现无线连接安卓设备

昨天用C++写了个命令行工具,我在Linux下用g++编译的。可以实现无线ADB快速连接安卓设备,不过其他平台需要重新编译源代码。

要求计算机已经把adb 添加到系统环境变量中,安卓设备获取root权限并开启无线调试,推荐使用adbWirless。

在shell 中输入以下命令都可以连接到 192.168.1.10 设备上,并列出当前已经连接的设备

$AndroidConnector -c 192.168.1.10

$AndroidConnector 192.168.1.10
$AndroidConnector -c 1.10
$AndroidConnector 1.10

在shell中输入以下命令可以断开已连接的设备并列出当前已经连接的设备

$AndroidConnector -d 192.168.1.10

$AndroidConnector -d 1.10

你可以在shell 中输入以下命令来查看帮助文档

$AndroidConnector --help

  

以下是该命令行工具的源代码,需要自行编译。

/******************* AndroidConnector *************************/
/*				       By Geequlim                 				   */
/**************************    2014   *****************************/

#include <iostream>
#include <string>
#include <cstdlib>
#include <cstring>

using namespace std;

///show informations
bool showInfo(const char* arg)
{
	if(strcmp( arg,"--help" )==0)//show help
	{
		cout<<"Wirless adb helper \n"
			"NOTIC:\n"
				"     You must keep debugable for you Android device first!\n"
				"     Your system should added the adb to the PATH!\n\n"

			" To connect device:\n"
			"-c ip 	( $AndroidConnecter -c 192.168.1.10 ) \n"
					"    or the device ip  ( $AndroidConnector 192.168.1.10  )\n\n"

			" To disconnect device:\n"
			"-d ip 	( $AndroidConnector -d 192.168.1.10 )\n\n"

			" To disconnect all devices:\n"
			"-d all\n"
			"-d\n\n"

			"If your the ip starts with \"192.168\" : \n"
					"   ($AndroidConnector -d 1.10)\n"
				" It is the same  as ($AndroidConnector -d 192.168.1.10 )\n"
			<<endl;
		return true;
	}
	else if( strcmp(arg,"--version")==0)//show version
	{
		cout<<"AndroidConnector  0.1.1\n"
			"Copyright (C) 2014 Geequlim\t"
            "Compile on "__DATE__
			<<endl;
		return true;
	}
	return false;
}

int main(int argc , char * argv[])
{
	string command="adb connect ";
	string input;
	string ipAdress="192.168." ;
	if( argc>=2   )
	{
		if( argc>=3 )//more than 2 arguments
		{
			if (strcmp( argv[1] , "-d" ) ==0 )
				command = "adb disconnect ";
			//disconnect all
			if (strcmp( argv[2],"all")==0)
				ipAdress=" ";
			else //disconnect target
				input = argv[2];
		}
		else//1 or 2 arguments
		{
			//if the second argument is not --help or --version but -d or ip adress
			if(showInfo(argv[1])==false)
			{
				if (strcmp( argv[1] , "-d" ) ==0 )//disconnet all devices
				{
						command = "adb disconnect ";
						ipAdress = " ";
				}
				else
					input = argv[1];
			}
			else
				return 0;
		}
	}
	else
	{
		cout<<"Input your phone ip adress :"<<flush;
		cin>>input;
	}
	if( argc>1 && strcmp(argv[1],"-d") && input.size() <3 )
	{
		cerr<<"Worr Input!"<<endl;	return 1;
	}
	else if(  input.size()<8)
		ipAdress+=input;
	else if (  input.size()>15 || (input.size()< 11&&(input.size()>=8)) )
	{
		cerr<<"Worr Input!"<<endl;  return 1;
	}
	else
		ipAdress = input;

	cout<<command+ipAdress<<endl;
	system( (command+ipAdress).c_str() );
	system("adb devices");
	return 0;
}

  

  

利用ADB实现无线连接安卓设备

时间: 2024-10-04 12:20:24

利用ADB实现无线连接安卓设备的相关文章

使用PS3手柄连接安卓设备玩游戏

背景 在索尼公司的 PS3 游戏机里面,游戏手柄是通过蓝牙协议与游戏主机进行无线通信的,一个名为 Dancing Pixel 的开发商开发了一款名为 Sixaxis Controller 的安卓应用,实现了 PS3 手柄与安卓设备(安卓手机或者平板)的蓝牙连接,现在我们有机会直接使用 PS3 手柄在安卓设备上面玩游戏了. 硬件要求1:PS3 手柄 + 手柄配套的USB线 以下简称"手柄"和"USB线",如下图所示: 硬件要求2:已经获得 ROOT 权限并且支持蓝牙的

adb通过wifi连接android设备

打开手机usb调试,将手机通过usb与设备终端连接 由于手机默认adb是usb连接模式,通过上述操作已经能够通过adb操作手机了. 安全起见,在设备终端输入 adb devices 命令确认是否能发现手机 在设备终端输入 adb tcpip 5555 修改手机上adb连接模式 在设备终端输入 adb connect phone_ip 进行连接,如果连接成功,便能同usb连接一样使用adb的各种命令操作手机 参考

ubuntu连接安卓设备

1.首先安装MTP软件 apt-get install mtpfs libmtp-common mtp-tools libmtp-dev libmtp-runtime libmtp9 2.编辑/etc/fuse.conf文件 #/etc/fuse.conf - Configuration file for Filesystem in Userspace (FUSE) #Set the maximum number of FUSE mounts allowed to non-root users.

adb 无线连接手机设备

连接语法: $ adb connect ip:port 断开连接: $ adb disconnect ip:port 可能遇到问题:unable to connect to 192.168.199.248:5555: Connection refused 解决办法(设置监听端口): su 切换root $ setprop service.adb.tcp.port 5555 //设置监听端口 $ stop adbd $ start adbd 注意事项: 1.Android设备需要开启USB调试.

adb 通过 WiFi 连接 Android 设备

PC 和 Android 设备连接在同一个局域网. 查看 Android 设备的 IP:设置 > WLAN > 选择连接的WiFi > 查看IP地址. PC 端执行: ping <Android-IP> ,确认可以相互通信. 连接,PC 端执行: adb connect <Android-IP> .ps:首次连接的时候可能会报错:由于目标计算机积极拒绝,无法连接. (10061).此时,需要用adb tcpip模式重启adb(还是得用USB线连上手机操作...) 

[转] 在安卓设备上使用 Chrome 远程调试功能

你的网页内容在移动设备上的体验可能和电脑上完全不同.Chrome DevTools 提供了远程调试功能,这让你可以在安卓设备上实时调试开发的内容. 安卓远程调试支持: 在浏览器选项卡中调试网站. 在原生安卓应用中调试网页内容. 将屏幕从你的安卓设备上投影到你的开发机器上. 使用端口转发和虚拟主机映射来让安卓设备访问开发使用的服务器. 需求 要开始远程调试,你需要: 安装 Chrome 32 或者之后的版本. 连接安卓设备用的 USB 线缆. 对于通过浏览器调试:安卓 4.0 以上并且安装了 Ch

使用无线调试Android设备

USB调试 USB调试插线什么的很麻烦,手机的USB口容易损坏,多台设备的时候更是烦恼多多 AdbWireless的使用 https://github.com/Skywriter-se/adbWireless 这个APK允许设备通过wifi网络进行调试,使用起来很简单. 安装APK(手机必须ROOT),点击中间的大按钮就启动了,在下方会显示 adb connect 192.168.0.96 的字样 在PC上运行 adb connect 192.168.0.96 , 提示 already conn

电脑连接多个安卓设备时 如何对指定安卓手机 执行adb命令

在日常工作中我们常常会用一台电脑连接多个测试机去进行测试 但此时会遇到一个问题,不取消连接的情况下如何对指定的设备进行adb命令呢 只需要两个步骤就可以完成 第一步: win+r 运行打开cmd, 执行命令adb devices 查找到已连接的设备id号 第二步: 执行 命令:adb -s 你的设备id   你要操作的命令 如下图 我要对 指定设备安装某个apk执行 命令为 : adb -s FUKRZ9MF99999999  install  C:\Users\lenovo\Desktop\f

ADB如何连接安卓模拟器

adb全名Andorid Debug Bridge. 顾名思义, 这是一个Debug工具.       然而, 为何称之为Bridge呢? 因为adb是一个标准的CS结构的工具, 是要连接开发电脑和你的调试手机的.包含如下几个部分: Client端, 运行在开发机器中, 即你的开发PC机. 用来发送adb命令. Deamon守护进程, 运行在调试设备中, 即的调试手机或模拟器. Server端, 作为一个后台进程运行在开发机器中, 即你的开发PC机. 用来管理PC中的Client端和手机的Dea