1. go to
http://opengapps.org/2. pick on the ARM, Android version, and Pico, then click on Red Button and Download the zip file
3. extract all the .lz file inside every folder
4. ignore the dpi/resolution folder that it extracted...
5. copy the folder inside each extracted file to become the folder structure as shown in the pic below, create the folder manually if needed.

6. ignore the map, chrome, youtube bcos they are not in pico package.
7. now go connect to your pi via adb connect 192.168.x.x
8.
adb root
adb remount
adb shell "rm -rf system/priv-app/PackageInstaller"
9. go into the gapps folder you have created with all the files extracted... cd gapps
10.
adb push system /
adb shell "pm grant com.google.android.gms android.permission.ACCESS_COARSE_LOCATION"
adb shell "pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION"
adb shell "pm grant com.google.android.setupwizard android.permission.READ_PHONE_STATE"
adb shell "pm grant com.google.android.setupwizard android.permission.READ_CONTACTS"
adb reboot
after reboot, ignore any "unfortunately ... has stopped" message if got any... and please don't rush to open the apps yet, else it will cache the error and make things more complicated.
Fix Errors via Settings:
1. go to Settings->Apps
2. go into all the newly installed google apps, and go into the permissions, allow all of it that it suggest you to enable.
3. double check if any google apps that you miss adding the permissions.
4. reboot again by typing:
adb connect 192.168..x.x
adb reboot
5. done
Note:
if you didn't listen and rushed to open apps before fixing the permissions, you will have to go to Settings->Apps->top right corner menu choose "Reset app preferences", then reboot, and then go fix the permissions first, then reboot, then it should be ok.