Over a number of recent posts, we have been working towards installing an updated version of the Android operating system on a Moto G3 smartphone. We have unlocked the bootloader, backed up the entire system, and have rooted the phone. Now, it’s time to install a custom ROM and upgrade the OS to a “forbidden” version (i.e. a new version of Android that is not being supplied by Motorola as an update to the Moto G3). While this process ultimately proved to be quite straightforward, there were some important lessons to be learned (by me) along the way.
My first step was to make another system backup using the TWRP Custom Recovery software that had been installed earlier. This proved to be an extremely valuable resource. One can’t have too many backups!
Recently, Google released Android 8.0 (Oreo), and developers soon produced a custom version of this OS that could be installed on the Moto G3. So, wanting to have the latest and – presumably – the best, I opted to download the “Unofficial LineageOS 15.0” package produced by Alberto97 and available on the xdadevelopers forum.
Earlier, following the instructions in a YouTube video produced by the Android Doctor, I had planned to install Android 7.0 (Nougat) using a custom ROM that had also been produced by Alberto97. In preparation for this, I had downloaded both the Android 7.0 custom ROM file and the ARM 7.0 version of GApps (Google applications), and had transferred both files to my phone.
Now, I downloaded Android 8.0 (Oreo), as the LineageOS 15.0 custom ROM (lineage-15.0-20170912-UNOFFICIAL-osprey.zip), and transferred this file to my phone. Since I had no intentions of installing Google’s applications (having just disabled/uninstalled them from my rooted phone), I thought I would be able to just install the custom ROM and ignore GApps. First lesson – this is not so!
The process of installing the custom ROM is quite simple. Firstly, boot the phone into recovery mode. The easiest way to do this is to use the Quick Reboot app (see: TWRP Custom Recovery – MIA). Otherwise, boot the phone manually into recovery mode by holding down the volume-down and power keys simultaneously.
Next, select the Wipe option and swipe the set of arrows at the bottom of the screen to the right (Swipe to Factory Reset). Finally, go back to the main menu and select the Install option. Navigate to the location of the custom ROM and select this zip file for installation. Now swipe the arrows once more (Swipe to confirm Flash) to start the installation process.
Once the installation has completed, the sequence of commands will be terminated by a “Done” message. You can now back out of the installation menu and select the Reboot – System options to boot your new version of Android.
Well, that was the plan. But – Second lesson – the version of GApps has to match the version of Android being installed or the installation will fail!
This is what happened on my first attempt at installing a custom ROM. I was trying to install Android 8.0 along with Version 7.0 of GApps. The installer choked, basically leaving me with the option of rebooting the phone.
But, now things got interesting. Remember that we wiped the system before starting the installation routine? That means that there is no (real) system to boot to. The phone reboots into a bare-bones environment that seemingly allows emergency (911) calls to be made via the SIM card, but nothing else!
Here is where that backup becomes extremely important. The fix for our current dilemma is to reboot the phone into recovery mode, select the Restore option, choose the backup package to be restored, and “Swipe to Restore”. The installation process works flawlessly and, once completed, the phone can be rebooted to its prior state.
Once the phone was working normally, it was a simple matter to download GApps ARM 8.0 (as the file open_gapps-arm-8.0-stock-20171012.zip) and transfer this to the phone. Now, the installation of the LineageOS 15.0 custom ROM could be completed successfully and – without flashing the associated GApps file – my phone then booted into Android 8.0!
Third lesson – Android 8.0 will run without GApps, but the Play Store isn’t loaded and so isn’t available for downloading all the useful apps that one needs. The fix is simple. Boot the phone into recovery mode, select the Install option, and install the GApps package.
Fourth lesson – There is a confusing (to me) choice between Google Now Launcher and Pixel Launcher. Firstly, I’m not sure what these launchers actually do and, secondly, I don’t know which I should choose. They seem to determine the layout of the home screen and, for me, the appropriate option appeared to be the Google Now Launcher.
Fifth lesson – Beta versions of custom ROMs are beta for a reason. With GApps installed, my attempt to load the Play Store was met with pop-up messages indicating that “Unfortunately Google Play Services has stopped”. I couldn’t find a solution to this issue. Well, that’s to say that I couldn’t find a workaround for the Android 8.0 beta. My “solution” was to back up a step and install a custom ROM for Android 7.1!
Alberto97 now has an “official” version of LineageOS 14.1, and the downloads link for this package points to a web page of nightly builds. I chose to install the most recent build (at the time of installation) and, of course, I also obtained the corresponding version of GApps!
So, I installed Android 7.1 using the files:
The phone now boots into the newer version of Android – and Play Store is available so I can re-install my favourite apps!
Unlocking the bootloader of a Moto G3
Install Custom Recovery Software on a Moto G3
Rooting a Moto G3 Smartphone
Root & Install Android 8.0 Oreo On Moto G3 2015
Moto G 3rd Gen 2015 Root & Install ANDROID 7.0 NOUGAT
Quick Reboot [ROOT]
[ROM][osprey] Official LineageOS 14.1