Installing Google Play Store on the Asus Tinker Board

Google Play Store

Asus has released a new build of Android for the Asus Tinker Board last week. It’s a fairly minor upgrade. It’s still based on Android 6.0.1 with kernel 3.10.0 but sees a number of fixes. However, there is no Google Play Store. This makes installing and upgrading apps tiresome. Fortunately, there’s a solution. This walk-through explains how to install the Play Store on the Tinker Board.

The first step is to install the latest Android system image to a microSD card.

Next, determine the local IP address of your Tinker Board. Go to the Application folder, select Settings, then select About tablet (in the System section), and choose Status. As you can see from the graphic below, the IP address on my local network is 192.168.1.106. Your IP address is likely to be different. Use your local IP address instead of 192.168.1.106.

Next, we’ll use the adb command line tool as it enables us to communicate with an Android device. adb stands for Android Debug Bridge. Check you have adb installed on your Linux box. If not, install it via your distribution’s package manager, or from the command-line (e.g. for Debian based distributions):sudo apt install adb

From the Application folder, go to Settings, Apps, and give all permissions to both the Google Play services app and the Google Play Store app. For brevity, I show a screenshot for Google Play Store only.

Reboot the Tinker Board.

On my system, Google Play Services kept shutting down. Fortunately, an update of Google Play services fixes the problem. So at a Linux shell, type the following:adb connect 192.168.1.106adb rootadb install -r playservices.apk

About The Author

Steve Emms is the main author of OSSBlog.org. This site aims to promote open source software and hardware. Steve has written thousands of articles about open source software. He is also the creator of LinuxLinks.com.

In my instance, after uploading the APKs, and visiting what initial app-security settings were available, I rebooted. After it came back up once, I saw elements of the setup-wizard already working. I revisited the app-security panel and dressed out the rest of the permissions, then rebooted again. At this point, the setup-wizard optimized 3 apps during system boot, and then upon clicking ‘Google Playstore’, I was prompted to enter my credentials. 🙂

I did get a bit of ‘expected service crashes’ (3) along the way, but after all was said and done, the image is now stable. I’m running an update of all my apps now, as I type this, and it’s having no problems working with my registered Google account.

Excellent work on the HowTo!

(btw, I used an RPi3 system, running a custom loadout of Raspbian-LITE with Mate Desktop to pull down the link I’d emailed myself, do the steps, and answer back with the results. Man… I really love these embedded systems! Loaded out properly, they make for some wicked-fast desktop environments –in spite of what any detractors may want to offer about Linux Desktops. I’m getting to where this is my preferred way to use the net from home.)

This initial build I’ve done was a POC (proof of concept) build, so now that I’m seeing it working, I’m thinking I’d like to image this drive and port that to a much larger, faster SD. I did the POC on an old 4GB… no telling what speed this thing is… but I know it’s sluggish. I’m thinking that the new Class-10 Samsung SDXC cards I have will be perfect for a production install, for day-to-day use around the house as a touch-based Android mega-tablet –I’ve got this thing paired up with a 23″ Dell Touchscreen monitor that supports 10-point multi-touch, and it’s working perfectly other than the need to upgrade the storage medium.

Do you think ‘Win32Diskimager” (if I’m recalling the name correctly; it’s early yet here) is up to the task of making a clean-backup, and restoring that to a 32GB disk? I’m thinking that I should only need to followup the restore with a visit from Gparted to resize the partitions manually, and then boot it up. Whacha think? 🙂

I’m thinking that a fresh installed image, with the APKs already in place and reset to factory defaults may work as a good image source for my own deployments. But I’m also of the thought that I probably shouldn’t post it as it may violate Google’s terms of use…or something like that.

Although, along those lines… I wonder… can other APKs be preloaded into an image using the technique your howto describes for the privileged package push? I think it’d be kinda neat to preload Kodi-17, and a few other choice apps, and then make my final in-house image from that.

