Related
Sorry for opening a new thread on this, but as new users can't post - for a good reason, I am sure - in the dev's section, I, being a new user, can't as well...
I have the same problem as described by haggardh and arko.amit, which is the nt not showing up when running the NookandZergy.bat after following all the steps mentioned, hopefully, properly. Running the NookandZergy.bat as admin gives an error message stating the command "adb" is unknown.
Just hoping to emphasise that this issue might be statistically significant (and worth looking into)...other than that this is just another me-too-post. Sorry once more.
Give this a go:
http://forum.xda-developers.com/showthread.php?t=1363652
i had to download the program in that thread and delete all usb references to Nook from my computer.
My Solution to Root
Wurstwarenfachverkäuferin said:
Sorry for opening a new thread on this, but as new users can't post - for a good reason, I am sure - in the dev's section, I, being a new user, can't as well...
I have the same problem as described by haggardh and arko.amit, which is the nt not showing up when running the NookandZergy.bat after following all the steps mentioned, hopefully, properly. Running the NookandZergy.bat as admin gives an error message stating the command "adb" is unknown.
Just hoping to emphasise that this issue might be statistically significant (and worth looking into)...other than that this is just another me-too-post. Sorry once more.
Click to expand...
Click to collapse
I experienced some of the same problems you and haggard wrote about and even some other users that were experiencing no serial number showing up when running the Nookandzergy.bat. After reading and a little experimentation of my own I got mine rooted last night. My test machine was Windows XP SP3 I am skipping the tgps.apk part on the Nook because I ran into no problems with it. It did goes as the instructions said. With that said make sure you put all the checks in the right place in the debug menu.
First of all if you can't run adb then you have the adb.exe in the wrong folder or you are trying to execute with the wrong path. Should be in the C:\ntroot directory. Open a command line up (Start > RUN >CMD)
You will need to change to directory c:\ntroot
Once your cmd prompt reads C:\ntroot you should be able to run adb. You really shouldn't have to unless you are running into a problem with the serial number not showing up after running zerg. If that is the case you can always run "adb devices" that will start the adb daemon and then run the command and tell you rather or not your computer is seeing the nook. If you get no devices connected then you are back to the driver issue.
My solution for the driver issue I got the same USB Mass Storage Device and then would try and change the driver to the Android one, but kept getting the above problem when trying to run zerg.
So I uninstalled the driver (Android and USB Mass Storage) and unplugged the Nook.
Then in Windows Explorer went to the usbdrivers folder and right-clicked on the file android_winusb.inf and clicked "install"
I then plugged the nook back in and the driver showed correctly in Device Manager as an Android device.
I then ran zergy again and it all worked an the ID showed up correctly.
I hope this helps.
k
Thanks for the suggestions. The OS is Win 7 64 if that matters.
I have de- and reinstalled the usb-driver several times in the device-manager (installing by "install..." from explorer's context menu doesn't work for this file and this OS) - the device just doesn't show up in command line, regardless whether I use the adb devices command or run the nookandzergy.bat.
Sounds definitely to be the driver. I read the link posted by AugustusBot helpful, but not sure it would work for sure. I had to uninstall and reinstall until finally I ran the INF like you mentioned that didn't work for you.
Does the device show up with an exclamation or as a USB mass storage device?
With no specific driver installed (intentionally, that is), the device is shown as both usb mass storage device and "nook tablet" with the yellow exclamation mark within the device manager.
I also used that usb deview tool mentioned in the other thread to wipe all usb devices. This doesn't do a permanent uninstall - as deleting the driver would. Unplugging a device and plugging it in again and it would just show up as it did before... Either way, the tool doesn't help here.
Have you right clicked on Nook tablet within device manager clicked properties > driver > update driver software > update driver > browse my computer for driver software > Let me pick from a list of device drivers > Have Disk > Browse > C:\ntroot\usbdrivers\android_winusb.inf
I just tried that process on a Windows 7 64bit and got an error saying the device driver is not compatible with a 64 bit OS. If you get the same error you may have to find the 64 bit version of that device driver or if you are familiar with working with XP classic within Windows 7 you may have better luck using it through that.
Try right clicking on the mass storage device and select to install manually then install from a specific location, have disk, then select the inf file for the driver... might work.
Sent from my BNTV250 using xda premium
I did install the driver both ways using the bat-file and manually through device manager, pointing to the folder that contains the inf-file. Actually, you can't point to a file but only to folders (saying "you", I mean "me", of course; is that different on your machine?)
(Why do I get a prevent-spam-wait-5-mins-message editing my own post? Weird.)
I have successfully updated the drivers under Device Manager and it changed from nook device with exclamation mark to android composite interface and and it still does not show up when running the nookandzrgy.bat file. I tried the methods listed here to no avail. Any new info out there?
armysean77 said:
I have successfully updated the drivers under Device Manager and it changed from nook device with exclamation mark to android composite interface and and it still does not show up when running the nookandzrgy.bat file. I tried the methods listed here to no avail. Any new info out there?
Click to expand...
Click to collapse
Download the settings file listed in the post via your tablet, install using the package installer, enable debugging (checking both debugging options) run the script to root.
Sent from my HTC Glacier using xda premium
I had no end of difficulties with the root process.
Running Windows 7 32 bit.
Procedure to root instructions neglect to emphasise the NEED to DROP the Nook Tablet into debug mode first before connecting it to the PC. I didn't do this, and so Window drivers were installed automatically on first connect, and this started a long trip trying to replace the drivers to no avail. Eventually managed to removed the drivers from all USB using the tools from another thread.
After that, I managed to install the USB drivers and have the Nook show up as an Android phone.
Unticked/ticked all debug mode a second time to ensure they are locked in place.
Run the Zergy.bat and get the numbers for ID of the tablet, and the thing starts to proceeds and then stops with an error stating that it is not a Tablet device... 8(
Gave up and re run the entire procedure on a Windows XP laptop (fresh install) and everything went through without a hitch. I now have a rooted Nook Tablet.
I suspect something in Windows 7 is interferring with the second script.
Key point:
Put Tablet in debug mode first.
Untick and retick the USB connection on Tablet before each attempt to run Zergy script.
Another thing I did, but was unsure if it fixed anything was manually changed the runmefirst.bat script to look like this:
@echo off
echo Please unplug your nook device before continuing!
pause
if exist "c:\ntroot\.android\adb_usb.ini" echo You do not need to have it added!
IF NOT EXIST "c:\ntroot\.android\" md "c:\ntroot\.android"
echo 0x2080 > "c:\ntroot\.android\adb_usb.ini"
echo success!
echo now plug it back in
echo now install the drivers - instructions in the thread
echo **************************************************************
echo * Install "Nook" with the drivers I provided in this pack. *
echo * You can find the fixed drivers in the "usbdrivers" folder. *
echo * After your done you should have adb access through DOS! *
echo **************************************************************
devmgmt.msc
pause
echo "now you can run the Nook&Zergy"
ping 1.1.1.1 -n 1 -w 2000 > NUL
and the nookandzergy.bat script to look like this:
@echo off
color 0c
adb kill-server
cls
:vendorfixed
find "0x2080" "c:\ntroot\.android\adb_usb.ini"
if errorlevel==0 goto start
if errorlevel==1 goto novendor
:start
cls
adb kill-server
adb devices
echo did your nook Tablet show up?
echo type Y for yes and N for no
SET /P menunr=Please make your decision:
IF %menunr%==Y (goto check)
IF %menunr%==N (goto sorry)
:check
echo first need to make sure you didnt lie about it showing up and check for root.
adb wait-for-device
echo verifying that your device is indeed a Barnes and Noble Nook tablet
del build.prop
adb pull system/build.prop
find "ro.product.device=blaze" build.prop
if ERRORLEVEL==0 SET device=Nook Tablet
if ERRORLEVEL==1 goto oops
echo now checking for root!
del su.txt
adb pull /system/bin/su su.txt
cls
if exist su.txt echo already rooted! && goto prerooted
if not exist su.txt goto ok
k
cls
echo your device is a %device% meaning we can continue!
ping 1.1.1.1 -n 1 -w 2000 > NUL
echo now just making sure you WANT to root it!
:choice1
set /p C=(Y/N)?
for %%? in (Y N) do if /I "%C%"=="%%?" goto ok1
goto choice1
k1
set C1=%C%1
goto %C1%
:Y1
adb push zergrush /data/local/zergy
adb shell "chmod 755 /data/local/zergy;cd /data/local/;./zergy"
adb wait-for-device
adb install Superuser.apk
adb remount
adb push su /data/local/tmp/
adb shell "cd /data/local/tmp;chmod 777 su;cd /;mount -o remount,rw -t rootfs rootfs /"
adb push su /system/bin/su
adb shell chmod 4755 /system/bin/su
adb install busyboxinstall.apk
cls
:N1
echo would you like to install gApps?
:choice2
set /p C=(Y/N)?
for %%? in (Y N) do if /I "%C%"=="%%?" goto ok2
goto choice2
k2
set C2=%C%2
goto %C2%
:Y2
set gapps=yes
adb remount
adb push system\app\CarHomeGoogle.apk /system/app/
adb shell chmod 644 /system/app/CarHomeGoogle.apk
adb push system\app\FOTAKill.apk /system/app/
adb shell chmod 644 /system/app/FOTAKill.apk
adb push system\app\GenieWidget.apk /system/app/
adb shell chmod 644 /system/app/GenieWidget.apk
adb push system\app\GoogleBackupTransport.apk /system/app/
adb shell chmod 644 /system/app/GoogleBackupTransport.apk
adb push system\app\GoogleCalendarSyncAdapter.apk /system/app/
adb shell chmod 644 /system/app/GoogleCalendarSyncAdapter.apk
adb push system\app\GoogleContactsSyncAdapter.apk /system/app/
adb shell chmod 644 /system/app/GoogleContactsSyncAdapter.apk
adb push system\app\GoogleFeedback.apk /system/app/
adb shell chmod 644 /system/app/GoogleFeedback.apk
adb push system\app\GooglePartnerSetup.apk /system/app/
adb shell chmod 644 /system/app/GooglePartnerSetup.apk
adb push system\app\GoogleQuickSearchBox.apk /system/app/
adb shell chmod 644 /system/app/GoogleQuickSearchBox.apk
adb push system\app\GoogleServicesFramework.apk /system/app/
adb shell chmod 644 /system/app/GoogleServicesFramework.apk
adb push system\app\LatinImeTutorial.apk /system/app/
adb shell chmod 644 /system/app/LatinImeTutorial.apk
adb push system\app\MarketUpdater.apk /system/app/
adb shell chmod 644 /system/app/MarketUpdater.apk
adb push system\app\MediaUploader.apk /system/app/
adb shell chmod 644 /system/app/MediaUploader.apk
adb push system\app\NetworkLocation.apk /system/app/
adb shell chmod 644 /system/app/NetworkLocation.apk
adb push system\app\OneTimeInitializer.apk /system/app/
adb shell chmod 644 /system/app/OneTimeInitializer.apk
adb push system\app\Talk.apk /system/app/
adb shell chmod 644 /system/app/Talk.apk
adb push system\app\Vending.apk /system/app/
adb shell chmod 644 /system/app/Vending.apk
adb push system\etc\permissions\com.google.android.maps.xml /system/etc/permissions/
adb push system\etc\permissions\features.xml /system/etc/permissions/
adb push system\framework\com.google.android.maps.jar /system/framework/
adb push system\lib\libvoicesearch.so /system/lib/
echo Thank you for choosing to install gapps courtesy of anlog
ping 1.1.1.1 -n 1 -w 2000 > NUL
cls
:N2
echo Would you like to replace certain system applications to make you have a more tablet like experience?
echo this replaces Keyboard, Email, Gallery, and adds live wallpapers! Please select Y or N.
echo you need another launcher to be able to use live wallpapers.
:choice3
set /p C=(Y/N)?
for %%? in (Y N) do if /I "%C%"=="%%?" goto ok3
goto choice3
k3
set C3=%C%3
goto %C3%
:Y3
adb push Email.apk /system/app/Email.apk
adb push Gallery3D.apk /system/app/Gallery.apk
adb push LatinIME.apk /system/app/LatinIME.apk
adb push LiveWallpapers.apk /system/app/LiveWallpapers.apk
adb push LiveWallpapersPicker.apk /system/app/LiveWallpapersPicker.apk
adb shell chmod 644 /system/app/Email.apk
adb shell chmod 644 /system/app/Gallery.apk
adb shell chmod 644 /system/app/LatinIME.apk
adb shell chmod 644 /system/app/LiveWallpapers.apk
adb shell chmod 644 /system/app/LiveWallpapersPicker.apk
:N3
@echo off
echo Please select 1 for Go launcher
echo Please select 2 for ADW Launcher
echo please select 3 for HoneyComb Launcher
echo Please select 4 for none of them and to continue to the debloater
SET /P launch=Please make your decision:
IF %launch%==1 (set launcherinstall="yes "& set launcher=GO)
IF %launch%==2 (set launcherinstall="yes "& set launcher=adw)
IF %launch%==3 (set launcherinstall="yes "& set launcher=Honeycomb_Launcher)
IF %launch%==4 (goto debloater)
echo %launcher%
adb install launcher\%launcher%.apk
IF %launcherinstall%=="yes " adb install launcher\Homecatcher.apk
pause
goto debloater
:sorry
echo Your device is not found, I'm sure USB debugging HAS to be enabled.
ping 1.1.1.1 -n 1 -w 2000 > NUL
exit
ops
echo your device is NOT a nook tablet! Please try again with either usb debugging properly enabled, or with the correct device hooked up. You might also need to install drivers!
echo just incase you missed doing it, running runmefirst.bat
if exist runmefirst.bat call runmefirst.bat
if not exist runmefirst.bat echo No batch file found!
:complete
echo OK!
:N4
echo Thank you for using Indirect's batch script to root the nook tablet combined with Anlog's script to install gApps.
adb shell chmod 644 /system/app/*.apk
adb shell chmod 644 /data/app/*.apk
set install=ok
if install==ok echo GOOOD JOB! Now rebooting!
adb reboot
ping 1.1.1.1 -n 1 -w 2000 > NUL
exit
:novendor
cls
echo Oops! You do not have the USB Vendor ID entered into the correct file! Running runmefirst to correct this.
ping 1.1.1.1 -n 1 -w 2000 > NUL
call runmefirst.bat
goto vendorfixed
rerooted
cls
echo Your device was found to be rooted. Which is upsetting because now the root won't work again (you already have root) so you also can't use this script to install gApps or system mods.
echo _
echo because ADB doesn't allow us to remount unless adb is running as root (can't run without a kernel mod)
echo _
echo You can however download the one click unroot app in the Android Development section to unroot after you install it on your device.
echo _
echo However, before you do that, I suggest backing everything up as it COMPLETELY wipes the device (including the system partition) so you lose root and all mods.
echo _
echo Have a nice day!
ping 1.1.1.1 -n 1 -w 10000 > NUL
exit
:debloater
cls
echo Do you want to de-bloat the device?
echo This does NOT remove anything that would remove access to the nook function of E-reading and whatnot. Just removes
echo Hulu, default launcher (if you installed a new one), default search app (if you used gApps), Chess, Sudoku and thats it.
echo Search being removed will actually stop you from using the search function in the nook bar.
:choice4
set /p C=(Y/N)?
for %%? in (Y N) do if /I "%C%"=="%%?" goto ok4
goto choice4
k4
set C4=%C%4
goto %C4%
:Y4
ebloatmenu
cls
echo Please select 1 for Full Debloat (Launcher, games, Hulu and pandora, so basically 2,3, and 4.)
echo Please select 2 for Launcher only removal (Will only run if you have installed a new launcher) It's a safety feature.
echo Please select 3 for Game applications removal
echo Please select 4 for Media application removal (Hulu and Pandora) (NOT NETFLIX)
echo Please select 5 to run the EXTREME debloater (Does all of the above and
echo removes ALL barnes and noble apps from your device
echo so you lose ALL functionality towards B and N but
echo you have a normal android tablet
echo DO NOT ASK FOR SUPPORT WITH THIS OPTION, you will be ignored.)
echo Select 6 to finish this section of the script.
SET /P debloat=Please make your decision:
IF %debloat%==1 goto Full
IF %debloat%==2 goto Launcher
IF %debloat%==3 goto Game
IF %debloat%==4 goto Media
IF %debloat%==5 goto Extreme
IF %debloat%==6 goto complete
:Full
adb shell rm -r /system/app/Chess.apk
adb shell rm -r /system/app/Sudoku.apk
adb shell rm -r /system/app/Crossword.apk
if %launcherinstall%==yes adb shell rm -r /system/app/Home.apk
if %gapps%==yes adb shell rm -r /system/app/GSearch.apk
adb shell rm -r /system/app/Hulu_Plus_159.apk
adb shell rm -r /system/app/Pandora.apk
set gapps=no
goto debloatmenu
:Launcher
if %launcherinstall%==yes adb shell rm -r /system/app/Home.apk
if %gapps%==yes adb shell rm -r /system/app/GSearch.apk
set gapps=no
goto debloatmenu
:Games
adb shell rm -r /system/app/Chess.apk
adb shell rm -r /system/app/Sudoku.apk
adb shell rm -r /system/app/Crossword.apk
if %gapps%==yes adb shell rm -r /system/app/GSearch.apk
set gapps=no
goto debloatmenu
:Media
adb shell rm -r /system/app/Hulu_Plus_159.apk
adb shell rm -r /system/app/Pandora.apk
if %gapps%==yes adb shell rm -r /system/app/GSearch.apk
goto debloatmenu
:Extreme
Echo ARE YOU POSITIVE YOU WANT TO RUN THIS?
echo We will not be mad if you say no,
echo these apps that are removed do nothing to the tablet
echo but remove the ability to read from the library and in general use the entire nook as an e-reader / anything from barnes and noble
echo and it turns it into a normal android tablet.
echo I removed these apps and the tablet itself functions fine
echo I just can't use anything from B&N.
echo If you run this, I WILL NOT HELP YOU!
echo Use the one click unroot app to get back all of these apps.
:choice5
set /p C=(Y/N)?
for %%? in (Y N) do if /I "%C%"=="%%?" goto ok5
goto choice5
k5
set C5=%C%5
goto %C5%
:Y5
adb shell rm -r /system/app/Accessories.apk
adb shell rm -r /system/app/AppLauncher.apk
adb shell rm -r /system/app/B3AndroidReader.apk
adb shell rm -r /system/app/BnAppInstaller.apk
adb shell rm -r /system/app/BnAuthenticationService.apk
adb shell rm -r /system/app/BnCloudRequestSvc.apk
adb shell rm -r /system/app/BnConnectivityService.apk
adb shell rm -r /system/app/BnPolicyManagerSvc.apk
adb shell rm -r /system/app/CloudService.apk
adb shell rm -r /system/app/CryptoServer.apk
adb shell rm -r /system/app/DemoMode.apk
adb shell rm -r /system/app/DRPReader.apk
adb shell rm -r /system/app/GSearch.apk
adb shell rm -r /system/app/Home.apk
adb shell rm -r /system/app/LatinImeTutorial.apk
adb shell rm -r /system/app/Library.apk
adb shell rm -r /system/app/NookCommunity.apk
adb shell rm -r /system/app/Quickoffice_Viewer_3.3.5.apk
adb shell rm -r /system/app/RDGEReaderAcclaim.apk
adb shell rm -r /system/app/Reader.apk
adb shell rm -r /system/app/Shop.apk
adb shell rm -r /system/app/Social.apk
adb shell rm -r /system/app/Hulu_Plus_159.apk
adb shell rm -r /system/app/Pandora.apk
adb shell rm -r /system/app/Chess.apk
adb shell rm -r /system/app/Sudoku.apk
adb shell rm -r /system/app/Crossword.apk
if %launcherinstall%==yes adb shell rm -r /system/app/Home.apk
if %gapps%==yes adb shell rm -r /system/app/GSearch.apk
goto debloatmenu
:N5
echo you decided to not run the Extreme Debloater
echo now returning you to the debloater menu.
ping 1.1.1.1 -n 1 -w 1000 > NUL
goto debloatmenu
My reasoning was prior to me changing the path from %USERPROFILE to C:\ntroot I was receiving an error in profile path due to Windows XP having the profile set to C:\documents and settings\kerry63\... and I was getting some error about not being able to parse the space in "documents and settings".
I would not imagine this needing to be changed on Windows 7 due to the fact that the %USERPROFILE should be C:\users\kerry63 hence no spaces. All the runmefirst.bat script does is place the .android folder with a .ini file that gives the vendor ID to the nookandzergy.bat script.
This is nothing new just trying to make sure all the bases are covered since people do run different Windows OS. I take no credit for the script just trying to give advice and procedures that helped me get mine working. I did have all the problems that everyone else spoke about.
I had to triple check the three changes made in the debug mode by tgps.apk on the NOOK.
Changed the script and then ran it.
Installed drivers and uninstalled them until I got the NOOK! and installed the .inf prior to the plugging in of the NOOK.
The above scripts are verbatim of what I used you can use them by just pasting them separately into notepad and naming them accordingly.
Hope this helps.
armysean77 said:
I have successfully updated the drivers under Device Manager and it changed from nook device with exclamation mark to android composite interface and and it still does not show up when running the nookandzrgy.bat file. I tried the methods listed here to no avail. Any new info out there?
Click to expand...
Click to collapse
Make sure the Tablets is in debug mode and automount is unticked. Even if it is set correctly, untick and retick the settings BEFORE each attempt to run the Zergy script.
In my case, I manage to get it ot recognise the tablet, but the scripot aborted with an error stating that it is not a tablet device... 8(
Running the same procedure again on another laptop running xp worked.
kerry63 said:
Another thing I did, but was unsure if it fixed anything was manually changed the runmefirst.bat script to look like this:
[...]
My reasoning was prior to me changing the path from %USERPROFILE to C:\ntroot I was receiving an error in profile path due to Windows XP having the profile set to C:\documents and settings\kerry63\... and I was getting some error about not being able to parse the space in "documents and settings".
I would not imagine this needing to be changed on Windows 7 due to the fact that the %USERPROFILE should be C:\users\kerry63 hence no spaces. All the runmefirst.bat script does is place the .android folder with a .ini file that gives the vendor ID to the nookandzergy.bat script.
This is nothing new just trying to make sure all the bases are covered since people do run different Windows OS. I take no credit for the script just trying to give advice and procedures that helped me get mine working. I did have all the problems that everyone else spoke about.
I had to triple check the three changes made in the debug mode by tgps.apk on the NOOK.
Changed the script and then ran it.
Installed drivers and uninstalled them until I got the NOOK! and installed the .inf prior to the plugging in of the NOOK.
The above scripts are verbatim of what I used you can use them by just pasting them separately into notepad and naming them accordingly.
Hope this helps.
Click to expand...
Click to collapse
If I got that right, you changed the paths replacing %userprofile% with c:\ntroot. Sorry for asking, as I should be able to find out myself, but... are there more changes made? (The runmefirst.bat you used is not the same (anymore) as in the root-thread by indirect.)
However, I replaced %userprofile% with c:\ntroot in both scripts. The outcome was an empty .android folder being created in c:\ntroot by the runmefirst.bat - this didn't happen before. Other than that still no device listed by adb.
I gave it one more try and used the runmefirst.bat from the usbdrivers.zip - after that the nook was listed and more or less rootable (more: it kind of worked; less: the root script's command line just closed at some point within the debloating leaving the device in Idontknowwhat state... but it still seems to work)
However, as there are two files named runmefirst in the whole package, people should be told which runmefirst.bat to actually run first (or at all).
Thanks for all the advice! It did help.
Solved
I tried several computers and could not get the nook to install with the unknown devise question mark. I finally figured it out. I had an SD card already installed in the Nook. It kept getting registered as a mass storage device. I removed the SD card and started with a fresh install of XP. Everything worked perfect.
this orked for me that way... hope this help you guys.
dodgepot said:
Try right clicking on the mass storage device and select to install manually then install from a specific location, have disk, then select the inf file for the driver... might work.
Sent from my BNTV250 using xda premium
Click to expand...
Click to collapse
thanks. for all the great minds and great Devs here.
Files
Do you guys still have access to these files all links I've found point to a drop box folder that is out of order.
Dropped my phone this morning (~80cm) & screen cracked; now I've got no response from touchscreen at all.
LG Optimus G
CWM 6.0.4.7
Cyanogenmod 11
all data backed up
I can access ADB shell when it's in recovery mode but once booted up it just connects as MTP device and ADB doesn't see it (nor does fastboot). I've tried an OTG cable with mouse, no luck there. I have a bluetooth mouse but no way to pair it!
Do I just have the wrong driver in windows? Device manager says "LGE Android MTP Device" because I had (at some point earlier) installed the LG usb drivers and recovery tool.
You don't have debugging on is my best guess, but if you're just trying to pull some files you can do this through recovery. Or is there another reason you want adb on while in os?
Sent from my Nexus 7 using XDA Premium 4 mobile app
demkantor said:
You don't have debugging on is my best guess, but if you're just trying to pull some files you can do this through recovery. Or is there another reason you want adb on while in os?
Sent from my Nexus 7 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Correct, I don't believe it was enabled in android os. I was hoping to use Screencast or ADB or something to control my phone until I get a chance to order a new screen
you can try this
boot to recovery
use adb to pull build.prop
Code:
adb pull /system/build.prop /location/on/pc
add these lines (or change accordingly if present)
Code:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
now push it back
Code:
adb push location/on/pc/build.prop /system/build.prop
and fix permissions in recovery or
Code:
adb shell
su
chmod 644 build.prop
or try just editing it in a shell like
Code:
adb shell
su
mount -o remount,rw /system
cd /
echo "persist.service.adb.enable=1" >> default.prop
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
then reboot
either method i would suggest doing a backup in recovery first, just in case, but should be fine
best of luck!
Thank you! I will try when I get home
demkantor said:
you can try this
boot to recovery
use adb to pull build.prop
Code:
adb pull /system/build.prop /location/on/pc
add these lines (or change accordingly if present)
Code:
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
now push it back
Code:
adb push location/on/pc/build.prop /system/build.prop
and fix permissions in recovery or
Code:
adb shell
su
chmod 644 build.prop
or try just editing it in a shell like
Code:
adb shell
su
mount -o remount,rw /system
cd /
echo "persist.service.adb.enable=1" >> default.prop
echo "persist.service.debuggable=1" >> default.prop
echo "persist.sys.usb.config=mtp,adb" >> default.prop
echo "persist.service.adb.enable=1" >> /system/build.prop
echo "persist.service.debuggable=1" >> /system/build.prop
echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
then reboot
either method i would suggest doing a backup in recovery first, just in case, but should be fine
best of luck!
Click to expand...
Click to collapse
Here's what I got:
Code:
G:\android sdk\sdk\platform-tools>adb devices
List of devices attached
01a9a0f610c750f6 recovery
G:\android sdk\sdk\platform-tools>adb root
adbd is already running as root
G:\android sdk\sdk\platform-tools>adb pull /system/build.prop C:\testing\
remote object '/system/build.prop' does not exist
G:\android sdk\sdk\platform-tools>
so then I tried:
Code:
G:\android sdk\sdk\platform-tools>adb shell
~ # ls
ls
boot external_sd property_contexts storage
cache file_contexts recovery sys
charger fstab.geehrc res system
data init root tmp
datadata init.rc sbin ueventd.geehrc.rc
default.prop initlogo.rle888 sd-ext ueventd.rc
dev internal_sd sdcard
emmc mnt seapp_contexts
etc proc sepolicy
~ # cd system
/system # /system # ls -R -l
ls -R -l
.:
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
drwxr-xr-x 2 root root 0 Jan 1 1970 bin
./bin:
Then I found default.prop in ./ (http://pastebin.com/RFyhMJe9) and added the first two lines you suggested (it already had usb.config=mtp,adb) but rebooted and no USB debugging. Booted back into recovery and the lines I added were gone.
You may need to mount /system r/w first as its protected its possible that it won't allow you to pull it otherwise... Can't recall
Default.prop I believe will often do this upon reboot as its part of the ramdisk. To fully edit this try looking at this
http://android-dls.com/wiki/index.p...t,_and_Re-Pack_Boot_Images#Alternative_Method
But really you just need to look for the build.prop
Just follow the part where I said edit in shell from above, this should work
Sent from my Nexus 7 using XDA Premium 4 mobile app
demkantor said:
You may need to mount /system r/w first as its protected its possible that it won't allow you to pull it otherwise... Can't recall
Default.prop I believe will often do this upon reboot as its part of the ramdisk. To fully edit this try looking at this
http://android-dls.com/wiki/index.p...t,_and_Re-Pack_Boot_Images#Alternative_Method
But really you just need to look for the build.prop
Just follow the part where I said edit in shell from above, this should work
Click to expand...
Click to collapse
I'll try that. Is there a find command I could use to find build.prop? I'm out of ways to look for build.prop, as I couldn't find it in /system or /sys.
It should be in /system , never seen it elsewhere. Maybe grab the build.prop from the ROM you are running (like direct from a download of the ROM, just unzip) edit this and push it in place, then fix permissions
Sent from my Nexus 7 using XDA Premium 4 mobile app
demkantor said:
You may need to mount /system
Click to expand...
Click to collapse
Bingo! looked in CWM recovery settings and found "Mount /system"
Once I did this, I could see all the files in /system, including build.prop. I updated build.prop and checked file persmissions (they were already correct, wierd). Rebooted, now ADB can see it:
Code:
>adb devices
List of devices attached
01a9a0f610c750f6 unauthorized
and when I try to run screencast (https://code.google.com/p/androidscreencast/) I get a bunch of java errors, including this:
Code:
java.io.IOException: device (01a9a0f610c750f6) request rejected: device unauthorized. Please check the confirmation dialog on your device.
If I try to send a keyevent, I get a similar message:
>adb shell input keyevent 3
Code:
error: device unauthorized. Please check the confirmation dialog on your device.
Realized this meant my PC wasn't authorized, so I followed these instructions: http://stackoverflow.com/questions/...ithout-previous-usb-pairing/15747430#15747430
and now I'm authorized!
Glad it worked out for you! Check out droid explorer and android commander, both should work well for you and have some more advanced options besides just screen cast
Sent from my Nexus 4 using XDA Premium 4 mobile app
Thanks again, demkantor! I'll give those a try, since screencast only displays on my PC, none of the controls seem to work, and running commands like below are pretty slow:
Code:
adb shell input swipe 390 1100 650 1100 [I] (unlock swipe)[/I]
adb shell input keyevent 3 [I](home button)[/I]
[CODE]
EDIT:
Tried those but they both seem depricated and old. I got AirDroid which isn't exactly remote control but allows reading/writing of texts among other things, and works whenever you get on wifi.
I am trying to do the same thing but I do not know how to append the line I got from my PC. As well on my LG e970 which has not been ever authorized I keep getting the error that there is no directory for /data/misc/adb/adb_keys and I have CWM too in which I have also mounted the data partition. Please help!
These are tweaks i tested myself and wanted to make sure, that they don't get lost. Some may only work on custom roms. Please leave a post here, if you have any further settings or interesting commands.
# time format 12/24
adb shell settings get system time_12_24
> 24
adb shell settings put system time_12_24 {12/24}
# screen timeout (14s and 61s seems to work, not sure why others aren't working)
adb shell settings get system screen_off_timeout
> 14000
adb shell settings put system screen_off_timeout 61000
# font size
adb shell settings get system font_scale
> 1.0
adb shell settings put system font_scale 0.8
# display size
adb shell getprop ro.sf.lcd_density
> 238
adb shell wm size
> Physical size: 320x300
adb shell wm size 440x600
adb shell wm density
> Physical density: 238
adb shell wm density 200
# charging screen
adb shell getprop prop.sys.show_chargingui
> true
adb shell setprop prop.sys.show_chargingui false
# language
adb shell setprop persist.sys.language en
adb shell setprop persist.sys.country {DE,GB,...}
# adb shell over wifi
adb connect <IP>:5555
adb -s <IP>:5555 shell
# control touchscreen by remote adb
adb shell input touchscreen swipe <x1> <y1> <x2> <y2> [duration(ms)]
adb shell input touchscreen tap <x> <y>
# keep screen on without changing screen off time
while [ true ]; do adb shell input touchscreen swipe 0 0 0 0; sleep 5; done
# restart launcher
adb shell am force-stop com.huami.watch.launcher
# get all system properties
adb shell getprop
# get android version
adb shell getprop ro.build.version.release
# get battery status information
adb shell dumpsys battery
# create screenshot
adb shell screencap -p /sdcard/screen.png
# enable installation from unknown sources
adb shell settings put secure install_non_market_apps 1
# install apk
adb install *.apk
# list installed packages
adb shell pm list packages
# list only installed 3rd party packages
adb shell pm list packages -3
# show installed package version
adb shell dumpsys package <package> | grep versionName
# uninstall package
adb uninstall <package>
# useful good working watch apps
Android Filemanager
Calendar Widget
Rearrange Widgets
AMF, Reply to Notifications
# roms
stratosfied
I found I can use these ADB commands to turn on and of the WiFi of a rooted phone:
Code:
adb shell su -c 'svc wifi enable'
adb shell su -c 'svc wifi disable'
However, I'm interested in doing it without having to root the phone for an automatic testing I'm doing. Do you guys know if this is possible?
I found this project which allows me to connect to a WiFi through ADB commands not being a root user. I was wondering if anyone knows how to disconnect also from ADB and not being a root user.
UPDATE:
I've been recently trying:
Code:
C:\adb>adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
adb server is out of date. killing...
* daemon started successfully *
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
and
Code:
C:\adb>adb -s serial_number shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
I also found doing this type of command:
Code:
adb shell input keyevent 20 & adb shell input keyevent 23
I can navigate and click. The problem seems to be that I always finish in a different state so the next time I input the command
Code:
adb -s serial_number shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
I start in a different place and start clicking elsewhere. I've tried returning home, but that doesn't fix the issue. Is there any way to start always from the same point inside the WiFi settings?
Thanks!
natiya said:
I found I can use these ADB commands to turn on and of the WiFi of a rooted phone:
Code:
adb shell su -c 'svc wifi enable'
adb shell su -c 'svc wifi disable'
However, I'm interested in doing it without having to root the phone for an automatic testing I'm doing. Do you guys know if this is possible?
Click to expand...
Click to collapse
Turn WiFi off
Code:
adb shell settings put global airplane_mode_on 1
adb shell settings put global wifi_on 0
adb shell settings put global wifi_scan_always_enabled 0
Afterwards you've to re-boot the device.
Turn WiFi on
Code:
adb shell settings put global airplane_mode 0
adb shell settings put global wifi_on 1
adb shell settings put global wifi_scan_always_enabled 1
jwoegerbauer said:
Turn WiFi off
Code:
adb shell settings put global airplane_mode_on 1
adb shell settings put global wifi_on 0
adb shell settings put global wifi_scan_always_enabled 0
Afterwards you've to re-boot the device.
Turn WiFi on
Code:
adb shell settings put global airplane_mode 0
adb shell settings put global wifi_on 1
adb shell settings put global wifi_scan_always_enabled 1
Click to expand...
Click to collapse
Thank you, but those don't produce any change on my device. Actually, if I put the first two commands without doing "adb kill-server" in between, I get this message:
error: more than one device/emulator
Click to expand...
Click to collapse
But the output when they work is:
adb server is out of date. killing...
* daemon started successfully *
Click to expand...
Click to collapse
and nothing happens.
I've been recently trying:
Code:
C:\adb>adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
adb server is out of date. killing...
* daemon started successfully *
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
and
Code:
C:\adb>adb -s serial_number shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.settings/.wifi.WifiSettings }
Warning: Activity not started, its current task has been brought to the front
This opens the screen where you can turn on and off the WiFi but it doesn't do it...not sure if I'm missing something!
Just to be shure, make shure your using the latest version of ADB offered by google here:
https://developer.android.com/studio/releases/platform-tools
You could use adb wifi
After activating when using usb it and connecting through the same wifi:
svc wifi enable
works without root
I'm a little late to this thread, but if it still helps the OP, non-rooted Android 10 and below allowed wireless adb connections AFTER a USB connection was first established (adb start-server && adb tcpip 5555 && adb connect [IP]:5555), but that changed (for the better) in Android 11 and above with the new new Developer options Wireless debugging random port assignments (adb connect [IP]:[PORT] or adb pair [IP]:[PORT] [PIN]) such that the adb wireless connection never needs USB cable ever again.
Given Android 11 allows Developer options Wireless debugging via a random port, and Android 12 new Developer options Wireless debugging allows that to be accessed even easier with a new Developer options Wireless debugging tile, the only thing missing is a way to turn the non-rooted Android Wi-Fi on or off via adb (which was the OP's original question after all).
Maybe this will work if we can figure out how to tap the buttons?
adb shell "am start -a android.settings.WIFI_SETTINGS"
Click to expand...
Click to collapse
For swiping on the phone from adb this works...
C:\> adb shell input swipe 500 1000 500 100
This will instantly swipe from center to the top of the screen.
You can add a time period, e.g., take 3 seconds to swipe that.
C:\> adb shell input swipe 500 1000 500 100 3000
Click to expand...
Click to collapse
But you want to tap the buttons, right?
If we can figure out the positions, maybe this would work?
C:\> adb shell am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
That should pop up an Android "Reset Advertising ID" settings page.
C:\> adb shell input tap 500 400
If run after the command above, that will tap the button to
asking to "Opt out of Ads Personalization" in that Activity
if that button is like mine, at the X=500 & Y=400 location.
On my phone, this is the "Reset advertising ID" button location:
adb shell input tap 500 200
On my phone, this is the "OK" button on that GUI above.
adb shell input tap 700 1000
C:\> adb shell am force-stop com.google.android.gms
If run after bringing up the advertising-id reset Activity,
it will close the activity without doing anything else.
Click to expand...
Click to collapse
Here is a somewhat related post...
[adb,scrcpy,vysor] What ports does Android 12 randomly set when Wi-Fi connecting via Wireless debugging adb "pair" or "connect" commands?
Type adb tcpip 5555 in the command line or Terminal and press Enter.
Find your phone's IP address in Settings > About Phone > Status > IP Address.
Back in the command line or Terminal, type adb connect [your Android's IP address].
Finally, press Enter again.
Regards,
J Wick
I can ad hoc open any given Activity on the Android phone while connected over USB to adb on the Windows PC, but how do I DUPLICATE the SAME THING, but from the phone itself?
For example, how can I run this Activity, ad hoc, on the Android phone?
ACTION: "android.intent.action.MAIN"
PACKAGE: "com.google.android.gms"
CLASS: "com.google.android.gms.ads.settings.AdsSettingsActivity"
Click to expand...
Click to collapse
For illustrative purposes, below is a trivial example of ad hoc opening the "Reset Advertiser ID" Activity on the Android phone.
1. Install & test adb on your PC (I tested this only on Windows 10)
2. Connect your Android device over USB (mine is Samsung, Android 11)
3. Paste this command into a Windows command window:
C:\> adb shell am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
That's just a trivial example where I can't yet figure out yet how to duplicate that popping up of a given Activity on the android phone for any given Activity, if all I know is the name of that given Activity (and which isn't already found in a static list inside of the shortcut creator apps).
Here are more examples I've tested for other Activities.
Code:
C:\> adb shell am start -n com.android.settings/.Settings
C:\> adb shell am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
C:\> adb shell am start -n com.google.android.gms/.location.settings.LocationAccuracyActivity
C:\> adb shell am start -n com.android.settings/.applications.ManageApplications
C:\> adb shell am start -n com.google.android.gms/.update.SystemUpdateActivity
C:\> adb shell am start -n com.samsung.android.secsoundpicker/.SecSoundPickerActivity
C:\> adb shell am start -n com.android.settings/.Settings\$NotificationAppListActivity
C:\> adb shell am start -n com.android.settings/.Settings\$AppMemoryUsageActivity
C:\> adb shell am start -n com.android.settings/.Settings\$NotificationAppListActivity
C:\> adb shell am start -n com.android.settings/.Settings\$SecDisabledAppsActivity
C:\> adb shell am start -n com.android.settings/.Settings\$PowerUsageSummaryActivity
C:\> adb shell am start -n com.android.settings/.Settings\$AppAndNotificationDashboardActivity
C:\> adb shell am start -n com.google.android.gms/.app.settings.GoogleSettingsLink
C:\> adb shell am start -n com.google.android.gms/.app.settings.GoogleSettingsIALink
C:\> adb shell am start -n com.google.android.gms/co.g.Space
C:\> adb shell am start -n com.google.android.gms/.gcm.GcmDiagnostics
C:\> adb shell am start -n com.google.android.gms/.nearby.exposurenotification.settings.SettingsActivity
C:\> adb shell am start -n com.google.android.gms/.nearby.sharing.ContactSelectActivity
C:\> adb shell am start -n com.google.android.gms/.mdm.settings.AdmSettingsActivity
C:\> adb shell am start -n com.android.settings/.network.telephony.MobileNetworkActivity
After each command line above you can close the previous results using the adb command shown below (because you can't open an Android Settings Activity on top of an existing Android Settings Activity):
Code:
C:\> adb shell am force-stop com.android.settings
I'm well aware that we can create permanent homescreen shortcuts using shortcut creator applications; but this question is not about creating a homescreen shortcut for permanent access to Android Activities.
This question is how to instantly open ANY given Activity ad hoc (i.e., on a case-by-case basis) on Android whenever you want to - just from the name like we did above using adb (but without needing adb to do it).
Pack all the ADB commands listed in a Linux shell script ( means omitting "adb shell" part ), put this script into /data/local/tmp, make script executable and finally run this script in Terminal Emulator on phone.
jwoegerbauer said:
Pack all the ADB commands listed in a Linux shell script ( means omitting "adb shell" part ), put this script into /data/local/tmp, make script executable and finally run this script in Terminal Emulator on phone.
Click to expand...
Click to collapse
That worked! Thank you!
Below is my first testcase, which was the simple example of popping up the "Reset Advertising ID" Activity on Android when all you know is the unique name of the Activity.
This alias (which I named "resetadid") that worked first was:
$ alias resetadid='am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity'
This saves that alias into your bashrc file for safekeeping.
$ alias >> ~/.bashrc
To run that alias at the Android Termux command line, I just type:
$ resetadid
(which will pop up the named Activity on your phone)
Then I put that line into a shell script that I named "resetadid.sh"
$ am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
And I put the following line into another shell script (named "closegms.sh") to close that gms (google mobile services) Activity.
$ adb shell am force-stop com.google.android.gms
Note for the shell scripts to work, I had to run these commands.
$ pkg install termux-exec
$ termux-fix-shebang ./resetadid.sh
Click to expand...
Click to collapse
This is the "./resetadid.sh" shell script that survives rebooting:
#!/data/data/com.termux/files/usr/bin/bash
am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
To run that script at the Android Termux command line, I just type:
$ ./resetadid.sh
(that will pop up the named Activity on your phone)
Normally we won't need to close that Activity because resetting the advertising ID will close it when we hit the "reset" and "ok" buttons, but for now we need to close the Activity after we pop it up.
To that end is this temporary "closegms.sh" shell script.
#!/data/data/com.termux/files/usr/bin/bash
adb shell am force-stop com.google.android.gms
There are only two things left.
1. How to put that Termux command in a homescreen icon for free?
2. What to add to that shell script to actually press the "Reset" button?
Anyone know how to add a shell script to the Android homescreen?
Anyone know how to add a command to press the "reset" button?
Typically by long tapping on the home screen, you can create a shortcut to an existing script or add a live folder that contains all of your scripts.
BTW:
Termux is a Terminal Emulator what allows you to run ( Linux conformant ) Android Shell commands / scripts.
jwoegerbauer said:
Typically by long tapping on the home screen, you can create a shortcut to an existing script or add a live folder that contains all of your scripts.
Click to expand...
Click to collapse
Thanks for that advice which works to create, not a shortcut to a script, but a widget to a script (a shortcut would be nicer as it fits in homescreen folders).
It's not as simple as just long tapping because there is a ton of syntax involved, and the files have to be in critical directories, and even the version of Termux matters extremely greatly.
But it does work. Thanks.
So we can now create a homescreen widget that will bring up any given Activity if all we know is the Activity name!
I'll write it up in the next post.
jwoegerbauer said:
BTW:
Termux is a Terminal Emulator what allows you to run ( Linux conformant ) Android Shell commands / scripts.
Click to expand...
Click to collapse
The "right" Termux appears to be that on F-Droid and NOT the one on Google Play as documented elsewhere on the net, this being one link.
For this kind of shell scripts (to run Activities) do you think Andronix will help (Andronis is apparently Linux on top of Android along with Android without the need for rooting).
So we can now create a homescreen widget that will bring up any given Activity if all we know is the Activity name!
For anyone who reads this, may I ask that you please invest five minutes in testing this out and letting everyone here know how it works for you?
What I wrote below is designed so you can just follow the cookbook and you should end up with a widget on your homescreen which will open up to ANY named Activity (but I only give one example below) if all you know is the unique name of that Activity.
Install the F-Droid Termux
(Do not use the Google Play Termux!)
Install the F-Droid Termux:Widget
Start Termux on your Android device
All commands below are run on the Termux command line.
If you had to back out the Google Play Termux in favor of the F-Droid Termux, you'll want to re-create & re-test the alias to a simple Activity such as "Reset Ad ID" as explained earlier in this thread, just to test your syntax.
Re-create:
Code:
alias resetadid='am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity'
Re-test:
Code:
$ resetadid
Then re-create & re-test the shell script we previously described earlier in this thread.
Re-create:
Code:
#!/data/data/com.termux/files/usr/bin/bash
am start -n com.google.android.gms/.ads.settings.AdsSettingsActivity
Re-test:
Code:
$ ./resetadid.sh
Now we're ready to put that command on your homescreen!
Create two directories which are defined in the Termux-Widget help.
Code:
$ mkdir -p $HOME/.shortcuts
$ mkdir -p $HOME/.shortcuts/tasks
Note I'm not sure what the "tasks" directory is for but Termux:Widget docs say to create it.
Move the shell script you created earlier into the $HOME/.shortcuts directory.
Code:
$mv ~/resetadid.sh $HOME/.shortcuts/.
Add the Termux Widget to your homescreen.
Long press your Android homescreen.
Select "Widgets"
Select "Termux:Widget"
Place that "Termux:Widget" on your Android homescreen
Click to expand...
Click to collapse
Depending on your Android version...
It will ask:
"Create widget and allow access?"
To which you press "Yes" to put your widget on the homescreen.
Click to expand...
Click to collapse
To interact with the now-running widget, just press the named entry showing up in that Termux Widget.
Code:
resetadid.sh
Depending on your Android version...
It may ask: "Termux requires "Display over other apps" permission
to start terminal sessions from background on Android >=10."
"Grants it from Settings -> Apps -> Termux -> Advanced" [sic]
Click to expand...
Click to collapse
If needed, grant Termux permission to display over other apps:
Code:
Android11:Settings > Apps > Your apps > Termux > Appear on top = (change off to on)
Now you can press the always running Termux:Widget icon on your homescreen to bring up the desired Activity.
Does this work for you to bring up the named Activity on Android with the only thing you know being the unique Activity name?
If so, here's what's left that I know of:
a. Figure out how to add a step to actually press the "Reset" button!
b. Figure out how to use a shortcut instead of an always-running widget (which can't be placed inside a homescreen folder)
c. Figure out how to run this automatically such as when there is a screen unlocking event.
--
Notes: Keep in mind the goal is to be able to interact with ANY known Android Activity using only freeware (so that everyone can do it); resetting the ad id is just one of the simplest examples.
Interested users can try this on the "Show Running Services" Activity (e.g., for implementing a "ps -aux|kill -9" shortcut).