Rebooting an Android device without using the standard button and system UI usually requires root privileges or a device owner app. ADB also offers the option to reboot the device through USB or even remotely through WiFi.
The Bugjaeger app supports the ADB protocol and also allows to reboot another Android device through USB OTG or remotely.
Rebooting device remotely might be useful when you have issues with an app that froze, the complete system is hanging, or when you want to force initialization of multiple apps that start after reboot.
In this post I would like to show how to use Bugjaeger to reboot your Android devices connected to the same WiFi network. Later I'll also try to give some tips on how to reboot remotely through Internet. Once you understand how to establish a remote connection, you should additionally be able to execute other commands remotely.
Establishing Connection Through WiFi
Some devices, like Android TV or RPI with Android Things, already have the adbd daemon configured to accept remote ADB connections. For other devices this needs to be done manually. You can do this with the following ADB Command
adb tcpip <port_number>
The default port number is usually 5555.
Bugjaeger also allows to connect in the same way. You just need to follow the instructions below. To make instructions easier to follow, I'll call the device that has Bugjaeger installed the host. The device that we want to control will be the target.
To create a remote ADB connection between host (Bugjaeger) and target, do the following
-
Enable Developer options AND USB debugging on target device. Check out the official docs, if you're not sure how to do this
-
Start Bugjaeger app on host device
-
Connect host and target through USB OTG cable
-
Authorize Bugjaeger app to access the connected USB device on host
-
Authorize ADB connection on target.
-
Switch to Commands section in Bugjaeger app (first tab)
-
Execute the Connect Through WiFi command in Bugjaeger
If you're familiar with ADB, the steps above will have the same effect as executing adb tcpip 5555
. This will set the property service.adb.tcp.port
on the target to the specified port. The target should now be ready to accept wireless ADB connection via TCP/IP on port 5555.
To connect to the target, open the connect dialog by tapping the connect button.
Then type in the target IP address, and tap on Connect
You can find target's IP address in advanced WiFi settings (in target's Android settings), or directly via Bugjaeger by executing the command Get WiFi IP address.
Rebooting Target Device
Once you've been able to establish a remote connection, you can perform the reboot command. First make sure that the right target device is selected in the top spinner (if there are multiple devices connected) and then tap on the execute button next to the Reboot device command on the Commands tab.
Note that if your device wasn't configured to receive ADB connections over TCP/IP initially (as is the case on most phones/tablets), the remote connection gets lost. Therefore you'll need to reconnect devices through USB OTG and perform step 7 again after reboot.
Remote Connection Via Internet
It is also possible send the reboot command to your target device over Internet.
There are however some requirements that need to be fulfilled to make connection over internet possible
- public IP address
- control over your router's configuration
For this to work, you need to configure port forwarding on your router behind which you have your target device. The router configuration interfaces vary a lot, so I cannot give you the exact steps how to do this. You'll need to forward outbound traffic from port 5555 to your target devices IP address with the same port.
You should be able to find your targets IP address in Android's WiFi settings or directly in Bugjaeger by executing the command Get WiFi IP address.
There are many services that will give you your public IP address.
Configuring your router incorrectly could expose your local network to some security risks, so make sure you know what you are doing.
Performing Other Commands Remotely
Once you establish a remote connection to your target device from Bugjaeger, you'll be able to perform many other commands remotely.
I suggest that you check out my other posts about Bugjaeger.
The other thing that you can do (which I like the most) is to figure stuff out through experimentation.
Conclusion
Bugjaeger can be a powerful tool in your Android app arsenal, if you learn how to use it . It offers functionality from 2 well known development, debugging, and flashing tools - ADB and Fastboot.
One of the things that it can do is controlling Android devices remotely when they're connected to the same WiFi network. Download Bugjaeger from the following link
https://play.google.com/store/apps/details?id=eu.sisik.hackendebug
If you're want to extract various information about apps, or you'd even like see how particular apps work internally, I also recommend to check out my Power APK app.
https://play.google.com/store/apps/details?id=eu.sisik.apktools