linuxxxxx 10 жил өмнө
commit
ee8b7e1415
67 өөрчлөгдсөн 449 нэмэгдсэн , 0 устгасан
  1. 12 0
      LICENSE
  2. 3 0
      Makefile
  3. 30 0
      README.md
  4. 88 0
      build/gapps.sh
  5. 14 0
      build/main.mk
  6. BIN
      build/meta/CERT.RSA
  7. 2 0
      build/meta/CERT.SF
  8. 2 0
      build/meta/MANIFEST.MF
  9. 27 0
      build/meta/com/android/otacert
  10. BIN
      build/meta/com/google/android/update-binary
  11. 18 0
      build/meta/com/google/android/updater-script
  12. BIN
      build/sign/signapk.jar
  13. BIN
      build/sign/testkey.pk8
  14. 27 0
      build/sign/testkey.x509.pem
  15. 76 0
      prebuilt/gapps/addon.d/30-gapps.sh
  16. 53 0
      prebuilt/gapps/addon.d/31-faceunlock.sh
  17. BIN
      prebuilt/gapps/app/FaceLock/FaceLock.apk
  18. 1 0
      prebuilt/gapps/app/FaceLock/lib/arm/libfacelock_jni.so
  19. BIN
      prebuilt/gapps/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk
  20. BIN
      prebuilt/gapps/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk
  21. 20 0
      prebuilt/gapps/etc/permissions/com.google.android.camera2.xml
  22. 20 0
      prebuilt/gapps/etc/permissions/com.google.android.maps.xml
  23. 21 0
      prebuilt/gapps/etc/permissions/com.google.android.media.effects.xml
  24. 8 0
      prebuilt/gapps/etc/permissions/com.google.widevine.software.drm.xml
  25. 24 0
      prebuilt/gapps/faceunlock.sh
  26. BIN
      prebuilt/gapps/framework/com.google.android.camera2.jar
  27. BIN
      prebuilt/gapps/framework/com.google.android.maps.jar
  28. BIN
      prebuilt/gapps/framework/com.google.android.media.effects.jar
  29. BIN
      prebuilt/gapps/framework/com.google.widevine.software.drm.jar
  30. BIN
      prebuilt/gapps/lib/libfilterpack_facedetect.so
  31. BIN
      prebuilt/gapps/lib/libgoogle_hotword_jni.so
  32. BIN
      prebuilt/gapps/lib/libgoogle_recognizer_jni_l.so
  33. BIN
      prebuilt/gapps/lib/libjni_latinimegoogle.so
  34. BIN
      prebuilt/gapps/priv-app/GoogleBackupTransport/GoogleBackupTransport.apk
  35. BIN
      prebuilt/gapps/priv-app/GoogleFeedback/GoogleFeedback.apk
  36. BIN
      prebuilt/gapps/priv-app/GoogleLoginService/GoogleLoginService.apk
  37. BIN
      prebuilt/gapps/priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk
  38. BIN
      prebuilt/gapps/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk
  39. BIN
      prebuilt/gapps/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
  40. BIN
      prebuilt/gapps/priv-app/Phonesky/Phonesky.apk
  41. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk
  42. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libAppDataSearch.so
  43. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libNearbyApp.so
  44. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libWhisper.so
  45. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libconscrypt_gmscore_jni.so
  46. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgames_rtmp_jni.so
  47. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgcastv2_base.so
  48. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgcastv2_support.so
  49. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgms-ocrclient.so
  50. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgmscore.so
  51. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libjgcastservice.so
  52. BIN
      prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libsslwrapper_jni.so
  53. BIN
      prebuilt/gapps/priv-app/SetupWizard/SetupWizard.apk
  54. BIN
      prebuilt/gapps/priv-app/Velvet/Velvet.apk
  55. 1 0
      prebuilt/gapps/priv-app/Velvet/lib/arm/libgoogle_hotword_jni.so
  56. 1 0
      prebuilt/gapps/priv-app/Velvet/lib/arm/libgoogle_recognizer_jni_l.so
  57. 1 0
      prebuilt/gapps/priv-app/Velvet/lib/arm/libvcdecoder_jni.so
  58. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/landmark_group_meta_data.bin
  59. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/left_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-tree7-wmd.bin
  60. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/nose_base-y0-yi45-p0-pi45-r0-ri20.lg_32-tree7-wmd.bin
  61. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/right_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-3-tree7-wmd.bin
  62. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-r0-ri30.4a-v24-tree7-2-wmd.bin
  63. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-rn30-ri30.5-v24-tree7-2-wmd.bin
  64. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-rp30-ri30.5-v24-tree7-2-wmd.bin
  65. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/pose-r.8.1.bin
  66. BIN
      prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/pose-y-r.8.1.bin
  67. BIN
      prebuilt/gapps/vendor/pittpatt/models/recognition/face.face.y0-y0-71-N-tree_7-wmd.bin

