One GREAT Mega Feature

You may have heard of Mega, a cloud storage service started by notorious hacker-turned-entrepreneur\wanted fugitive Kim Dotcom (Dotcom has since left the company).

Mega offers 50GB of storage space for free accounts, and also has a “MEGAsync” app for computers that synchronizes the cloud data to your local computer (like the Dropbox or OneDrive desktop apps). Like those services, Mega also has apps for Android and iOS that let you access your cloud drive anywhere, and also automatically upload photos taken with mobile devices to your cloud account.

One thing the Mega app does that no other mobile app does is… give you the option of keeping your photos’ original filenames. This may sound trivial, but it’s not. Here’s why:

Dropbox renames all the pictures you upload, and (last time I checked) it doesn’t give you the option to disable this. Dropbox’s official reason for doing this is because some devices name your pictures sequentially, as in IMG_01.JPG, IMG_02.JPG, IMG_03.JPG and so on. So if your software were to update, or if you upgraded your SD card, or if you got a replacement phone, the numbering might restart at IMG_01.JPG, causing problems for Dropbox. By renaming the pictures, Dropbox avoids this problem.

Which is great… until you want to manually back up your pictures. You attach your phone to your computer via USB, open the SD card via Explorer, and drag the photos to your Camera Uploads folder… instantly creating a giant mess of duplicates, because your computer doesn’t know that IMG_1234.JPG and 2015-06-25 17.34.10.JPG are the same picture. This is especially annoying if your mobile device already names pictures like Dropbox does, but does it just a bit differently. Because again, your computer doesn’t know that 2015-06-25 17.34.10.JPG (Dropbox) and 2015.06.25.173410.JPG (LG phone) is the same photograph.

Which is what makes Mega’s app so cool. Just open the app, go to Settings and scroll down to the Camera Uploads section:

Mega Photo Name Option
(click to embiggen)

Problem solved! The next time you want to manually back up your pictures, Windows will warn you about duplicates!

Disabling LG’s KnockON

Most LG phones come with a “knock code” lock screen feature. Instead of using a pattern or PIN, you can elect to tap the screen in a certain pattern to unlock your phone.

I like having options, but never actually use this myself. Consider how difficult it is if you need someone else to access your phone. Imagine driving somewhere, and you need a passenger to check your phone. If you use a PIN, you can just say “yeah, the PIN is 1234” and the passenger can quickly figure it out. If they’re unfamiliar with knock codes, you’ll have to explain the entire concept: “OK, imagine the bottom half of the lock screen divided into four equal boxes numbered 1, 2, 3 and 4 starting at the top left. You need to tap 1, 4, 2, 2, 3, 4”.

Yeah, not easy.

Many LG phones also come with a similar feature called KnockON. This turns the screen on (but does not unlock it) if you double-tap it. Thing is, this sometimes causes the screen to come on when you don’t want it to. If you have your phone in a bag – or, in my case, between my fingers with a handful of stuff getting out of the car – the screen can turn on by itself, wasting precious battery life.

LG used to provide the option to turn this off. All one had to do was go to Settings > Lock Screen and tap the LockON option to turn it off or on. But LG has hidden this option in newer versions of Android. So how do you turn it off?

Note: Please see the update at the bottom of this post!

The following procedure is easy, doesn’t require root, and is easily reversible.

1) Open the Play Store, search for, and install, an app called Activity Launcher.

2) Once the app is installed, open it.

3) At the top of the screen, you’ll see a drop-down box allowing you to change the display from “Recent Activities” to “All Activities”. Select “All Activities”. It will likely take a minute or two to load the next screen, and you’ll see a progress bar giving you information about that.

4) Scroll down (waaaayy down) to Settings, and tap on that. If you have more than one “Settings” entry, try the first one.

5) Scroll down (waaaayy down) to KnockON. Tap the first option, the one marked

KnockON
com.android.Settings$KnockONSettingsActivity

KnockON 01
(click to embiggen)

