Have you tried this simple solution
For Windows: Install USB drivers from Android SDK
Connect USB cable and activate USB Tethering. You should see on linux or windows a new network interface.
On windows, Bridge the 2 network interfaces
Setup usb0 interface of your phone. You have two options:
From your computer, execute:
./adb shell netcfg usb0 dhcp
Or in a terminal on your phone, type:
su
netcfg usb0 dhcp
for run adb command from your android application you could use
String exeeCmd = "netcfg usb0 dhcp";
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec(exeeCmd);
} catch (IOException e) {
e.printStackTrace();
}
apply required permitions