+ 12 - 0
LICENSE

@@ -0,0 +1,12 @@
+For the following files:
+    * Makefile
+    * build/main.mk
+    * build/create.sh
+    * build/meta/com/google/android/updater-script
+        GNU License v2
+        (https://www.gnu.org/licenses/gpl-2.0.html for more information)
+
+Any other file:
+    These are closed source/propietary/prebuit files, I do not own them, these are just here
+    to make your life easier when compiling the package.
+    Contacts their own authors for information about their license.

+ 3 - 0
Makefile

@@ -0,0 +1,3 @@
+### DO NOT EDIT THIS FILE ###
+include build/main.mk
+### DO NOT EDIT THIS FILE ###

+ 30 - 0
README.md

@@ -0,0 +1,30 @@
+# vendor_google
+
+**GApps for android devices**
+
+
+Information
+------------------
+
+These are Google Apps for who want to install Google Packages on a custom rom.
+Remember Apks and Jars files are prebuilt from Google.
+All closed source files come from Nexuses' factory images.
+This contains just the core files needed to setup a fully working Google account, users will choose wich apps they want on their devices.
+
+
+Downloads
+------------------
+
+https://github.com/linuxxxxx/vendor_google/releases
+
+
+Build
+-------------------
+
+You can compile your GApps package with GNU make (realpath also needed)
+
+_make distclean_
+- Remove output directory
+
+_make gapps_
+- compile flashable GApps package for most of devices

+ 88 - 0
build/gapps.sh

@@ -0,0 +1,88 @@
+#!/bin/bash
+# (c) Joey Rizzoli, 2015
+# Released under GPL v2 License
+
+##
+# var
+#
+DATE=$(date +%F-%H-%M-%S)
+TOP=$(realpath .)
+ANDROIDV=5.1
+BUILDZIP=gapps-$ANDROIDV-$DATE.zip
+OUT=$TOP/out
+TARGETZIP=$OUT/target-zip
+METAINF=$TOP/build/meta
+PREBUILTGAPPS=$TOP/prebuilt/gapps
+
+
+##
+# functions
+#
+function printerr(){
+  echo "$(tput setaf 1)$1$(tput sgr 0)"
+}
+
+function printdone(){
+  echo "$(tput setaf 2)$1$(tput sgr 0)"
+}
+
+function create(){
+    if [ -d $PREBUILTGAPPS ]; then
+        if [ -d $OUT ]; then
+            echo "Previous build found"
+        else
+            echo "No previous build found"
+            mkdir $OUT
+            mkdir $TARGETZIP
+            mkdir $TARGETZIP/tmp
+        fi
+        echo "Getting prebuilts..."
+        cp -r $PREBUILTGAPPS $TARGETZIP/gapps
+        return 0
+    else
+        printerr "Couldn't find prebuilts, sync again"
+        return 1
+    fi
+}
+
+function zipit(){
+    if [ "$LASTRETURN" == 0 ]; then
+        echo "Importing installation scripts..."
+        cp -r $TARGETZIP/gapps $TARGETZIP/tmp/system
+        cp -r $METAINF $TARGETZIP/tmp/META-INF
+        echo "Creating package..."
+        cd $TARGETZIP/tmp
+        zip -r /tmp/$BUILDZIP . &>/dev/null
+        cd $TOP
+        if [ -f /tmp/$BUILDZIP ]; then
+            echo "Signing zip..."
+            java -Xmx2048m -jar $TOP/build/sign/signapk.jar -w $TOP/build/sign/testkey.x509.pem $TOP/build/sign/testkey.pk8 /tmp/$BUILDZIP $OUT/$BUILDZIP
+        else
+            printerr "Couldn't zip files!"
+            return 1
+        fi
+        if [ "$?" == 0 ]; then
+            return 0
+        else
+            return 1
+        fi
+    else
+        return 1
+    fi
+}
+
+
+##
+# main
+#
+create
+LASTRETURN=$?
+zipit
+LASTRETURN=$?
+if [ "$LASTRETURN" == 0 ]; then
+    printdone "Build completed: $OUT/$BUILDZIP"
+    exit 0
+else
+    printerr "Build failed, check /tmp/gapps_log"
+    exit 1
+fi

+ 14 - 0
build/main.mk

@@ -0,0 +1,14 @@
+# build paths
+TOPDIR := .
+BUILD_SYSTEM := $(TOPDIR)/build
+BUILD_GAPPS := $(BUILD_SYSTEM)/gapps.sh
+OUTDIR := $(TOPDIR)/out
+LOG_BUILD := /tmp/gapps_log
+
+distclean :
+	@rm -fr $(OUTDIR)
+	@echo "$(tput setaf 2)Output removed! Ready for a clean build$(tput sgr 0)"
+
+gapps :
+	@echo "Compiling GApps..."
+	@bash $(BUILD_GAPPS) 2>&1 | tee $(LOG_BUILD)

BIN
build/meta/CERT.RSA


+ 2 - 0
build/meta/CERT.SF

@@ -0,0 +1,2 @@
+Signature-Version: 1.0
+Created-By: 1.0 (Android SignApk)

+ 2 - 0
build/meta/MANIFEST.MF

@@ -0,0 +1,2 @@
+Manifest-Version: 1.0
+Created-By: 1.0 (Android SignApk)

+ 27 - 0
build/meta/com/android/otacert

@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAJNurL4H8gHfMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODAyMjkwMTMzNDZaFw0zNTA3MTcwMTMzNDZaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBANaTGQTexgskse3HYuDZ2CU+Ps1s6x3i/waM
+qOi8qM1r03hupwqnbOYOuw+ZNVn/2T53qUPn6D1LZLjk/qLT5lbx4meoG7+yMLV4
+wgRDvkxyGLhG9SEVhvA4oU6Jwr44f46+z4/Kw9oe4zDJ6pPQp8PcSvNQIg1QCAcy
+4ICXF+5qBTNZ5qaU7Cyz8oSgpGbIepTYOzEJOmc3Li9kEsBubULxWBjf/gOBzAzU
+RNps3cO4JFgZSAGzJWQTT7/emMkod0jb9WdqVA2BVMi7yge54kdVMxHEa5r3b97s
+zI5p58ii0I54JiCUP5lyfTwE/nKZHZnfm644oLIXf6MdW2r+6R8CAQOjgfwwgfkw
+HQYDVR0OBBYEFEhZAFY9JyxGrhGGBaR0GawJyowRMIHJBgNVHSMEgcEwgb6AFEhZ
+AFY9JyxGrhGGBaR0GawJyowRoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAJNurL4H8gHfMAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHqvlozrUMRBBVEY0NqrrwFbinZa
+J6cVosK0TyIUFf/azgMJWr+kLfcHCHJsIGnlw27drgQAvilFLAhLwn62oX6snb4Y
+LCBOsVMR9FXYJLZW2+TcIkCRLXWG/oiVHQGo/rWuWkJgU134NDEFJCJGjDbiLCpe
++ZTWHdcwauTJ9pUbo8EvHRkU3cYfGmLaLfgn9gP+pWA7LFQNvXwBnDa6sppCccEX
+31I828XzgXpJ4O+mDL1/dBd+ek8ZPUP0IgdyZm5MTYPhvVqGCHzzTy3sIeJFymwr
+sBbmg2OAUNLEMO6nwmocSdN2ClirfxqCzJOLSDE4QyS9BAH6EhY6UFcOaE0=
+-----END CERTIFICATE-----

BIN
build/meta/com/google/android/update-binary


+ 18 - 0
build/meta/com/google/android/updater-script

@@ -0,0 +1,18 @@
+ui_print("Installing GApps...");
+run_program("/sbin/busybox", "mount", "/system");
+show_progress(1, 15);
+package_extract_dir("system", "/system");
+set_perm(0, 0, 0755, "/system/addon.d/30-gapps.sh");
+package_extract_file("system/faceunlock.sh", "/tmp/faceunlock.sh");
+set_perm(0, 0, 0777, "/tmp/faceunlock.sh");
+run_program("/tmp/faceunlock.sh", "");
+show_progress(1, 15);
+set_metadata_recursive("/system/addon.d", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata_recursive("/system/app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata_recursive("/system/priv-app", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata_recursive("/system/etc/permissions", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0755, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata_recursive("/system/framework", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+set_metadata_recursive("/system/vendor/pittpatt", "uid", 0, "gid", 0, "dmode", 0755, "fmode", 0644, "capabilities", 0x0, "selabel", "u:object_r:system_file:s0");
+delete("/system/faceunlock.sh");
+run_program("/sbin/busybox", "umount", "/system");
+ui_print("Done!");

BIN
build/sign/signapk.jar


BIN
build/sign/testkey.pk8


+ 27 - 0
build/sign/testkey.x509.pem

@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAJNurL4H8gHfMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODAyMjkwMTMzNDZaFw0zNTA3MTcwMTMzNDZaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBANaTGQTexgskse3HYuDZ2CU+Ps1s6x3i/waM
+qOi8qM1r03hupwqnbOYOuw+ZNVn/2T53qUPn6D1LZLjk/qLT5lbx4meoG7+yMLV4
+wgRDvkxyGLhG9SEVhvA4oU6Jwr44f46+z4/Kw9oe4zDJ6pPQp8PcSvNQIg1QCAcy
+4ICXF+5qBTNZ5qaU7Cyz8oSgpGbIepTYOzEJOmc3Li9kEsBubULxWBjf/gOBzAzU
+RNps3cO4JFgZSAGzJWQTT7/emMkod0jb9WdqVA2BVMi7yge54kdVMxHEa5r3b97s
+zI5p58ii0I54JiCUP5lyfTwE/nKZHZnfm644oLIXf6MdW2r+6R8CAQOjgfwwgfkw
+HQYDVR0OBBYEFEhZAFY9JyxGrhGGBaR0GawJyowRMIHJBgNVHSMEgcEwgb6AFEhZ
+AFY9JyxGrhGGBaR0GawJyowRoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAJNurL4H8gHfMAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHqvlozrUMRBBVEY0NqrrwFbinZa
+J6cVosK0TyIUFf/azgMJWr+kLfcHCHJsIGnlw27drgQAvilFLAhLwn62oX6snb4Y
+LCBOsVMR9FXYJLZW2+TcIkCRLXWG/oiVHQGo/rWuWkJgU134NDEFJCJGjDbiLCpe
++ZTWHdcwauTJ9pUbo8EvHRkU3cYfGmLaLfgn9gP+pWA7LFQNvXwBnDa6sppCccEX
+31I828XzgXpJ4O+mDL1/dBd+ek8ZPUP0IgdyZm5MTYPhvVqGCHzzTy3sIeJFymwr
+sBbmg2OAUNLEMO6nwmocSdN2ClirfxqCzJOLSDE4QyS9BAH6EhY6UFcOaE0=
+-----END CERTIFICATE-----

+ 76 - 0
prebuilt/gapps/addon.d/30-gapps.sh

@@ -0,0 +1,76 @@
+#!/sbin/sh
+#
+# /system/addon.d/70-gapps.sh
+#
+. /tmp/backuptool.functions
+
+list_files() {
+cat <<EOF
+addon.d/30-gapps.sh
+app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk
+app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk
+etc/permissions/com.google.android.camera2.xml
+etc/permissions/com.google.android.maps.xml
+etc/permissions/com.google.android.media.effects.xml
+etc/permissions/com.google.widevine.software.drm.xml
+etc/permissions/features.xml
+framework/com.google.camera2.jar
+framework/com.google.android.maps.jar
+framework/com.google.android.media.effects.jar
+framework/com.google.widevine.software.drm.jar
+lib/libfilterpack_facedetect.so
+lib/libgoogle_hotword_jni.so
+lib/libgoogle_recognizer_jni_l.so
+lib/libjni_latinimegoogle.so
+priv-app/GoogleBackupTransport/GoogleBackupTransport.apk
+priv-app/GoogleFeedback/GoogleFeedback.apk
+priv-app/GoogleLoginService/GoogleLoginService.apk
+priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk
+priv-app/GooglePartnerSetup/GooglePartnerSetup.apk
+priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
+priv-app/Phonesky/Phonesky.apk
+priv-app/PrebuiltGmsCore/PreBuiltGmsCore.apk
+priv-app/PrebuiltGmsCore/lib/arm/libAppDataSearch.so
+priv-app/PrebuiltGmsCore/lib/arm/libconscrypt_gmscore_jni.so
+priv-app/PrebuiltGmsCore/lib/arm/libgames_rtmp_jni.so
+priv-app/PrebuiltGmsCore/lib/arm/libgcastv2_base.so
+priv-app/PrebuiltGmsCore/lib/arm/libgcastv2_support.so
+priv-app/PrebuiltGmsCore/lib/arm/libgmscore.so
+priv-app/PrebuiltGmsCore/lib/arm/libgms-ocrclient.so
+priv-app/PrebuiltGmsCore/lib/arm/libjgcastservice.so
+priv-app/PrebuiltGmsCore/lib/arm/libsslwrapper_jni.so
+priv-app/PrebuiltGmsCore/lib/arm/libWhisper.so
+priv-app/SetupWizardSetupWizard.apk app/Provision/Provision.apk
+priv-app/Velvet/Velvet.apk app/QuickSearchBox/QuickSearchBox.apk
+priv-app/Velvet/lib/arm/libgoogle_hotword_jni.so
+priv-app/Velvet/lib/arm/libgoogle_recognizer_jni_l.so
+priv-app/Velvet/lib/arm/libvcdecoder_jni.so
+EOF
+}
+
+case "$1" in
+  backup)
+    list_files | while read FILE DUMMY; do
+      backup_file $S/$FILE
+    done
+  ;;
+  restore)
+    list_files | while read FILE REPLACEMENT; do
+      R=""
+      [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
+      [ -f "$C/$S/$FILE" ] && restore_file $S/$FILE $R
+    done
+  ;;
+  pre-backup)
+    # Stub
+  ;;
+  post-backup)
+    # Stub
+  ;;
+  pre-restore)
+    # Stub
+  ;;
+  post-restore)
+    # Stub
+  ;;
+esac

