air for android 调试命令,android 开启wifi adb调试工具(Air-DB)

【实例简介】

【实例截图】

【核心代码】

package com.h2byte.www.airadb;

import android.content.Context;

import android.net.wifi.WifiInfo;

import android.net.wifi.WifiManager;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.widget.Button;

import android.widget.LinearLayout;

import android.widget.TextView;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.sql.BatchUpdateException;

public class MainActivity extends AppCompatActivity {

private TextView mTextViewStatus;

private LinearLayout mHiddenLayout;

private TextView mTextViewIP;

private TextView mTextViewPort;

private Button mADBButton;

private String mPort = "5555";

private static String TAG = "Air ADB";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

adb("start");

Log.d(TAG, "ADB listening port: " getPort());

setText("start");

mADBButton.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

String port = getPort();

if (port.equals("-1")) {

adb("start");

setText("start");

}

else {

adb("stop");

setText("stop");

}

Log.d(TAG, "ADB listening port: " getPort());

}

});

}

private String getIP() {

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);

WifiInfo wifiInfo = wifiManager.getConnectionInfo();

int IP = wifiInfo.getIpAddress();

int mask = 0xff;

return String.format("%d.%d.%d.%d",

IP & mask,

IP >> 8 & mask,

IP >> 16 & mask,

IP >> 24 & mask);

}

private String getPort() {

String cmd = "getprop service.adb.tcp.port";

String port = "-1";

try {

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

Process proc = Runtime.getRuntime().exec(cmd);

BufferedReader in = new BufferedReader(new InputStreamReader(proc.getInputStream()));

port = in.readLine();

return port;

} catch (IOException e) {

e.printStackTrace();

}

return port;

}

private void adb(String action) {

String cmd = "setprop service.adb.tcp.port ";

if (action.equals("start")) {

cmd = cmd mPort;

} else {

cmd = cmd "-1";

}

String[] cmds = {"su", cmd, "stop adbd", "start adbd"};

try {

// Runtime.getRuntime().exec(cmds);

//can not exec array. use loop instead.

for (String c : cmds) {

Runtime.getRuntime().exec(c);

}

} catch (IOException e) {

e.printStackTrace();

}

}

private void setText(String action) {

mTextViewStatus = (TextView) findViewById(R.id.adb_status);

mHiddenLayout = (LinearLayout) findViewById(R.id.hidden_layout);

mTextViewIP = (TextView) findViewById(R.id.IPAdress);

mTextViewPort = (TextView) findViewById(R.id.port);

mADBButton = (Button) findViewById(R.id.adb_button);

if (action.equals("stop")) {

mTextViewStatus.setText(R.string.adb_stopped);

mHiddenLayout.setVisibility(View.INVISIBLE);

mADBButton.setText(R.string.adb_start_button);

}

else {

mTextViewStatus.setText(R.string.adb_started);

mHiddenLayout.setVisibility(View.VISIBLE);

mTextViewIP.setText(getIP());

// mTextViewPort.setText(getPort());

mTextViewPort.setText("5555");

mADBButton.setText(R.string.adb_stop_button);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值