Yesterday I uploaded ADB Toggle and made it non-available on devices running Android 4.4 and later. It will keep working on devices running Android 4.3 and earlier, but 4.4 is no longer supported.
First off, sorry to the people who kept waiting for an update. I’m currently busy developing a new app and didn’t look into ADB Toggle until yesterday. I quickly fixed an issue which I thought was the reason, but sadly it wasn’t. ADB Toggle uses a little trick to do what it can do: when installed as system app it can use system privileges to toggle USB debugging. It seems the Android team changed this with the 4.4 release and now ADB Toggle no longer gets the permission to toggle USB debugging, even though it is installed as system app.
There could be other ways to still do this by using root access, but the point of this app was to not need any root after installation. It would also require some more development work which I honestly don’t want to spend. People more familiar with Android security probably already know that since 4.2 ADB Toggle is obsolete anyway: USB access is only allowed on a PC when you explicitly confirm this. This means if you have USB debugging enabled and ‘someone’ steals your devices and connects to his PC he still won’t get into (and that already was the whole point of my app).
So now it’s probably a good opportunity to say goodbye and thanks for the 100K installs! 😉
In the newest version of ADB Toggle (1.2) you can now configure more options for the automatic mode… well if you have bought the license key for the PRO version that is 😉
Additional options for automatic mode
Previously the automatic mode was only toggling USB-debugging when you plugged the USB cable. Alternatively you can now toggle when you turn off the screen. So in this mode USB-debugging will always be disabled if you turn off your screen, and re-enabled if your screen is unlocked.
If you still prefer to toggle when plugging the USB cable then there’s an additional option as well: when you unplug your phone from your PC or docking station then ADB Toggle can automatically lock your screen as well.
New scheduled mode
That’s not all! In the new version you can also setup a scheduled mode instead.
So for instance you can setup USB-debugging to be always enabled during your working hours. In the evenings and when you go party in the weekend you can be sure that USB-debugging is always disabled!
One more thing
Besides the usual stability and performance improvements I’d like to announce that ADB Toggle is now also available in a German version!
Download from Google Play
But enough of this blabbering, just hit the “Update” button in Play Store, or if you are new to ADB Toggle go ahead and scan this code to download the free version from Google Play:
You can also use the direct link:
I have added a new feature into ADB Toggle that offers you all the common reboot options. When you need to reboot more frequently then you can use the new home screen widget!
For the reboot options (normal, recovery and bootloader) ADB Toggle require the REBOOT permission. This permission is only granted by the Android system when the app is registered as system application. If you have installed the previous version of ADB Toggle then the system does not grant the reboot permission yet, therefore the system application needs to be updated. You don’t have to do anything to make this work. ADB Toggle updates itself (followed by a reboot) when you try to use the reboot features.
Here the reboot options are explained in detail:
1. Fast reboot
This option does not fully reboot your device, it only restarts the Android system. This reboot option is not provided by the Android system and is only working with root access. It’s the same reboot method that is also used internally by ADB Toggle when you install or remove the system app.
2. Normal reboot
This option performs a full device reboot. Before restarting the device Android makes sure that all processes and services are closed properly. Obviously this takes little more time than the fast reboot option but it’s the recommended way if you need to reboot under normal conditions.
3. Reboot into recovery
When you need to make a NANDROID backup or want to flash the newest Jelly Bean ROM then you are probably using ClockworkMod recovery or one of the newer custom recoveries with touch support. People with a serious flash addiction might love the quick access from the home screen widget.
4. Reboot into bootloader
You need to reboot into bootloader mode when you need to have fastboot access. Fastboot is a tool which is used to unlock/lock the bootloader on Nexus devices. Furthermore you can use it to flash custom recoveries or restore stock images.
Probably you already know that App Quarantine has recently added support for ADB Toggle.
App Quarantine is freezing unwanted apps and therefore it needs USB debug settings enabled. This setting however is rather dangerous and you should not have it enabled all the time.
App Quarantine uses the ADB Toggle Access Library to enable USB debug settings before freezing an app, and disables it when finished.
If you are an Android developer and your app needs USB debug settings as well, then please don’t ask your users to have it enabled all the time! Instead add support for ADB Toggle and you’re all set.
Read more details about the implementation on Github:
ADB Toggle like the name already says allows you to toggle the USB debug mode. You can do this in the app or by using a homescreen widget. Furthermore there’s an automatic mode: when you unplug your device then USB debug mode is turned off. When you plug it in again then USB debug mode is still disabled, it will only be enabled again if you unlock your screen.
Why should I need to care about the USB debug mode?
Maybe you already figured out that when you plugin your phone to your PC then the contents of your SD card are only accessible when your screen is unlocked. This is very good, however there’s a major security risk when USB debug mode is enabled that still allows an unwanted person to access your data… and if you are rooted even allows for total control over your phone!
When buying a new Android phone then this is of course not enabled by default, but if you are an Android developer or otherwise just like to play around with Custom ROMs and root apps, then the USB debug mode is usually enabled and voilà….
What are the requirements for ADB Toggle
In order to use ADB Toggle you need to have a rooted phone. You even need to have full write access to the system partition (e.g. no NAND protection like on some HTC phones) because ADB Toggle is only working when installed as system app. This is maybe for the downside…. however the good thing is that AdbToggle doesn’t need root access anymore after you have installed it.
Free vs. paid version
In the free version you can toggle USB debug settings with a handy homescreen widget. ADB Toggle can also be used by other apps. For example App Quarantine enables USB debug mode before disabling/enabling an app, and turns it off when finished. There will soon be a developer library available so other root apps that need USB debug mode can use it as well.
When you buy the PRO License Key then the automatic mode will be available!
How does it look?
The UI of course is ready for Android 4.0 and looks just like that on older Android versions as well. The minimum requirement is Android 2.2 (Froyo).
Download from Google Play
Scan this code to download the free version from Google Play
You can also use this direct link:
I’m about to release a new app called AdbToggle. It’s a security tool which helps to protect your device when you have the USB Debug settings enabled, and you still want to avoid that a possible thief gains control over your phone (and data). You probably have USB debug settings enabled when you develop on your phone, or otherwise it’s enabled when you just love to pimp up your phone with Custom ROMs and root apps!
Yes, AdbToggle needs to have root access as well. But it only needs root to install itself as system application. After installation root is no longer needed.
I’m doing a public beta test on XDA-Developers and during this time you can download the app from Google Play for free. When the beta test expires in 05/2012 then the beta version will stop working, and the full version will be made available for purchase.
For full details check out the thread on XDA-Developers: