码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2014-06-27 18:16:58      阅读:287      评论:0      收藏:0      [点我收藏+]

标签:android   class   blog   http   java   tar   

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

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

bubuko.com,布布扣

 

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

$AndroidConnector -c 192.168.1.10

$AndroidConnector 192.168.1.10
$AndroidConnector -c 1.10
$AndroidConnector 1.10

 bubuko.com,布布扣

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

$AndroidConnector -d 192.168.1.10

$AndroidConnector -d 1.10

 bubuko.com,布布扣

你可以在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实现无线连接安卓设备,布布扣,bubuko.com

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

标签:android   class   blog   http   java   tar   

原文地址:http://www.cnblogs.com/geequlim/p/3809818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!