Install Google Play Store on Android 8.1.0
After trying all sorts of methods to get google play store on ROC-RK3399-PC, I finally found a method that works!
Required: Working ADB
Download playstore files for Android 8.1.0 and Device_ID.apk from here: https://mega.nz/#F!AQFWHQRb!CtZaS3cU0PCzTELrHZRrUg
Tested on this image: sd_ROC-RK3399-PC_Android8.1.0_DEFAULT_181025.img
On ROC-RK3399-PC, launch Settings -> System -> About tablet
- Tab on Build number 7 times to activate Developer mode
Settings -> System -> Developer options
- Turn on Root access for ADB
- Turn on USB debugging
- Turn on ADB over network (Note the IP)
On your PC with working ADB, extract the contents of the playstore_files.zip into a directory
Save Device_ID.apk into the same directory
Open a shell with root/admin privileges
adb connect <IP of the device from Debugging section earlier>
adb root
adb connect <IP of the device from Debugging section earlier>
adb remount
adb push playstore.apk /system/priv-app/
adb push playservices.apk /system/priv-app/
adb push gsf.apk /system/priv-app/
adb install -r gsf.apk
adb install -r playservices.apk
adb install -r playstore.apk
adb install Device_ID.apk
adb push libAppDataSearch.so /system/lib/
adb push libconscrypt_gmscore_jni.so /system/lib/
adb push libgcastv2_base.so /system/lib/
adb push libgcastv2_support.so /system/lib/
adb push libgmscore.so /system/lib/
adb push libgoogle-ocrclient-v3.so /system/lib/
adb push libjgcastservice.so /system/lib/
adb push libjingle_peerconnection_so.so /system/lib/
adb push libleveldbjni.so /system/lib/
adb push libnative.so /system/lib/
adb push libsslwrapper_jni.so /system/lib/
adb push libvcdiffjni.so /system/lib/
adb push libwearable-selector.so /system/lib/
adb push libWhisper.so /system/lib/
Reboot ROC-RK3399-PC
Launch Settings -> Apps and give all the permissions to the 3 apks we installed
Reconnect via ADB again and enter the commands below to prevent occasional Google Play Services errors:
adb shell
pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION
pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION
Reboot ROC-RK3399-PC again
Launch Device ID and note the GSF ID
Log into https://www.google.com/android/uncertified/ and register the GSF ID to your account
Reboot ROC-RK3399-PC again
Settings -> System -> Developer options
- Turn off Root access for ADB
- Turn off ADB over network
- Turn off USB debugging
It is not perfect... some apps will launch sideways and I still get pesky uncertified warnings even after I registered the GSF ID. Also GSF ID changes every time you flash and reinstall again so be sure to register every time. At least I could log into Play Store and download purchased apps. Hope this helps!
Edit: It does take a while for Google to recognize the newly registered GSF ID. Give it 12-24hrs.
Credit goes to Domo of the pine64 forum: https://forum.pine64.org/showthread.php?tid=6684
Comments
Thanks a lot.
Unfortunately, I get
inflating: playservices.apk bad CRC 735e5869 (should be bcd3acd8)
and later onFailure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1103439670.tmp/base.apk using APK Signature Scheme v2: SHA-256 digest of contents did not verify]
.I tried to enter the Android Device ID, but the website says it wants 16 characters for hexadecimal or 19 for decimal... but I gave 16...
I then tried to install open-gapps, but I never managed to reboot in recovery mode (got a black screen with adb and with Recovery Reboot app.
@poddingue I have re-uploaded the zip file. File was probably corrupted during the last upload. My local zip file extracted without problem. Could you try again?
As for GSF ID, the android uncertified page will automatically convert it to hex format. Just copy and paste from the app.
Open gapps requires a working recovery to install it. At the moment, that is not possible yet.
I will try again, thanks a lot for your help.
It worked this time, thanks a lot!
Glad to hear it worked out!
any update on installing open gapps on board?