+ 53 - 0
prebuilt/gapps/addon.d/31-faceunlock.sh

@@ -0,0 +1,53 @@
+#!/sbin/sh
+#
+# /system/addon.d/71-gapps-faceunlock.sh
+#
+
+. /tmp/backuptool.functions
+
+
+
+
+list_files() {
+cat <<EOF
+app/FaceLock/FaceLock.apk
+app/FaceLock/lib/arm/libfacelock_jni.so
+vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/landmark_group_meta_data.bin
+vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/left_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-tree7-wmd.bin
+vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/nose_base-y0-yi45-p0-pi45-r0-ri20.lg_32-tree7-wmd.bin
+vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/right_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-3-tree7-wmd.bin
+vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-r0-ri30.4a-v24-tree7-2-wmd.bin
+vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-rn30-ri30.5-v24-tree7-2-wmd.bin
+vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-rp30-ri30.5-v24-tree7-2-wmd.bin
+vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/pose-r.8.1.bin
+vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/pose-y-r.8.1.bin
+vendor/pittpatt/models/recognition/face.face.y0-y0-71-N-tree_7-wmd.bin
+EOF
+}
+
+case "$1" in
+  backup)
+    list_files | while read FILE DUMMY; do
+      backup_file $S/$FILE
+    done
+  ;;
+  restore)
+    list_files | while read FILE REPLACEMENT; do
+      R=""
+      [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
+      [ -f "$C/$S/$FILE" ] && restore_file $S/$FILE $R
+    done
+  ;;
+  pre-backup)
+    # Stub
+  ;;
+  post-backup)
+    # Stub
+  ;;
+  pre-restore)
+    # Stub
+  ;;
+  post-restore)
+    # Stub
+  ;;
+esac

BIN
prebuilt/gapps/app/FaceLock/FaceLock.apk


+ 1 - 0
prebuilt/gapps/app/FaceLock/lib/arm/libfacelock_jni.so

@@ -0,0 +1 @@
+/system/lib/libfacelock_jni.so

BIN
prebuilt/gapps/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk


BIN
prebuilt/gapps/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk


+ 20 - 0
prebuilt/gapps/etc/permissions/com.google.android.camera2.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2013 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+
+          http://www.apache.org/licenses/LICENSE-2.0
+
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<permissions>
+    <library name="com.google.android.camera2"
+            file="/system/framework/com.google.android.camera2.jar" />
+</permissions>

+ 20 - 0
prebuilt/gapps/etc/permissions/com.google.android.maps.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2008 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<permissions>
+    <library name="com.google.android.maps"
+            file="/system/framework/com.google.android.maps.jar" />
+</permissions>

+ 21 - 0
prebuilt/gapps/etc/permissions/com.google.android.media.effects.xml

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2011 The Android Open Source Project
+
+     Licensed under the Apache License, Version 2.0 (the "License");
+     you may not use this file except in compliance with the License.
+     You may obtain a copy of the License at
+  
+          http://www.apache.org/licenses/LICENSE-2.0
+  
+     Unless required by applicable law or agreed to in writing, software
+     distributed under the License is distributed on an "AS IS" BASIS,
+     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+     See the License for the specific language governing permissions and
+     limitations under the License.
+-->
+
+<permissions>
+    <library name="com.google.android.media.effects"
+            file="/system/framework/com.google.android.media.effects.jar" />
+
+</permissions>

+ 8 - 0
prebuilt/gapps/etc/permissions/com.google.widevine.software.drm.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+      Copyright (C) 2011 Google, Inc.  All Rights Reserved
+-->
+<permissions>
+    <library name="com.google.widevine.software.drm"
+        file="/system/framework/com.google.widevine.software.drm.jar"/>
+</permissions>

+ 24 - 0
prebuilt/gapps/faceunlock.sh

@@ -0,0 +1,24 @@
+#!/sbin/sh
+
+good_ffc_device() {
+  if cat /proc/cpuinfo |grep -q Victory; then
+    return 1
+  fi
+  if cat /proc/cpuinfo |grep -q herring; then
+    return 1
+  fi
+  if cat /proc/cpuinfo |grep -q sun4i; then
+    return 1
+  fi
+  return 0
+}
+
+if good_ffc_device && [ -e /system/etc/permissions/android.hardware.camera.front.xml ]; then
+  chmod 755 /system/addon.d/31-faceunlock.sh
+elif  [ -d /system/vendor/pittpatt/ ]; then
+  rm -rf /system/vendor/pittpatt/
+  rm  -f /system/app/FaceLock.apk
+  rm  -f /system/lib/libfacelock_jni.so
+  rm  -f /system/addon.d/31-faceunlock.sh
+fi
+rm -rf /tmp/face