6) The KnockON settings page will open. Uncheck the box at the top of the screen to disable it (as shown in the screencap below), or check it to enable the option:

KnockON 02
(click to embiggen)

Contrary to what the Settings page says, after unchecking the box, you’ll be able to turn your screen off or on via the power button, like a normal person.

7) OPTIONAL: If you like, you can create a home screen shortcut to the KnockON option by long pressing the KnockON option in step 5 and choosing “Create Shortcut” instead of just tapping it.

8) OPTIONAL: If you like, uninstall the Activity Launcher app. You will, however, need to download and install it again if you want to enable\re-enable KnockON. If you’ve made a home screen shortcut (mentioned in the previous step), it will continue to work if you uninstall Activity Launcher.

UPDATE (04/17/2017): An easier option is an app available on the Play Store called V10 Hidden Settings. Although it’s designed for the LG V10, many of its functions – especially the ability to turn KnockON on or off – work on my Stylo 2. Note that many features of this app will not work on a non-V10 phone: “Quick Info”, for example, gives me a “this device not supported” message when I tap on it. And “Screen Mode” (which gives you the option of choosing standard, vivid and natural color options) doesn’t give me an error message, but doesn’t appear to do anything at all on my Stylo 2.

Marshmallow, LG and Adoptable Storage

One of the coolest – if unsexy – features of Android Marshmallow is its ability to use adoptable storage. This means Android can treat an SD card as additional internal storage, rather than an external device, as it has in the past. Under the hood, Android will still see two separate devices, but it will (more or less) treat it as a single storage unit. It’s almost (but not quite like) having a 2TB drive in your desktop computer, then buying a 2TB external drive and, after installing it, Windows giving you the option of treating the drives as a single 4TB unit instead of two 2TB drives. It’s kind of like that, only better, because it’s much more difficult to expand a phone or tablet’s internal storage than to do the same on a desktop computer.

Unfortunately, two of the biggest Android device makers – Samsung and LG – have disabled this feature in their versions of Marshmallow. They claim that customers would be “disappointed” in the performance of their devices, since an SD card is likely to be slower than the internal memory. This is true, but not a dealbreaker if you know that going in. They also claim that SD card failure would cause apps to break… which is also true, but it’s not the end of the world: just buy a new SD card, repeat the procedure below, and reinstall the apps in question. As someone who played around with CyanogenMod a LOT a few years back, this is not a problem at all… especially since SD cards don’t fail that often.

So this post will show you how to enable the feature. There are a few caveats, however.

The first thing – and this should go without saying – is to make sure to back up any important files you may have on your SD card before you do this. This procedure WILL ERASE the card, so data will be lost forever. Also, read the instructions below, in full, and make sure you understand them completely before you even touch your phone or computer. The time to be confused is before you start an IT project, not during the project.

Secondly, I have only tested this – once – on a Virgin Mobile LG G Stylo. It worked for me, but it might not work on your device. It might not even work on the same phone on a different carrier. Google “[your device] adoptive storage” and see what comes up. As always, there’s the possibility of wrecking your phone, so please research this before jumping in feet-first!

Thirdly, this procedure will create an encrypted ext4 partition that will fill your entire SD card. You’ll still be able to attach your device to a computer via USB and copy files that way… but you won’t be able to take the SD card out of your phone, pop it into an SD card adapter, then put it into a laptop or desktop card reader to copy files. If you haven’t already, it’s probably a good idea to look into cloud services that offer online backups of your pictures, like Dropbox, OneDrive or Mega.

Lastly, this isn’t something you can “just try out” with a spare 8GB SD card and upgrade to a 32GB card later. If this is something that interests you, go ahead and spend the $10 on a new 32GB card and be done with it.

NOTE: PLEASE READ THE ‘IMPORTANT UPDATE’ SECTION AT THE END OF THIS POST FOR ANOTHER POSSIBLE ISSUE TO CONSIDER!

That said, here’s how to enable adoptable storage on your Marshmallow device. It’s really simple: I was able to do the entire thing in around 10 minutes… while on hold with Virgin for an unrelated billing issue.

1) On your computer, go to this page on the XDA forum and download the “15 Seconds ADB installer”. I used the current version – 1.4.3 – but it might be updated by the time you read this.

2) Once downloaded, right-click on adb-setup-1.4.3.exe and choose “Run as Administrator”. As the linked page says, press Y to “install ADB and Fastboot”, Y or N to install for all users (Y) or just the current user (N), and Y to install the necessary drivers. After the last question, you should see the standard driver install dialog. Click “Yes” (or “Allow” or “OK”, I forget which) to install the Google device driver.

3) If you haven’t already, enable “Developer Mode” on your device by going to Settings > About Phone > Software Info and tapping “Build Number” seven times. You will know you’re getting close when the phone says something like “only 3 more taps to Developer”.

4) Tap Settings > Developer Options and enable USB Debugging. Click “OK” to the warning message that will appear.

5) Connect your phone to your computer via USB. A window should pop-up on your phone asking to enable USB debugging and showing your computer’s “RSA key”. Tap “Always allow from this computer” (if desired) then tap “OK”. If you don’t see this window, drag down your notification area and look for a similar debugging message and tap that.

6) On your computer, open a command-prompt in the ADB directory (which should be c:\adb).

7) Type adb devices and press ENTER. You may see your device listed, probably with a long name, like “LGLS7709e27dc19 device”. If so, skip to the next step. If you get a message about a “service not running”, the software should say that it’s starting it, but the app won’t poll your devices again. So type adb devices and press ENTER again. You should now see your device listed.

8) Type the following commands exactly as shown, pressing the ENTER key after each one:

adb shell sm list-disks
adb shell sm list-volumes all
adb shell sm set-force-adoptable true
adb shell sm partition disk:179,64 private
adb shell sm set-force-adoptable false
adb shell sm list-volumes all

NOTE: the fourth command partitions your SD card, and may take 2-3 minutes (or longer) to complete, depending on the size of your card.

ADB CMD prompt

9) Disconnect your phone from the USB cable and reboot it. The reboot is crucial. Your phone may (or may not) take a bit longer to boot this time. One message board user reported that his phone appeared stuck on the Virgin boot logo for several minutes, but finally booted and has been fine ever since. My phone seemed to boot normally, maybe taking just a few extra seconds at most. Your mileage may vary.

10) Once your phone is fully booted, tap Settings > Developer Options and disable USB Debugging, clicking “OK” to any messages that may appear.

11) Go to Settings > Storage & USB and tap your SD card. Tap the three dots in the upper-right corner and choose “Migrate data”:

Marshmallow Migrate Data 01
(click to embiggen)

12) A wizard will appear, telling you that photos and media files will be moved to the SD card, and that in the future they’ll be saved there, too. Tap “Move”:

Marshmallow Migrate Data 02
(click to embiggen)

13) After the move, you’ll see that although Android reports the size of each device individually, you have a total of x space. In my case, it’s 37.33GB:

Marshmallow Migrate Data 04
(click to embiggen)

14) Go to Settings > Apps and tap on an app. Tap “Storage”. At the top of the resulting window you should see “Storage used: Internal storage”. Tap the “Change” button and choose your SD card, like so:

Marshmallow Migrate Data 03
(click to embiggen)

Not all apps support being run from the SD card. Not surprisingly, most of Google’s own apps can’t be moved. Most can though, and you’ll get a simple, two-step wizard to move the data. If you don’t see a “Storage used: Internal storage” option, the app cannot be moved. Also, if you use Spotify, you will need to tap Storage > Clear Data. This will reset the app, so you’ll need to log in and download all your offline music again. If you don’t do this, the app will open and immediately close (no matter what you do) until you clear data.

15) Repeat as necessary for other apps. Note the overall amount of space used on my phone is the same, but internal storage usage has decreased while SD storage has increased:

Marshmallow Migrate Data 05
(click to embiggen)

If this sounds a bit like my old article on expanding storage on the LG Tribute… it’s almost exactly the same thing… only this time it’s using tools built-in to Android to do so. Also, root is not needed in this case, so apps that complain about root status will stay quiet.

*     *     *

IMPORTANT UPDATE (03/12/2016): This may (or may not) be related to adding adoptive storage to my phone, but I just wanted to let you know about a possible issue that might happen, and offer a strange workaround if it does.

The issue is this: after adding adoptive storage, you might notice that the “None” and “Swipe” options are disabled in the Lock Screen options, with the message that it has been “disabled by administrator, encryption policy, or credential storage”:

Marshmallow Migrate Data 06
(click to embiggen)

I work from home most days, and almost always leave the lock screen on swipe, since there’s little need for security in my own home. I went out the other night, and since I was running late I quickly set the option to PIN and didn’t notice the two other options greyed out. But then I came home and tried to switch back and found that I could not.

Now, my phone might have been like this for weeks, and I only just now noticed it. My carrier upgraded the phone from Lollipop to Marshmallow early January, and it’s possible that this could have happened then. That’s the point: I just don’t know. I’ve been an IT guy long enough to know that coincidences are rare… but they do happen from time to time.

So… how do you fix it? I don’t know. I haven’t found anything that’s worked yet. One solution offered is to go to Settings > Security > Certificate Management and click “Clear Credentials”. But this has not worked for me.

I have, however, found a strange workaround that won’t let you select swipe, but will enable it anyway:

1) Go to Settings > Lock Screen and choose “Pattern”.

2) Choose a pattern, then choose a PIN if you don’t already have one.

3) Lock the phone, then enter the WRONG pattern five times. You will get a message that says something like “You have incorrectly entered your pattern 5 times. Please try again in 30 seconds”. You will also see a box in the lower right corner of the lock screen that says “Backup PIN”. Tap it, and enter your PIN.

4) Until you change it, your lock screen should now be on swipe, even though it’s not an option you can select (just like my screencap above).

As I said, my phone could have been like this for weeks, and I only just noticed it after adding the adoptive storage. I read several articles and how-tos online on the subject, and not one of them mentioned anything about the lock screen, so I’m inclined to think it’s just a coincidence.

Huge thanks to AndroidForums member stanton renna, who actually typed all this up in a handy post. He (or she) did all the real work – I just wrote it up in my own words and added a bunch of screencaps!

Spotify, Marshmallow and SD Cards

One of the main selling points of Spotify Premium is the ability to download albums and playlists for offline listening. If you’re taking a long plane flight or going on a road trip, for example, you can download the music so you don’t have to worry about having access to Wi-Fi or LTE to listen to your tunes.

On previous versions of Android, Spotify would look for the storage device on your phone\tablet with the most free space, and save your offline music there. For most folks, this would be a microSD card. Hell, apps like Spotify Premium are one of the main reasons Android users install 32GB (or larger) SD cards in their devices in the first place.

If you’re using Marshmallow – Android 6.0, currently the latest version – you may have noticed Spotify storing music on your device’s internal storage instead of the SD card. This is especially worrying for people who don’t have a lot of spare space on their phones… but even if you do have space, it’s kind of annoying to spend money on an SD card, only to have Spotify ignore it.

What’s happening is that Marshmallow, by default, does not allow apps to access the SD card. The app may request permission, but if you accidentally click “no”, or if the app installer doesn’t ask (or somehow fudges it up during install), it won’t use external storage at all.

So… what to do about Spotify and offline music?

If you DO NOT have Spotify installed, go ahead and install it from Google Play, but don’t open it yet. Instead go to Settings > Apps > Spotify and look for the “Permissions” section:

Spotify Permissions 01

The section will probably say “No permissions granted”. If so, tap it and move the “Storage” slider to the ON position:

Spotify Permissions 02

Exit out of all that, then start Spotify and log in. The app should now save offline music to the SD card. You might want to verify this by tapping Settings > Storage and checking the available space on your SD card before and after downloading some music.

If you ALREADY HAVE Spotify installed on your device, tap Settings > Apps > Spotify > Force stop. Wait for the app to close, then tap “Storage” then “Clear data”. Then go back a page and tap “Permissions” and enable “Storage”, as shown above. When you restart Spotify, you will need to log in again. You’ll also have to download all your offline music again, but this time it should be saved to your SD card instead of internal storage.

NIFTY GADGET: Proxicast USB Cable

First things first: I apologize for my latest “nifty gadget” posts. I know some of them are, well, kind of lame. But in every case, these “nifty gadgets” have solved some real-life problem I was having. I just want to spread the news to others who might be having the same issue.

I know this has either happened to you, or happened to someone you know: you go out and buy a new phone. Maybe that same day, or maybe later on, you buy a case for the phone. Only problem is, the case is just a millimeter or two too thick, and the micro USB charging cable won’t fit in all the way. So you have to either take the phone out of the case every time you want to charge it, or you have to jam the cable in and use something – books, or maybe a nightstand drawer – to keep the cable in place while the phone charges.

Well, you don’t have to jump through those hoops any more! Amazon sells USB cables from a company called Proxicast that have extra long USB connectors:

Proxicast USB cable
(photo via Amazon)

On the right is a standard micro USB connector; on the left is a Proxicast cable with their extended USB connector. It’s only a couple millimeters longer than a standard connector, but it can make all the difference with phones or tablets and a “thicker than anticipated” case. I’ve had one for a few days, and it works a treat with my new LG Stylo phone and wallet-style case.

A 6-foot (1.8m) Proxicast USB cable costs around $6.99 and is available from Amazon here. If you’d like to save a dollar, you can get a “charging only” cable for $5.99 here.

NIFTY GADGET: International Power Strip

Almost all gadgets these days are auto-switching, which means that the electric guts of most laptops, tablets, mobile phones and media players can automatically switch to a different electrical system. If you were going to Europe, for instance, you wouldn’t need to bring a voltage converter, just some plug adapters like these:

US plug adapters
pic via Amazon

When you get to Europe, you just insert your American plug into one end of the adapter, then plug the adapter into the wall outlet, and you’re done: your device handles the rest.

You know what would be even better, though? How about a European power strip with universal plugs!

universal power strip
pic via Amazon

The business-end of this power strip is an EU plug, but the outlets on the strip can accept several types of plug: 2 or 3 prong US plugs, the UK and Ireland’s comically large plugs, native European plugs and more. It also has two USB ports providing a total of 2.1 amps.

I bought one of these for a recent European vacation, and couldn’t be happier with it. Our hotel room in Brussels only had one available outlet, so the missus and I were able to charge our many devices without a problem. We rented a private apartment in Paris, and the bedroom outlets were in inconvenient locations; I put the power strip in the living room, and the four of us took turns charging things off it. Very handy indeed:

The power strip in action

Here’s a cellphone pic of the strip in action, charging (from left to right), an Anker 5-port USB charger, a European cell phone with native charger, my Asus tablet, and my iPod Nano via USB.

The iFer power strip is available from Amazon for around $15.99.

Resetting a HomeGroup

Networking has never been Windows’ strong suit, especially for home users. With Windows 7, Microsoft introduced a new feature called HomeGroup that should (in theory) make home networking easier. You just go through a dead-simple wizard and are given a password. Go to other Windows 7 (or later) computers on your network and go to Control Panel > Network and Sharing Center > Homegroup > Join Homegroup and enter the password. Done… at least in theory.

But the HomeGroup applet doesn’t have a simple “delete this network” or “reset this network” option. If you create a HomeGroup on one computer and that computer later goes away – via upgrade or hard drive crash or the standard wipe and reinstall – you’ll still see the ghost of the old computer on your network: if you try to create a new HomeGroup, you’ll get the following message: “[user] has already created a HomeGroup on [old computer]. Do you want to join it?” Of course, the old computer is gone, so you can’t join the HomeGroup. If you go to a different computer still connected to the HomeGroup, you can only leave the HomeGroup, not create a new one or get rid of the old one.

