site  contact  subhomenews

Going for Gapps on Nexus 5

March 30, 2018 — BarryK

Much as I like the concept of microG, I have 95% decided to go with LineageOS and picoGapps. Mostly because I want Google Play Store.

However, still trying to minimize the googlification of my phone, so picoGapps seems to be the best choice. It only has one app, Google Play Store, and minimal Google infrastructure, as this table shows:


The table is from here:

As well as all that we read about Google collecting data on us, there is something else that causes me some concern...

The first time that I boot LineageOS with microGapps, the Google Terms and Conditions displays. Including this little gem:

Google Services

Install updates & apps
By continuing, you agree that this device may also automatically download and install updates and apps from Google, your operator and your device's manufacturer, possibly using mobile data. Some of these apps may offer in-app purchases.
You can remove these apps at any time.

...why did the word "Microsoft" come into my head as I read this?!

Tags: tech

Testing LineageOS with picoGapps on Nexus 5

March 28, 2018 — BarryK

EDIT 20180402:
Conclusion about SafeInCloud
EDIT 20180330:
Went through install of LineageOS and picoGapps again, attempting to fix SafeInCloud. See dark-red text below.

So far, have been playing with LineageOS and microG. Follow the posts from here:

I decided that the testing is incomplete without trying OpenGapps, which installs the official Google Play Services, instead of microG.

This has to be installed in a certain specific way. OpenGapps must be installed immediately after LineagOS is installed, and before LineageOS first bootup. This summarises how I did it:

I downloaded the smallest Opengapps, 'picoGapps', to my computer (which only has the 'Play Store' app):

With computer connected to phone, and talking to each other by 'adb' (with USB cable):

Note: TWRP is already installed, with USB-debugging and APK-sideloading enabled in the Settings.
Install TWRP:

pc: # ./adb reboot recovery
ph: Wipe -> Format Data
ph: swipe -> Wipe -> Advance Wipe -> tick all checkboxes -> swipe
back, back, back -> Advanced --> ADB Sideload -> swipe
pc: # ./adb sideload
ph: back -> ADB Sideload -> swipe
pc: # ./adb sideload
ph: Reboot System -> swipe

This time, using my new Google account, I installed SafeInCloud from the Google Play Store -- and paid for it (again, because previous payment was on my main Google account).

SafeInCloud works, except for one important detail -- cannot save the database to local storage. This seems to be an issue with how LineageOS is setup. The error notification is from Privacy Guard:

"SafeInCloud will not be able to access personal data"

...and I was unable to bypass or disable that!!!

Another very interesting point: with LineageOS/microG, I just sideloaded the SafeInCloud .apk, and it already thought that it was the paid "Pro" version, has the extra Pro features and did not ask for money, and both online sync and local saving worked.

Another thing to consider is that microG is an open source non-commercial project, written for the users, with heaps of configuration options.

So, this experiment looks like it is coming to a halt. If I go back to microG, should be able to use YalpStore to install the paid-for SafeInCloud from my new Google account.

Sideloading the older SafeInCloud .apk from my Mlais phone, it works perfectly, local backup and restore works. The problem is with the latest version in the Google Play Store. Makes no difference whether using picoGapps or microG, the latest SIC from Play Store won't save locally. I am currently communicating with Andrey, the developer of SafeInCloud.

Andrey, the SafeInCloud developer, sent a special debug version, and I returned a test file. His conclusion:

I see no errors in the apps log. It seems that LineageOS does some "tricks" with the Android's content provider system, which causes the problem. Unfortunately, I cannot test it myself.
Well, the older version of SIC works! Perhaps time for me to look for another app.

Tags: tech

Google Maps on LineageOS microG

March 27, 2018 — BarryK

Continuing to have fun with LineageOS and microG on my Nexus 5. I posted about the installation yesterday:

The ROM image also contains 'F-Droid', which is an app store, with only free apps. I had already installed 'FFUpdater' to install Firefox.

I also installed 'Safe In Cloud', a paid app, by sideloading. I extracted the .apk from my Mlais phone, then installed it to my Nexus, as explained in the above link.


I then discovered that F-Droid has an app named 'YalpStore', which can install apps from Google Play Store. If the phone is not rooted, it requires that sideloading be turned on in the Setup, developer's section.

YalpStore can even install paid apps, however it requires logging into my Google account. One of the main things that I am aiming to avoid is any automatic login to Google on my phone. This is a huge security weakness if someone steals your phone (especially as I only have swipe-unlock!).

Anyway, YalpStore seems to have a problem with Google's 2-step authentication, which is what I have -- new login sends an sms to my phone, with a pin.