BIN
prebuilt/gapps/framework/com.google.android.camera2.jar


BIN
prebuilt/gapps/framework/com.google.android.maps.jar


BIN
prebuilt/gapps/framework/com.google.android.media.effects.jar


BIN
prebuilt/gapps/framework/com.google.widevine.software.drm.jar


BIN
prebuilt/gapps/lib/libfilterpack_facedetect.so


BIN
prebuilt/gapps/lib/libgoogle_hotword_jni.so


BIN
prebuilt/gapps/lib/libgoogle_recognizer_jni_l.so


BIN
prebuilt/gapps/lib/libjni_latinimegoogle.so


BIN
prebuilt/gapps/priv-app/GoogleBackupTransport/GoogleBackupTransport.apk


BIN
prebuilt/gapps/priv-app/GoogleFeedback/GoogleFeedback.apk


BIN
prebuilt/gapps/priv-app/GoogleLoginService/GoogleLoginService.apk


BIN
prebuilt/gapps/priv-app/GoogleOneTimeInitializer/GoogleOneTimeInitializer.apk


BIN
prebuilt/gapps/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk


BIN
prebuilt/gapps/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk


BIN
prebuilt/gapps/priv-app/Phonesky/Phonesky.apk


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libAppDataSearch.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libNearbyApp.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libWhisper.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libconscrypt_gmscore_jni.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgames_rtmp_jni.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgcastv2_base.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgcastv2_support.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgms-ocrclient.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libgmscore.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libjgcastservice.so