So how you can you get rid of an old HomeGroup? It’s simple, if not the first thing you might think of: fully shut down all the computers you want in the HomeGroup (sleeping or hibernating them won’t cut it; you have to shut them down fully). Then power on the computer you want to use to create the new HomeGroup. With all the other computers off, you should be presented with the “Create HomeGroup” option:

HomeGroup

Windows 10: The Bug in Windows Photo Viewer

Windows 10 comes with a slick new image manager with the imaginative name “Photos”. It’s nice and all, but it lacks some of the features the XP-era Windows Photo Viewer had. For one, Photos doesn’t display the file name in the title bar; you have to click multiple times to see the filename. This is frustrating if you’re working with pictures that are very similar, say multiple takes of the same pose, or pictures that look very similar as thumbnails, like screen caps.

While XP’s Windows Photo Viewer is included in Windows 10, and can easily be made the default imaging app, the version of WPV that ships with Windows 10 has a super-annoying bug: if you click the right or left arrows to scroll through pictures, images are always displayed in alphabetical order, regardless of how you have the folder sorted. In previous versions of Windows, you could sort the pictures by size or date, and when you scrolled through the pictures in WPV, the app would respect that sort order.

Thankfully, it’s an easy fix. Just copy the following text into your favorite text editor, like Notepad, and save it as a .REG file. Then right-click the file, choose “Merge” and click “Allow” or “OK” to the warning that appears:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Paint.Picture\shell\open]
"MuiVerb"=hex(2):40,00,25,00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,\
69,00,6c,00,65,00,73,00,25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,\
00,20,00,50,00,68,00,6f,00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,\
72,00,5c,00,70,00,68,00,6f,00,74,00,6f,00,76,00,69,00,65,00,77,00,65,00,72,\
00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,33,00,30,00,34,00,33,00,00,00