But, YalpStore downloads free apps from Google Play Store, that works great.

EDIT 20180328
The security weakness of the phone automatically accessing my Google account, is easy to avoid -- create another Google account. Which I did, using a different backup email address. Gmail on this new account is empty, so not bothered if anyone is able to get into it.
I also installed the 'Gmail' app, via YalpStore, as some apps, such as 'TurboScan', use it to send emails (in the case of TurboScan, to send scanned images).
Note, apparently it is possible to install Google Play Store on a LineageOS/microG system, haven't tried that yet.
It should also be possible for YalpStore to access paid apps, paid-for on the new Google account.


There are a lot of settings for microG, the replacement for Google Play Services. I discovered this website, with tutorials for configuring microG:

Also, it is very helpful to read the six-part "No Gapps" tutorials, starting here:

But, what about Google apps, such as 'Google Maps', can they run on microG?

Google Maps

That website has a compatibility chart for Google apps on microG, and lists alternatives:

There is a "?" against Google Maps compatibility. Hmmm, went ahead anyway, used YalpStore to install 'Google Maps', and it seems to be working.

Note, there is 'Google Maps Go', a light-weight alternative, however it is just a frontend to the web browser access to Google Maps, and requires Chrome browser. I am using Firefox.

I think though, Google Maps is only using GPS. microG setup can turn on location via the provider's network towers, but as I don't yet have a sim in the phone -- or rather, I do, an old expired one -- that is ok.

Next, need to go for a drive, see if can direct me....

Tags: tech

LineageOS with microG on Nexus 5

March 26, 2018 — BarryK

Wow, on a roll here!

I have been very concerned about the old version of Android (4.4.4) on my Mlais M52 Red Note phone. I bought this from China some years ago. Yes, 2015, here is a blog post:

And posted a short first-impressions:

As with most of these non-Google phones, Android doesn't get updated. There were some updates, then it stopped.

Hence, now looking at Unlegacy-Android and LineagOS, using my Nexus 5 to experiment on. I bought the Nexus 5 new, quite cheap as it is "old technology". It is a nice phone though. That was mid-2016:

Firstly tried Unlegacy-Android:

Then moved on to LineagOS:

Googling around, made a discovery. LineageOS is also available with microG. Now, microG is very interesting. It provides the Google infrastructure, but without any actual Google apps. Find out more:

