Androidの端末のIPを見るのが面倒で、そのIPを間違いなく手入力するのが面倒だなーって、自動的にできないかなと思ってつまらないアプリを作った。
再表示釦を押すとWiFi接続のIPアドレスなどが表示される。
その後、
REM set ADB connection to IP
ChangeAdbConnectionToTcpIp 192.168.13.135
のようなテキストを共有しようとする。IPアドレスは先ほど表示したIPアドレスである。
このとき、共有先をエディタ(Jota+など)にすると、所謂テキストコピーされる。
Jota+でファイル共有させると、ファイル保存(画面有り)して、共有先の問い合わせとなるので、bluetoothを選択して、bluetoothをPCと接続しておけば、そこで保存したファイルをPCに送ることができる。
REM set ADB connection to IP.txt
上記のテキストを受け取ったPCは拡張子を.batにする。
REM set ADB connection to IP.bat
そして、
http://2den.blogspot.jp/2014/06/android-debug-bridge-wifi.html
で作ったバッチファイルを
@echo off
REM ----------------------------
REM ----------------------------
set ADB_IPADR=%1
echo %1
C:
cd C:\Android\android-sdk\platform-tools
set ADBHOST=%ADB_IPADR%
adb kill-server
timeout /T 2
adb start-server
timeout /T 2
adb connect %ADB_IPADR%:55555
timeout /T 10
adb devices
pause
として、
ChangeAdbConnectionToTcpIp.bat として保存しておく。
REM set ADB connection to IP.batを実行すると、WiFiデバッグが設定される。
まあ、ここまでやるのなら手で操作すればってことだよね。
まあ、参考のため、アプリのソースの核だけでも。
WifiManager wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
if (wifiManager == null)
{
Toast.makeText(this, "WIFIアクセスできませんでした。", Toast.LENGTH_LONG).show();
return;
}
WifiInfo w_info = wifiManager.getConnectionInfo();
int ip_addr_i = w_info.getIpAddress();
String ip_addr = ((ip_addr_i >> 0) & 0xFF) + "." + ((ip_addr_i >> 8) & 0xFF) + "." + ((ip_addr_i >> 16) & 0xFF) + "." + ((ip_addr_i >> 24) & 0xFF);
((TextView)findViewById(R.id.txtIP)).setText(ip_addr);
((TextView)findViewById(R.id.txtSsid)).setText(w_info.getSSID());
((TextView)findViewById(R.id.txtMac)).setText(w_info.getMacAddress());
String netid = "";
netid = String.format("%d", w_info.getNetworkId());
((TextView)findViewById(R.id.txtNetId)).setText(netid);
Toast toast = Toast.makeText(this, "表示を更新しました。", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.TOP, 0, 0);
toast.show();
String strADBcmd = "";
strADBcmd = String.format("REM set ADB connection to IP \r\nChangeAdbConnectionToTcpIp %s\r\n", ip_addr);
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, strADBcmd);
sendIntent.setType("text/txt");
startActivity(sendIntent);
でも、うまく行かない時がある。結局、USB接続しなおして、 adb tcpip 55555をやらないとうまくいかないな。
0 件のコメント:
コメントを投稿