![](/img/trans.png)
[英]How to change the IMEI number of a rooted android device via appium or adb?
[英]How to tell if android device detected by ADB?
通过USB连接时,我正在使用ADB将文件从Java应用程序推送到平板电脑。 我希望能够检测ADB是否通过USB连接了设备。 我用来推送文件的代码是:
public void wiredsync(){
try {
abdsourcesync = buildpath;
adbtabletsync = "/mnt/sdcard/test";
System.out.println("Starting Sync via adb with command " + "adb" + " push "+ buildpath + " " + adbtabletsync);
Process process = Runtime.getRuntime().exec("adb" + " push "+ buildpath + " " + adbtabletsync);
InputStreamReader reader = new InputStreamReader(process.getInputStream());
Scanner scanner = new Scanner(reader);
scanner.close();
} catch(IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}//end wiredsync
如果未连接平板电脑,如何修改此代码以解决问题?
谢谢您的帮助。
安迪
通过使用Eclipse插件也使用的ddmlib.jar,可以监视设备的connect / disconnect事件。 ddmlib通常位于Android SDK的tools / lib目录中。 但是没有有关如何使用它的官方文件。 下面是代码示例。 您必须包括ddmlib.jar并根据您的环境更改adb位置。
import java.io.IOException;
import com.android.ddmlib.AndroidDebugBridge;
import com.android.ddmlib.AndroidDebugBridge.IDeviceChangeListener;
import com.android.ddmlib.IDevice;
public class Main {
public static void main(String[] args) throws IOException {
AndroidDebugBridge.init(false);
AndroidDebugBridge debugBridge = AndroidDebugBridge.createBridge("D:\\android-sdk\\platform-tools\\adb.exe", true);
if (debugBridge == null) {
System.err.println("Invalid ADB location.");
System.exit(1);
}
AndroidDebugBridge.addDeviceChangeListener(new IDeviceChangeListener() {
@Override
public void deviceChanged(IDevice device, int arg1) {
// not implement
}
@Override
public void deviceConnected(IDevice device) {
System.out.println(String.format("%s connected", device.getSerialNumber()));
}
@Override
public void deviceDisconnected(IDevice device) {
System.out.println(String.format("%s disconnected", device.getSerialNumber()));
}
});
System.out.println("Press enter to exit.");
System.in.read();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.