And yep, it has the nexus 5 Hammerhead images, oh goody. Downloaded it and went through the same steps as in previous post (for LineageOS). One thing, the zip file was very difficult to download. I used 'wget -c' to continue download when it stopped (ctrl-c to kill wget, then rerun to continue download.

Safe In Cloud app

Now it gets extremely interesting. LineageOS with microG is installed on the Nexus 5, but I don't have, nor want, access to the Google Play Store. There is F-Droid, pre-installed, store for completely free apps only.

One of the most important apps for me is Safe In Cloud, a password manager, well, much more than that, stores anything, such as website logins. Even has its own web browser.

It is a paid-for product, and I have it on my Mlais M52. Android packages are .apk files, and all installed apk files of installed apps are kept in the phone. So, I want to get the Safe In Cloud apk out of the Mlais and install it in the Nexus 5.

Seems like a difficult task, however, I discovered the power of that 'adb' utility. This is how I did it:

good info here:

List all .apk files (Mlais connected to computer):
# ./adb shell pm list packages
Find where an .apk is:
# ./adb shell pm path com.safeincloud
Copy it to computer:
# ./adb pull /data/app/com.safeincloud-1.apk
In the mlais m52 phone, used file-manager to locate where have locally backed up safe-in-cloud. Copied database to computer:
# ./adb pull /storage/sdcard0/SafeInCloud_2018-03-26.db
610 KB/s (29655 bytes in 0.047s)
Now for the Nexus 5:
# ./adb kill-server
plugin nexus 5
# ./adb devices
Make sure Settings --> Security --> Unknown sources
is turned on.
# ./adb install com.safeincloud-1.apk
4198 KB/s (5023776 bytes in 1.168s)
Find out where most likely place to push the database file to:
# ./adb shell "ls /sdcard"
Alarms   DCIM       Download  Music          Pictures  Ringtones 
Android  Documents  Movies    Notifications  Podcasts  TWRP

# ./adb push SafeInCloud_2018-03-26.db /sdcard/
520 KB/s (29655 bytes in 0.055s)
However, Safe In Cloud syncs the database online as well. In my case on Google Drive. I pressed the "SafeInCloud" icon in the Nexus, and choose to sync with Google Drive ...we are about to see if microG works!

Yep, logged into Google Drive, safe In Cloud synced. and now running. Superb!

EDIT 20180328
I realised that one thing I do not want, is for the phone to access my main google account. Therefore, I created a new Google account, wiped all of the 'data' partition on the phone using TWRP, then re-installed Safe-In-Cloud and other apps.
Running Safe-In-Cloud, loaded the local database 'SafeInCloud_2018-03-26.db' (see above), then synced it to Google Drive on my new Google account.

I am very pleased about this. My Nexus is now good for years ahead, very secure and as Google-free as I can get it.

Oh, one extra thing. I have installed Firefox. F-Droid has 'FFUdater' app, which, apart from updating, will also do a first-time install.

Tags: tech

LineageOS 14.1 installed on Nexus 5

March 25, 2018 — BarryK

Yesterday I posted about installing Unlegacy-Android 8.1.0 on my Nexus 5 phone:

It's a bit buggy. Also, being stock Google Android, it has some limitations. For example, my wi-fi did not appear, it requires "country localization" to be set to Australia, which it seems there is no option to do. However, LineageOS does have that option.

I also tried Unlegacy-Android 7.1.2, same wi-fi problem.

So, downloaded LineageOS for the nexus 5:

Note, version 14.1 equates to Android 7.1.2 (Nougat).

My phone has TWRP installed, and USB-Debugging enable, so good to go. With USB cable connected to computer, typed on computer:

# ./adb reboot recovery

The phone rebooted and TWRP started. Saw the "Advanced" button, but when I pressed that and proceeded with a sideload, got an error message:

"Can't install this package on top of incompatible data"

So, pressed the "Back" button, and on the same screen that showed "Advanced" button, there is also "Wipe" button. Press "Wipe", then "Format data".

Then, went back until the "Advanced" button is on the screen, pressed it, then "ADB sideloading" then slide to start it, and over on the computer type:

# ./adb sideload
This works well. Most importantly, wi-fi works. generally, there are more configure options than with stock Google Android.

LineageOS is actually a fork of CyanogenMod, after it fell to pieces:

First time that I am using it.

Tags: tech

Nexus 5 updated to Android 8.1.0

March 24, 2018 — BarryK

I originally purchased the Nexus 5 to be able to play with MaruOS:

The most recent version of MaruOS is 0.4.1. This evening, decided to install a recent vanilla-flavoured Android. This is how it was done...

Download MaruOS image, to get the 'adb' and 'fastboot' binaries:

...get them out of the zip file.

Download Android 8.1.0 image for Nexus 5:

Download TWRP for Nexus 5:

How to install TWRP:

Place 'adb', 'fastboot', 'twrp.img' and the Android zip file in the same folder, open a terminal.

Plug USB cable from computer to phone. On the phone, turn on "USB debugging", as explained here:

Type "lsusb" in terminal to verify that computer sees phone.

What I did to install TWRP, in computer terminal:

# ./adb reboot bootloader
# ./fastboot flash recovery twrp.img

On phone, press Up-Volume physical button, until "Recovery" appears on phone screen, then press Power physical button.

On computer, reboot the phone in Recovery mode:

# ./adb reboot recovery

On phone, press "Advanced" button, then "ADB Sideload" button. There are a couple of checkboxes, "Wipe Dalvik cache" and "Wipe cache", tick those. Then there is a slider to start the sideload.

Back on the computer, type:

# ./adb sideload

This will install the Android image file from the computer to the phone. Then there will be a button on phone to reboot. TWRP will then display "Swipe to install TWRP app", do it (not sure if necessary). Yay, it worked!

Tags: tech

Cheap Be 16GB USB3 Flash drive is very fast

January 29, 2018 — BarryK

Putting this info out there, for anyone in Australia who is interested. Right now, Bigw is selling some USB Flash drives for half-price.

This includes the Be 16GB USB3 stick, at AU$11:


Be is Bigw's internal brand.

I bought one of these yesterday, and this morning used the 'easydd' utility to write an image file to the drive. This utility reports the write speed, and I got 27.8MB/s.

This is phenomenal. Another well-known brand cheap 16GB USB3 Flash drive that I bought a little while ago, gave only about 9MB/s.

Then there's some cheap USB2 drives that are as low as 3 - 5MB/s.

The reason that this is important is that if you are going to run Linux from a USB Flash drive, if the drive gives less than about 7MB/s write speed, you will have very unsatisfactory user experience, very sluggish.

Another important point, that I have reported many times, is that the theoretical read/write speeds of USB2 interfaces is above what these Flash drives are giving, so my Be 16GB USB3 drive will have almost the same speed in a USB2 socket.

Note, this Be drive has an Innostor chip. I have reported on these before. They are very fast, made in Taiwan.

Tags: tech