Recommended apps for rooted Android phones

0 comments

I recently rooted and updated my Droid Razr M to Cyanogenmod 11 and I'm loving it!  Now that I have the Power of Grayskull, what can I do with it?


  1. Install Adblock Plus for Android (not even Google can stop me now!)
  2. Encrypt my text messages with WhisperPush
  3. Enable Privacy Guard by default for newly-installed apps and apply it to any desired existing apps
  4. Install System app remover pro, set Menu > Settings > Remove Ads, then uninstall all the Amazon/Facebook/NFL/etc. bloatware on my phone!  Also remove (or disable) Google+, Hangouts, Movie Studio, News and Weather, Play Books, Play Games, Play Movies & TV, Google Music, and Play Newsstand
  5. Use System app remover pro to uninstall the "Google Keyboard" system app -- NOT the "Android Keyboard (AOSP)" -- then install the Android L Keyboard.  After installing via Recovery, go into Settings > Language & input and make sure "Google Keyboard" is checked and set as Default and then click on the settings icon for "Google Keyboard" and then click on "Advanced settings" and then click on "Color scheme" to change it to "Material".
  6. Enable Advanced Reboot (additional options for Recovery and Bootloader when selecting phone reboot)
  7. In the Google Settings app, select the Ads option and check Opt out of interest-based ads, then touch the Reset advertising ID option
  8. In the Play Store app, press the three-bar icon in the top left and select Settings -- make sure apps auto-update over Wi-Fi only (or disable auto-update if you wish) and also uncheck Add icon to Home screen for new apps.  I also personally like to require a password for all purchases through Google Play.
  9. In Settings > Lock screen > Screen security > Screen lock select a secure method for securing your phone.  I also like the Quick unlock feature with a 5 second automatic lock (instead of instant power lock).
  10. Enable the DSP Equalizer for better sound playback
  11. If using Verizon, call your phone and leave a voicemail.  Then when you tap the notification to call your voicemail and are prompted for the number use *86
  12. Set up your wallpaper by long pressing the background
  13. Also, set up your widgets by long pressing the background:
    • cLock: show AM/PM indicator, use OpenWeatherMap (30 minute update interval with VClouds icon set), and uncheck calendar events; then press the checkmark in the upper right, press and hold the widget until "Remove" appears then let go and resize the widget to use the full upper half of the home screen.  Note: if you need to update these settings later, you need to go into Settings > Lock screen > Clock widget
    • Torch (useful flashlight widget)
    • remove the Google Play 4x2 widget on the second screen by pressing and holding it and then dragging it to "Remove"
  14. Install Deep Sleep Battery Saver
  15. Install Pandora by Holonation
  16. Install Grooveshark by Holonation
  17. Install YouTube
  18. Install Xposed Framework and then download and enable the following modules:
  19. Install App Ops shortcut (nice try, Google)
  20. Install Rooted AnyConnect VPN client by Cisco and then install Greenify to hibernate the app so it only runs when you need it (also enable the Greenify Xposed module that it comes packaged with)
  21. Install CCleaner (but deny access to call log, SMS messages, etc. when prompted by Privacy Guard)
  22. Install Nandroid Manager, Online Nandroid Backup, and unlock key and then set up your daily full device backup
  23. Install Startup Manager (uncheck Show System Boot Time in settings) and disable any app that doesn't need to start up automatically
  24. Install SELinux Mode Changer and change the mode to "Enforcing"
  25. Install Secure Update Scanner
  26. Install SecDroid and then run it and press the "Secure Phone" button to enable it.  Then add it to Startup Manager (Customize tab) to remind you to enable it after every boot.  Note: you can verify it's working by re-running the Secure Update Scanner tool from the previous step and it won't be able to complete a scan.
  27. Install DroidWall then use 3-dot menu in bottom-right corner to enable firewall and also apply changes (p.s. allow "Downloads, Media Storage, Download Manager" to enable Play Store installs. p.p.s. make sure to disable firewall before uninstalling if you ever need to remove it entirely)

Other Recommended Apps:

...And for the truly paranoid: https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy

doubleTwist on Linux

0 comments

Update: a much easier solution was to use the Shuttle Music Player instead.  It automatically downloads album art, includes an equalizer, integrates with RunKeeper, and supports gapless playback and volume normalization for free.

Update #2: the latest Shuttle update ruined the app (removed features, themes, etc.) so for now I'm just using Apollo.


My old Shuttle settings (for reference):

Display:

  • Default Page: Albums
  • View Options > Albums: Grid
  • Enable Lockscreen Controls: checked