[HKEY_CLASSES_ROOT\Paint.Picture\shell\open\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,22,00,25,\
00,50,00,72,00,6f,00,67,00,72,00,61,00,6d,00,46,00,69,00,6c,00,65,00,73,00,\
25,00,5c,00,57,00,69,00,6e,00,64,00,6f,00,77,00,73,00,20,00,50,00,68,00,6f,\
00,74,00,6f,00,20,00,56,00,69,00,65,00,77,00,65,00,72,00,5c,00,50,00,68,00,\
6f,00,74,00,6f,00,56,00,69,00,65,00,77,00,65,00,72,00,2e,00,64,00,6c,00,6c,\
00,22,00,2c,00,20,00,49,00,6d,00,61,00,67,00,65,00,56,00,69,00,65,00,77,00,\
5f,00,46,00,75,00,6c,00,6c,00,73,00,63,00,72,00,65,00,65,00,6e,00,20,00,25,\
00,31,00,00,00

[HKEY_CLASSES_ROOT\Paint.Picture\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\jpegfile\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

[HKEY_CLASSES_ROOT\pngfile\shell\open\DropTarget]
"Clsid"="{FFE2A43C-56B9-4bf5-9A79-CC6D4285608A}"

If you’d prefer to just download the reg file, click here.

Slow Chrome?

Ever since Chrome updated to version 46.0.2490.71, it’s been slow as molasses on my Windows 10 computer. Last night was the last straw: at one point, pages were taking anywhere from 2-6 minutes to load! And lest you think there’s something wrong with my internet connection, Edge and Firefox work just fine, thank you very much. Another sign that something’s wrong with Chrome specifically: it’s also taking the browser an extraordinarily long time to open local resources, like the bookmark manager and settings page. You know something’s wrong when you click “Settings” and it takes 2 minutes to open!

I don’t know exactly what’s happening here, but I have found a way to fix it: go to Settings, click “Show advanced settings”, uncheck the “Use hardware acceleration when available” box, then restart Chrome. You should find Chrome is much faster than before, and pages will no longer take minutes to load.

Adding More Storage to the LG Tribute

As I said in this post, I own a cheap Android phone. If you don’t want to go back and read that article, I’ll give you the short version: I owned three Android phones – each costing between $179 and $299 – and all of them were junk: they locked up, they spontaneously rebooted and stock apps crashed. So I bought a $79 LG Tribute phone just to “tide me over” until I could switch carriers, or until my carrier got some new phones. But I ended up really liking the Tribute: it does everything I want an Android phone to do, and it doesn’t crash or reboot or give me much trouble at all.

In fact, the only two things I don’t like about the Tribute are the subpar camera and lack of storage space. I can’t do much about the camera, but I can fix the storage space issue. Here’s how. To add space to your Tribute, you’ll need a large (16 or 32GB) micro SD card, a few free apps, and about 30-45 minutes.

But first, a warning: THIS PROCEDURE WILL ROOT YOUR PHONE. Although I have done the following procedure on my phone 4 times now without incident, there is a NON-ZERO chance that you could screw up something that will render your phone unusable. Please read the instructions below fully before trying this on your own phone. If you don’t understand something, please read the instructions until you do, or leave a comment so I can help. Having said all that, I am not responsible for any damage to your device!

What we’re going to do is root the phone, then install an app which divides your SD card into a FAT32 (Windows) partition and an ext4 (Linux) partition. We’ll then install an app which moves your apps to the ext4 partition on the SD card and creates symbolic links (symlinks) on the phone’s storage, which “tricks” Android into thinking the apps are installed there instead of the SD card.

STEP 1: BACKUP THE SD CARD

If you already have a 16GB card in your phone, go to Settings > Storage > SD card and see how much free space you have. What we’re going to do is shrink the existing partition by half. If you’ll still have plenty of free space left over after shrinking the partition, then you’re good to go. But if going from 16GB to 8GB will only leave you with a few hundred megabytes free, you’re going to need to either move some stuff off the card or upgrade to a 32GB card.

Either way, you need to back up the contents of the card just as a precaution. You can do that by attaching the phone to your computer and copying the files, or turning the phone off, pulling the SD card and putting it in an adapter and card reader. Whichever way works for you.

STEP 2: PREP THE PHONE

The first thing you want to do is enable USB Debugging. Click on Settings > About Phone > Software Information and tap “Build Number” seven times. You will know this is working because the phone will say something like “Tap 3 more times to get Developer Options”. Once you tap the full seven times, go back to the main Settings screen. You’ll now see an “Developer Options” menu. Click that, then click “OK” to the warning message. Lastly, scroll down and tap “USB debugging” to enable it.

Next, go back to the main Settings screen and tap “Security”. Scroll down to the “Unknown Sources” option and tap it to enable it. Click “OK” to any warning messages you may get.

STEP 3: ROOT THE PHONE

Using your phone’s web browser to go this page and download the latest version of KingRoot. This is a well-known rooting app, and it’s hosted on XDA, one of the largest Android enthusiast sites. It’s safe and legit, I promise. The download links are near the top, just under the introduction section. Download the file and save it to your phone (click “OK” or “Allow” if you get a “this file may harm your phone” warning).

After downloading, open File Manager and go to your Downloads folder. Tap on

NewKingrootV4.52_C127_B227_xda_release_2015_09_28_105243.apk

(the file name might vary according to version). Android will ask if you want to install the app. Tap “Yes” or “Allow”.

Once the app is installed, run it. You will see a screen that says “Root access is unavailable” and a big blue “Start Root” button. Tap the button, and a round progress meter will appear. It will probably go very slowly at first, but once it gets to around 24% it will move very rapidly. You should get a “root successful!” message. If so, reboot your phone, if the app asks you to. Also, note that KingRoot might reboot your phone while trying to obtain root. It never has on my phone, but you’ll see an on-screen message that it might need to.

STEP 4: INSTALL APARTED

Go to the Play store, search for “Aparted” (web link) and install it. Reboot your phone if the installer asks you to.

Next, go to Settings > Storage > SD card and choose “Unmount SD card” – this step is crucial!

Next, open Aparted and tap “Tools”. check the box for your existing FAT32 partition (this will most likely be “Part. 1: FS: fat32”. Scroll down and choose “Resize” from the drop down box. Drag your finger across the blue partition from right to left to shrink the partition. You want it to be roughly half the size it is now, but don’t worry about getting it exactly half the size: you almost certainly won’t get it exactly half. When you’re ready, tap “Apply”. Aparted will then shrink the existing FAT32 partition to the size you chose.

Next, tap the checkbox for the first available empty space – it will likely say “Part 2: FS: empty Size: 7989MB” or something similar. You’ll know you’ve chosen the right one when the the empty space to the right of the existing FAT32 partition is highlighted. Once you’re sure you’ve chosen the right one, select “Create” from the drop-down box. You’ll then be presented with a list of file system types. I know ext2 is normally preferred for external storage like this, but I tried it twice and it did not work. I have never had a problem with ext4, so select that, then tape “apply”. When Aparted is done, you should have an 8GB FAT32 partition (for camera pics and external storage for your apps, like downloaded Spotify music) and an 8GB ext4 partition for your apps, Reboot your phone if Aparted asks you to. If not, exit the app, then go to Settings > Storage > SD card and choose “Mount SD card” is allow Android access to the SD card again.

STEP 5: INSTALL LINK2SD AND MOVE THOSE APPS!

Go to the Play store, search for “Link2SD” (web link) and install it. As always, reboot your phone if the installer asks you to.

Open the app. Click the upside-down pyramid next to “Link2SD” at the top of the screen and choose “User”. Although it’s possible to move almost any app to the SD card, at this time I do not advise you to move system apps, just user apps (apps you have installed on the phone). It possible that moving a core Android app to the SD card could crash the phone, and besides, moving the user apps should free up plenty of space.

After choosing “User”, you should see a list of apps on your phone. Tap one, then scroll down and tap “Link to SD Card”. You should then see a screen that allows you to choose which types of files to move: the application file, the dalvik-cache file, the library file (which may be greyed out if not applicable) and the internal data (which is only available in the paid version of the app). Choose the first two (or three, if library is available) and click “OK”. Link2SD should move the app and create symlinks on your phone. If you get a “cannot find entry point” error, go back to Link2SD’s main screen, click the three lines at the top left and choose “Recreate Mount Scripts”.

If the first move was successful, continue on to other apps. Note that some apps, like Spotify, do not like being moved at all. I tried moving it, and Spotify would take FOREVER to load and eventually hang. So I moved it back to my phone’s main memory. But most apps will work just fine, and if you move enough of them, you’ll end up with tons of free space on your phone. After moving most of my apps, I had room to install the regular Facebook app (not Facebook Lite, as I was using before), Facebook Messenger, MyVegas slots, Firefox, Accuweather, and a lot more!

I also bought Link2SD Plus, my first-ever paid-for Android app. As mentioned, the paid version lets you also move the app’s internal data. This can free up even more space on your phone, but be careful with this. Your phone’s internal storage is much faster than an SD card. For an app like Facebook (which often has 150MB of internal data on my phone), moving the internal data to the SD card can make the app very slow to start, almost to the point of being unusable. You’ll have to experiment with this on your own, as I don’t know which apps you use and how much internal data they have, and what your personal threshold of “takes too long” is. But know that moving the data around isn’t an “all or nothing” proposition: you can always move an app, test it out, then go back to Link2SD and click “Remove Link” to move all of it (or just the internal data) back to the phone if you’d like.

Lastly, note that Link2SD keeps an eye on app updates. If you link an app to the SD card and it later gets an update via Google Play, Link2SD will automatically move it to the SD card for you after the install. It can take anywhere from 30 seconds to a few minutes for Link2SD to see the change and initiate the move, so don’t download an update to Instagram and immediately open it: wait for a blue SD card icon to appear in the notification area. Once you get the “Link2SD has moved the application ‘Instagram” to the SD card”, the app is safe to use.