BIN
prebuilt/gapps/priv-app/PrebuiltGmsCore/lib/arm/libsslwrapper_jni.so


BIN
prebuilt/gapps/priv-app/SetupWizard/SetupWizard.apk


BIN
prebuilt/gapps/priv-app/Velvet/Velvet.apk


+ 1 - 0
prebuilt/gapps/priv-app/Velvet/lib/arm/libgoogle_hotword_jni.so

@@ -0,0 +1 @@
+/system/lib/libgoogle_hotword_jni.so

+ 1 - 0
prebuilt/gapps/priv-app/Velvet/lib/arm/libgoogle_recognizer_jni_l.so

@@ -0,0 +1 @@
+/system/lib/libgoogle_recognizer_jni_l.so

+ 1 - 0
prebuilt/gapps/priv-app/Velvet/lib/arm/libvcdecoder_jni.so

@@ -0,0 +1 @@
+/system/lib/libvcdecoder_jni.so

BIN
prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/landmark_group_meta_data.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/left_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-tree7-wmd.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/nose_base-y0-yi45-p0-pi45-r0-ri20.lg_32-tree7-wmd.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/multi_pose_face_landmark_detectors.8/right_eye-y0-yi45-p0-pi45-r0-ri20.lg_32-3-tree7-wmd.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-r0-ri30.4a-v24-tree7-2-wmd.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-rn30-ri30.5-v24-tree7-2-wmd.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/head-y0-yi45-p0-pi45-rp30-ri30.5-v24-tree7-2-wmd.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/pose-r.8.1.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/detection/yaw_roll_face_detectors.7.1/pose-y-r.8.1.bin


BIN
prebuilt/gapps/vendor/pittpatt/models/recognition/face.face.y0-y0-71-N-tree_7-wmd.bin