Themes:
  • Hybrid
Artwork:
  • Download Artwork Automatically: checked
  • Download Via Wi-Fi only: checked
  • Use Gmail Style Placeholders: unchecked
Headset:
  • Pause on Disconnect: checked
  • Gapless Playback: checked
Scobbling:
  • Enable Scrobbling: unchecked

______________________________

Legacy (non-working) instructions for reference:

There are a lot of online posts indicating doubleTwist does not work on Linux (or it does with with MTP but is a pain to set up).  For me, though, doubleTwist works fine with Lubuntu and CyanogenMod 11.

When I plug in my device via USB, it's automatically detected and file manager opens it via the MTP protocol:


When I add mp3 files to "SD card/Music", "SD card/doubleTwist", or "Internal storage/Music" doubleTwist loads them just fine.  I can also delete files in the "SD card/doubleTwist" folder via the doubleTwist app GUI.

The only thing that's annoying is that many of my albums do not display a cover art image.  I can either pay $$ for doubleTwist Pro (which automatically retrieves missing high-quality album art) or I can add the artwork manually to each song's ID3 metadata.  Note: This needs to be done on your PC prior to copying over the files to the doubleTwist folder (apps like Cover Art Downloader do not work).

Since doubleTwist doesn't support custom ROMs (like CyanogenMod), I decided on the latter approach using a handy (albeit non-intuitive) app called MP3 Diags.

1. sudo apt-get install mp3diags

2. Open the app via Start > Sound & Video > MP3 Diags and click on the sprocket icon, then check all the folders that have music and click the Scan button


3. Click on the gray disc icon and then select the desired album you want to add cover art to by clicking on the blue right arrow.



4. The selected album songs will now appear in the list.  To perform a general cleanup, click on the hammer #4 icon and then click Yes.  Repeat this process for each desired album by clicking the blue right arrow and repeating this step.



5. Next, click on the tag icon



6. Click the MusicBrainz icon, then check the box for "Track count", and click the Search button.  After verifying the information looks correct, click the "Save all" button and then click the floppy disk icon to apply the changes.  Repeat this process for each album by clicking the blue right arrow and repeating this step.



7. Once done editing the tags, close the Tag Editor screen.  Make sure the gray disc icon is selected and then click on the wave-graph icon then click "Normalize" to normalize the sound levels.  Repeat this process for each album by clicking the blue right arrow and repeating this step.


8. Next, click on the pen-on-blue-folder icon


9. Click on the "%n.%t" textbox icon and in the popup create your file rename format (I used %n - %t) and then click OK.


10. Click on the hammer icon to rename the files (click Yes to confirm).  Repeat this process for each album by clicking the blue right arrow and repeating this step.


11. Close the MP3 Diags application and copy your updated music folders to your smartphone.  Open doubleTwist to verify the album art appears and the tracks play correctly.

Tutorial: Installing CyanogenMod on Verizon Droid Razr M KitKat (4.4.2)

55 comments

Update: CM 11 still has microphone, audio playback, and WiFi bugs so with dhacker29 leaving the CM team, I've switched to his ROM, Gummy, for improved stability.  I've updated the original guide below accordingly:

Update #2: The speakerphone issue has been fixed and WiFi issue has been fixed on both CyanogenMod and Gummy.  Also, since Motorola support appears to remain strong on CyanogenMod, and it includes Privacy Guard (not found on Gummy), and the Gummy ROM OTA update process is currently broken, it's probably best to stick with CyanogenMod for now.  I've reverted the original guide accordingly:

Update #3: There continues to be WiFi and GPS issues using the KitKat bootloader so you'll need to downgrade to the JellyBean bootloader and install the _jbbl version of the nightlies instead (for example, see bug MC-39).  I've updated the guide accordingly

Update #4: The latest Verizon OTA update (183.46.15) patched the rooting capability of the towelroot exploit described below.  If you're starting with a stock Razr device, this guide won't help.  If your bootloader is currently unlocked, see this guide for regaining root access.

Update #4b: Some users are reporting success with kingroot for rooting the device but still no word on a reliable method to unlock the bootloader...

Update #5: This somewhat outdated guide is useful for switching from the Verizon stock OS to Cyanogenmod but if you already have a rooted phone or are already running Cyanogenmod and you want to upgrade to version 12.1, use this guide (the key is to use TWRP, install SuperSU when prompted in the recovery reboot process, and to use TK GAPPS [I like modular micro]).  Once installed, make sure to enable root and reset GPS.  Also, here are the Xposed instructions if you need them (get the latest xposed-v*-sdk22-arm.zip and XposedInstaller_3.0-alpha*.apk files here).  And don't forget to choose a cool theme (I like Euphoria Dark)

