Friday, October 30, 2015

How To Install Android Marshmallow (6.0) + GApps on Nexus 7 (2012)

Google announced that it would no longer be providing updates to the Nexus 7 (2012) tablet. Specifically, the WiFi version, which got updates alongside all the newer Nexus models until now. It seemed the death knell was fast approaching, and it would have if not for the unofficial Android Marshmallow ROM I'll be teaching you how to install today.




DISCLAIMER:  This is for the Nexus 7 (2012) WiFi & 3G tablet. If you decide to try this with the WiFi or mobile data version, you assume all responsibility.

Android M (6.0)
Android (M)arshmallow is the newest update for Android. It has plenty of new features, big and small. Such as rotating to landscape on the home screen, app permissions only agreed to (or declined) when the app actually needs that permission, and even a basic file manager. Not to forget the ability to use SD storage like internal storage, and even the new doze feature that should save battery during idle far trumping the amount saved from Lollipop or any version before.

There are so many new items, that it should be a welcomed milestone in Android updates.

WiFi & 3G
When news came of no more support, it was a bit devastating to me. I loved having a tablet that was "first" to get the new updates while people with Samsung, LG, HTC, Sony, etc. devices would be waiting months to get one, if they did at all.

I knew someone would eventually come to the rescue. The first person I saw was on XDA, and they did have a build of Android M. The downside was that it was "experimental", and many needed functionalities did not work.

Then Dmitry Grinberg saved us all with a working, functional version. He even noted how he was able to accomplish what others said could not be done for our unit. He initially made a WiFi version, quickly followed by the 3G version.

The two methods I will present will work for either version, just make sure you download the right file for your respective tablet.

How To Install Android M with TWRP (or CWM)
The following will assume that you have already rooted and installed a recovery to your Nexus 7 tablet. If you have not, take a look at my article here for information on how to do so. 

I should also mention that while I will be using TWRP, you can use CWM or Philz CWM recovery to do the following. The steps will be similar and the end result the same. What truly matters is that you have a recovery.

At the time of this writing, there are some other Android M ROMs for the Nexus 7. Some are identical as far as I can tell, and I have come across at least one that tries to be original (although acts buggy and fails to be a complete ROM as necessary for a daily driver). That being said, I will be going with the original as it has given me the best results.

A final note, I am using a touch version of TWRP. If you are not using a touch recovery, use the buttons to navigate and select choices.

  1. Download the Android M ROM for WiFi or 3G.
  2. Download a GApps (Google Apps), there is "Mini" or "Fix". (Both are almost identical, but "Fix" drops the Google and Now apps.)
  3. Transfer both ZIP files to the tablet, root of the internal storage is easiest. (If need be, change USB to MTP from the pull down status bar, after ensuring USB debugging is enabled).
  4. Turn off the tablet.
  5. Hold VOL DOWN + POWER buttons.
  6. When the "dead" Android appears, let go of the buttons.
  7. Use the VOL UP or VOL DOWN buttons to navigate to "Recovery mode".
  8. Press the POWER button to begin recovery mode (TWRP in this case).
  9. Click "Wipe".
  10. "Swipe to Factory Reset".
  11. Once done, push the back button until the main recovery menu.
  12. Click "Install".
  13. If the ZIP files were placed in the root of the storage device, scroll down to them and select the ROM first. If the ZIP files were placed in a folder, navigate to the folder and select it, then select the ROM.
  14. Click "Add More Zips".
  15. Find the Gapps file and select it.
  16. "Swipe to Confirm Flash".
  17. Click "Reboot System" once done.

The first boot will take some time, but even when passed the boot screen you will still have to wait for the optimization of all the Android apps. After that you will finally be ready to test out Android M on Nexus 7!

Experienced Issues
I experienced a few problems. The first I noticed was that the auto-rotate function did not always work on the home screen. What seemed to fix this was going back into recovery and wiping just the cache.

Another issue I had was I could not download BSPlayer Free from the Google Play Store. It kept throwing an error about not being able to download. I decided to download another marketplace so that I could. 

This presented another problem. The default browser would not allow me to even attempt a download of the desired marketplace. Eventually, I sideloaded the marketplace and was finally able to download BSPlayer Free. Other than that, all other downloads from Google Play Store worked without further issue. It should be noted that others have had problems trying to download certain apps from other places...

A final problem was the absence of a camera app (due to the version of GApps being used). I found that most official (and official-based) camera apps could be downloaded but did not open or work properly (including the Android M camera). However, I found that any camera I tried from the author Moblynx worked as expected.

Root?
At this point in time it looks like there is no root. I was hoping if I waited a bit to publish this article, someone would come up with the solution, but this has not yet come to pass.

The bootloader can be unlocked, but without a modified boot image, rooting is not yet possible. All officially supported Nexus devices have received modified boot images, which will allow them to root, so I will update this section once we do have a modified boot image to use for root.

Hidden Fun!
There are some hidden items that you can enable and mess about with within Android M. The first I took a look at was System UI Tuner. It's actually fairly simple to make appear. Pull down the status bar, then click and hold the small gear. Wait a few moments then let go. A message will appear stating that the System UI Tuner is now a part of the Settings menu.

System UI Tuner does not allow too much more freedom for the Nexus 7, but it can be useful. There are ways to turn off/on and rearrange icons for the status bar, the ability to place the percentage of battery within the battery icon, and a (useless) Demo mode.

Another secret is the multi-window function for Android M. Those of you with Galaxy devices may already be used to this feature since it is similar. (In my opinion, it is actually easier to use on Android M.) The best part about this is that the user is meant to jump through a few hoops in order to enable to the feature (and if your device has an official Android M firmware loaded, you will have to), and you must be able to achieve root. Thanks to the creator of this ROM, the process has already been taken care of without the need for root!

Go to your Developer options and look for the section called Drawing. The last entry will be Multi-window mode. Enable it and use the soft buttons to show a view of all open apps. There will now be a target-frame next to each large "X". Click on it and you will receive options as to how to show the window alongside others.

Do Android M's Dream of Electric Sheep?
Great section title, but it only lends to the fact that I wanted to state how beneficial Android M can be to the Nexus 7. There are a lot of features, ones I believe will help Google build to even better versions. Most of all, I found the doze feature most impressive.

When I was messing about with my Android--attempting to get the Android M camera to play nice--I decided to put it away in my room. I unknowingly forgot that it was still on, and 8-10 hours later, when I retired to my room, I found that the battery was still at 100%!

Unofficial Sign Off
This should keep us happy for a while (until the next version of Android comes about). It is a great step up and I see almost no reason to ever downgrade. Once you have spent some time delving into it, it makes the tablet seem like new again.

I believe the next happy endeavor will be when a successful root method has been created. We can then enjoy some of the amazing apps privy to us only when root can be done. But for now, we'll have to make do.