I ran with the idea of Win32DiskImager, and it worked for doing the cloning, but I later found that Gparted (running from a USB hard drive containing a 100GB Linux partition loaded with Ubuntu 16.04) didn’t recognize the file system. It could simply be that I need to make a bootable USB disk of the newest Gparted-Live, but I’m short on time and at this point it’s faster to just wipe the 32GB disk, do a clean install of the Asus image, boot it up and do the HowTo steps to inject the playstore, and then after all is well with the permissions settings, shut it down, image that and compress the image.

I’ll keep that one for inhouse only, that way I don’t get any grief about it over distribution rights. 🙂

I used a Windows 10 Pro system for the imaging. That said though, I prefer Linux too. I’m running a mix of OS’s across my network, and use 2 separate virtualization hosts made from refurbished rackmounted servers, both running ESXi at the low level and hosting 12 VMs, aside from the rest of my home infrastructure. I work in IT professionally, but I also maintain a lab at home for doing POC builds and self-training, as well as for maintaining a managed network, rather than just a simple class C –my subnet is a 22bit, internally, with a separate 28bit VPN net, and it’s all running through domain authentication for unified auth throughout.

May I ask which version of the Play Services you used for a stable system? I tried 11.0.38 and 11.0.33beta (the two are available from the web site you linked) but Play Services keeps crashing unfortunately. Logcat shows

Thanks Steve for coming back so quickly. Tried your versions, unfortunately same result. Keeps telling me “Unfortunately, Google Play services has stopped” every 5 seconds or so. I used the SD card image from here https://www.asus.com/Single-Board-Computer/Tinker-Board/HelpDesk_Download/ labeled “TinkerOS_Android V13.11.0.3 (Beta version)”. Is that the same that you’ve used?

Hi Torsten. Sorry to hear of your difficulties in getting Google Play Store working. I am using TinkerOS_Android V13.11.0.3 (Beta version). As the walkthrough says, I also got the Google Play services has stopped messages constantly. But running the additional commands fixed the issue:

Haaa.. don’t ask me why but after another error message, suddenly the play store appears. I always used a newer version of the playservices.apk during the last step, I misunderstood ” Fortunately, an update of Google Play services fixes the problem.”.. Thanks for your nice blog post.. really a great plus that one can run the play store on the Tinkerboard :-). Have a great weekend Steve!!!

Hey man, I ran back thru this howto on the new (non-beta) Android image, cleanly installed fresh. I took the step including ‘install -r’ and ran all 3 packages with that after pushing them individually, directly after doing the push while the system partition was still in rw mode.

This produced a clean install with no services errors –once I had manually setup my existing Google account credentials.

So upshot: I’d extend the howto instructions to manually perform the install steps after the push steps, in the same exact order.

I followed ETA primes setup for the Google Play Store on my Tinkerboard and after about 48 hours it started crashing my board. I also couldnt run netflix or youtube because of that certified thing I mentioned. I dont have a linux system or I would try your procedure. It seems to be a little better from what I can see.
On another note, Asus support says they will have a new version soon with the Google play store fixed and also will have a procedure for updated to the new Android OS in place instead of having to flash a new system. So that is all good.

I do have a question already LOL. Your comment above about “The Tinker Board uses the armeabi-v7a and armeabi instruction sets”. How does that affect what I am doing. The first two links were obvious what to download but third link there are lots of options. Not sure which to download. Was wondering if that comment tells me something about that?

The link I gave for Google Play Store 7.7.31 only has 1 variant, so download that. The reason I mention the instruction sets is to notify folk that apkmirror has releases that aren’t compatible with Tinker Board.

The ADB from Windows 10 pro to the Tinkerboard is a little erratic but I got through it and they are all three running without crashing the system or giving errors. I must be missing something though because when I go into the Google Play store and search on Netflix it doesnt show up. Lots of other look alikes are there but no netflix. When I search on chrome for netflix and click to install it from the google play store it says that ” ! our device isn’t compatible with this version”

Indeed Netflix, Amazon Video, … all run fine. The only apps I have problems with are “Zattoo” and “Wilmaa”, which complain in logcat about “DRM module not found”. But this is probably a problem with the Android image provided by Asus and not related to Google Play.

From others, it can be done using SuperSu, but it involves editing the update-binary script file. Way too involved as a comment on this blog post, which is about Google Play Store only. If someone wants to send me a walkthrough for rooting, please do.