_______________________

So you've heard about this great utopia of milk and honey where your smartphone runs faster, uses less battery life, gives you more control, and provides more frequent updates and you want to try it out yourself.  Awesome.  But before we dive into that adventure, you must swear with an oath to obey the:

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Ten Commandments of ROM Flashing

  1. Thou shalt have no other ROMs before CyanogenMod LineageOS
  2. Thou shalt not proceed if thy exact device and Android version is not listed at sbf.droid-developers.org
  3. If thou knowest not what thou art doing, thou shalt not do it
  4. Remember thy backups, to keep them holy -- if any warning screen says "CANNOT BE UNDONE", cancel, create full (nandroid) backup, then continue with action.
  5. Thou shalt charge thy smartphone completely (100%) before attempting a ROM flash
  6. Thou shalt not kill thy smartphone by skipping steps, ignoring warnings, tl;dr, voodoo programming, shotgun surgery, panicking, etc.
  7. Thou shalt not commit adultery by installing zip, img, bin, etc. files from another manufacturer, device, version, or random outdated forum post onto thy device
  8. Thou shalt use the manufacturer's official USB cable (OEM)
  9. If thy device is Motorola, thou shalt use the Motorola version of fastboot
  10. Thou shalt give praise and thanksgiving to the many brilliant hackers that have made all of this possible!
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Now that we've established the ground rules, it's important to understand the technical terminology.  Read all of this post before moving on with the guide below (see Commandment #3 and #6).

Regarding Commandment #7, the following device terms are equivalent for the purposes of this guide:
  • Smartphone model: "xt907", "Droid Razr M", "Razr M", and "msm8960" (Note: the "Razr HD" device is similar enough to the "Razr M" that you're generally okay with files for that device as well)
  • Android version: "KitKat", "KK", "4.4.2"
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

WARNING: THE FOLLOWING GUIDE IS ONLY FOR VERIZON WIRELESS U.S. DROID RAZR M SMARTPHONES RUNNING ANDROID KitKat VERSION 4.4.2 (see Settings > About Phone).  I CANNOT BE HELD RESPONSIBLE FOR ANYTHING THAT GOES WRONG IN THE PROCESS OF FOLLOWING THIS TUTORIAL.  USING YOUR DEVICE IN THE WAYS DESCRIBED BELOW WILL VOID YOUR WARRANTY.  PROCEED AT YOUR OWN RISK.

Okay, if you've made it this far you're pretty committed to doing this.  So, without further ado:

A. Gain root access (similar to "jailbreak" on iOS devices)


1. On your phone, go to Settings > Security & Screen Lock
2. Check Unknown sources and (if exists) uncheck Verify apps (click OK on any security prompts)


3. If Settings > Developer options doesn't exist, go to Settings > About Phone and scroll down to the bottom.  Tap Build number seven times to enable developer mode


4. Go to Settings > Developer options, enable it if disabled, and check USB debugging


5. Open a web browser and download towelroot: https://tinyurl.com/khf62jr  [mirror]  {credit: geohot}
6. Click OK on the security warning to download.
7. Go to your phone apps and click on Downloads
8. Click on tr.apk and click Install and then Open
9. Click on the make it ra1n button.  You should now have root access!



10. Open a web browser and download Root Checker: https://tinyurl.com/ppg9cj7  {credit: CMDann}
11. Click the Verify Root Access button and make sure a green checkmark appears


12. On your phone, go to Settings > Location and turn Location ON (say Yes to any prompts that appear)
13. Open a web browser and download GPS Test: https://tinyurl.com/puwhtue  {credit: Chartcross Limited} and wait until "Accuracy (feet)" is greater than 0 (may take a few minutes; faster if you're outside with a clear view of the sky).  Note: this is NOT an optional step.  Activating GPS prior to flashing the ROM is required (see explanation here).
14. Congratulations, you're ready for the next phase!


B. Unlock the Bootloader

1. Open a web browser and download Moto-pocalypse: http://goo.gl/ioGJDo  [mirror]  {credit: djrbliss}
2. Click OK on the security warning to download.
3. Go to your phone apps and click on Downloads
4. Click on Motopocalypse.apk and click Install and then Open
8. Click on the Unlock Bootloader button.


9. Hold your power button and select Power off to turn off your phone.
10. Wait a few seconds for your phone to restart (if it doesn't, hold your power button down until it starts).  Your phone should display this message:


11. Congratulations, you're ready for the next phase!


C. Install device drivers

1. On your PC, download the latest Motorola drivers:


2. Connect your phone using the manufacturer cable (see Commandment #8) and make sure the device is recognized and you can browse the phone contents.
3. Congratulations, you're ready for the next phase!


D. Install custom Recovery image

1. Hold down power, volume up, and volume down buttons simultaneously.  When the device powers off, let go of the power button but keep holding down the volume up and volume down buttons until the bootloader screen appears.
2. Quickly press the volume down button until AP Fastboot is highlighted and then press the volume up key.
3. The screen should now be in fastboot mode and should say Device is UNLOCKED. Status Code:3.  At the bottom of the screen it should say usb connected


4. On your PC, download the Motorola version of fastboot (see Commandment #9) {credit: mattlgroff}
5. Extract the fastboot file for your operating system to somewhere in your PATH.  For example, on Linux:
  • chmod +x fastboot
  • sudo mv fastboot /usr/bin/
6. Open a terminal command prompt and type fastboot devices
7. You should see something like   {SERIAL NUMBER}   fastboot
8. On your PC, download the Razr HD/M Recovery image: http://goo.gl/keFZNy  [mirror]  {credit: dhacker29}  Update: some individuals have reported issues with installing the latest version of CM11 using the Clockworkmod (CWM) recovery mentioned in this step.  If you have trouble, try using the Team Win (TWRP) recovery image (TWRP-2.7.0.0-moto_msm8960-hdpi.img) instead: http://d-h.st/nw4  {credit: dhacker29}
9. In a terminal command prompt, browse to where the image file is located and then type fastboot flash recovery CWM6049-RAZR-HD_M-KITKAT.img
10. Hold down power, volume up, and volume down buttons simultaneously.  When the device powers off, let go of the power button but keep holding down the volume up and volume down buttons until the bootloader screen appears.
11. Quickly press the volume down button until Recovery is highlighted and then press the volume up key.
12. Your phone will boot into recovery mode:


13. Congratulations, you're ready for the next phase!


E. Create full device backup (a.k.a. "nandroid")

1. Use your volume down (or volume up) button to highlight backup and restore then press your power button to select it
2. Use your volume down button to highlight choose default backup format then press your power button to select it
3. Use your volume down button to highlight tar + gzip then press your power button to select it
4. Use your volume down button to highlight backup to /storage/sdcard1 then press your power button to select it
5. A full backup of your device will be created and stored on your SD card
6. Use your volume down button to highlight +++Go Back+++ then press your power button to select it
7. Use your volume down button to highlight mounts and storage then press your power button to select it
8. Use your volume down button to highlight mount USB storage then press your power button to select it
9. Your PC should now detect your phone.  Open the clockworkmod/backup/ folder.  Move the backup folder you just created (date timestamp may be off but that's okay) to your PC for safekeeping.
10. Use your volume down button to highlight +++Go Back+++ then press your power button to select it
11. Unplug the USB cable from your PC
12. Press the power button and let go.  The phone will restart.
13. Congratulations, you're ready for the next phase!


F. Factory reset

1. Now that you have a full device backup, it's time to perform a factory reset of your phone.  This will ensure any previously encrypted partitions are deleted, permissions are reset to factory defaults, and no previous phone settings or installed applications will interfere with the CyanogenMod install.
2. Follow these instructions to reboot into safe mode and then follow these instructions to reset your phone to factory settings (note: if the phone goes into a bootloop, just hold down the power button and both volume buttons simultaneously until the screen turns black and then release the power button while still holding the volume buttons and then when the boot menu appears, use the Volume Down button to highlight "Factory" and press the Volume Up button to select it.  Once the phone loads normally, turn it off and then back on again.) 
3. Follow these instructions to reformat your SD card
4. Due to this bug and other various GPS and WiFi bugs with the KitKat bootloader, follow these instructions to downgrade your phone to Jelly Bean (4.1.2) ...P.S. it's just the bootloader that will be running JellyBean, your actual phone OS will eventually be running KitKat (4.4.4) once you complete this guide
5. Re-do Section A above (gain root access)
6. Congratulations, you're ready for the next phase!



G. Install CyanogenMod

1. Connect your phone to your PC via the USB cable and browse to the SD card
2. On your PC, download the latest CyanogenMod snapshot with JellyBean bootloader
3. On your PC, download the desired Google Apps 4.4.4 image (I prefer the "Micro Modular" package)
4. On your PC, download the stock Motorola boot logo image: http://goo.gl/YYmG2f  [mirror]  {credit: aviwdoowks}
5. Copy the zip files from steps 2-4 to your phone's SD card
6. Unplug the USB cable from your PC
7. Hold down power, volume up, and volume buttons down simultaneously.  When the device powers off, let go of the power button but keep holding down the volume up and volume down buttons until the bootloader screen appears.
8. Quickly press the volume down button until Recovery is highlighted and then press the volume up key.
9. Once your phone boots into recovery mode, use your volume down button to highlight wipe data/factory reset then press your power button to select it
10. Use your volume down button to highlight Yes - Wipe all user data then press your power button to select it
11. Use your volume down button to highlight advanced then press your power button to select it
12. Use your volume down button to highlight wipe dalvik cache then press your power button to select it
13. Use your volume down button to highlight Yes - Wipe Dalvik Cache then press your power button to select it
14. Use your volume down button to highlight +++Go Back+++ then press your power button to select it
15. Use your volume down button to highlight install zip then press your power button to select it
16. Use your volume down button to highlight choose zip from /storage/sdcard1 then press your power button to select it
17. Use your volume down button to highlight stock.boot.logo.flashable.zip then press your power button to select it
18. Use your volume down button to highlight Yes - install ... then press your power button to select it
19. Use your volume down button to highlight choose zip from /storage/sdcard1 then press your power button to select it
20. Use your volume down button to highlight cm-11-2014... then press your power button to select it
21. Use your volume down button to highlight Yes - install ... then press your power button to select it
22. Use your volume down button to highlight choose zip from /storage/sdcard1 then press your power button to select it
23. Use your volume down button to highlight pa_gapps-modular... then press your power button to select it
24. Use your volume down button to highlight Yes - install ... then press your power button to select it
25. Use your volume down button to highlight +++Go Back+++ then press your power button to select it
26. Make sure reboot system now is highlighted, then press your power button to select it
27. Your phone will reboot, the Motorola logo will now display (instead of the annoying "Bootloader Unlocked" nag screen), and CyanogenMod will begin loading.  Be patient -- may take up to 10 minutes to load for the first time.


Congratulations, you've installed CyanogenMod on your Razr M!

Note: If CyanogenMod doesn't load after 10 minutes or you run into any other problems (e.g. bootloop, etc.), you can always start over by re-flashing your device back to factory settings.

In a follow-up post I'll describe some recommended settings and apps.


Tutorial: Restore Verizon Droid Razr M KitKat (4.4.2) firmware

263 comments

If you've done something to your Droid Razr M (version 4.4.2 - KitKat) and now it won't boot and you've tried everything else to fix the problem and are just about to toss it in the trash as a bricked device, try re-installing the factory default firmware:

1. On your PC, install the latest Motorola drivers and reboot

2. Connect your phone to your PC using the USB cable and make sure your phone battery is charged 100% (if not, wait until fully charged)

3. On your phone, hold down power, volume up, and volume down buttons simultaneously.  When the device powers off, let go of the power button but keep holding down the volume up and volume down buttons until the bootloader screen appears.

4. Quickly press the volume down button until AP Fastboot is highlighted and then press the volume up key.

5. The screen should now be in fastboot mode and should say "Battery OK" and "usb connected"  (note: if it says "Battery low", use these instructions to charge your phone)


6. On your PC, download the Motorola version of fastboot  {credit: mattlgroff}

7. Extract the fastboot file for your operating system to somewhere in your PATH.  For example, on Linux:
  • chmod +x fastboot
  • sudo mv fastboot /usr/bin/
8. Open a terminal command prompt and type fastboot devices

9. You should see something like  {SERIAL NUMBER}   fastboot

10. On your PC, download the appropriate Android firmware:
11. Extract the zip file contents to a temporary location on your PC

12. In a terminal command prompt, browse to where the extracted files are located and then type the following commands (one at a time):

fastboot -w
KitKat (4.4) ONLY: fastboot flash partition gpt.bin
fastboot flash sbl1 sbl1.mbn
fastboot flash sbl2 sbl2.mbn
fastboot flash sbl3 sbl3.mbn
fastboot flash rpm rpm.mbn
KitKat (4.4) ONLY: fastboot flash tz tz.mbn
fastboot flash aboot emmc_appsboot.mbn
fastboot flash modem NON-HLOS.bin
fastboot flash fsg fsg.mbn
fastboot erase modemst1
fastboot erase modemst2
fastboot flash logo logo.bin
fastboot flash boot boot.img
fastboot erase tombstones
fastboot flash recovery recovery.img
fastboot flash system system.img
fastboot continue


Note: initial boot may take up to 10 minutes to complete