15.05 Update
- Make for different platforms (arm, arm64, x86) - Add arm64 support - Update GNow - Fix FaceUnlock FC
此提交包含在:
24
README.md
24
README.md
@@ -9,7 +9,12 @@ Information
|
|||||||
These are Google Apps for who want to install Google Packages on a custom rom.
|
These are Google Apps for who want to install Google Packages on a custom rom.
|
||||||
Remember Apks and Jars files are prebuilt from Google.
|
Remember Apks and Jars files are prebuilt from Google.
|
||||||
All closed source files come from Nexuses' factory images.
|
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.
|
This contains just the core files needed to setup a fully working Google account,
|
||||||
|
users will choose wich apps they want on their devices.
|
||||||
|
GApps contain a "quite old" universal Play Service, so the Play Store will download the proper one
|
||||||
|
for your device asap.
|
||||||
|
These GApps get monthly updates, fell free to fork and contribute to this, but remember,
|
||||||
|
**Opensource does not mean out-of-respect**. Also **NO MIRRORS ALLOWED**
|
||||||
|
|
||||||
|
|
||||||
Downloads
|
Downloads
|
||||||
@@ -18,13 +23,26 @@ Downloads
|
|||||||
https://github.com/linuxxxxx/vendor_google/releases
|
https://github.com/linuxxxxx/vendor_google/releases
|
||||||
|
|
||||||
|
|
||||||
|
Links
|
||||||
|
------------------
|
||||||
|
[Google +](https://google.com/+CgappsGithubIo0)
|
||||||
|
[Community](https://plus.google.com/u/0/b/104503298104020811639/communities/114625799842477562713)
|
||||||
|
[Website](cgapps.github.io)
|
||||||
|
|
||||||
|
|
||||||
Build
|
Build
|
||||||
-------------------
|
-------------------
|
||||||
|
|
||||||
You can compile your GApps package with GNU make (realpath also needed)
|
You can compile your GApps package with GNU make
|
||||||
|
|
||||||
_make distclean_
|
_make distclean_
|
||||||
- Remove output directory
|
- Remove output directory
|
||||||
|
|
||||||
_make gapps_
|
_make gapps_
|
||||||
- compile flashable GApps package for most of devices
|
- compile signed flashable GApps for arm
|
||||||
|
|
||||||
|
_make gapps_arm64_
|
||||||
|
- compile signed flashable GApps for arm64
|
||||||
|
|
||||||
|
_make gapps_x86_
|
||||||
|
- compila signed flashable GApps for x86 (NOT supported atm)
|
||||||
|
@@ -8,12 +8,9 @@
|
|||||||
DATE=$(date +%F-%H-%M-%S)
|
DATE=$(date +%F-%H-%M-%S)
|
||||||
TOP=$(realpath .)
|
TOP=$(realpath .)
|
||||||
ANDROIDV=5.1
|
ANDROIDV=5.1
|
||||||
BUILDZIP=gapps-$ANDROIDV-$DATE.zip
|
|
||||||
OUT=$TOP/out
|
OUT=$TOP/out
|
||||||
TARGETZIP=$OUT/target-zip
|
BUILD=$TOP/build
|
||||||
METAINF=$TOP/build/meta
|
METAINF=$BUILD/meta
|
||||||
PREBUILTGAPPS=$TOP/prebuilt/gapps
|
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# functions
|
# functions
|
||||||
@@ -27,32 +24,31 @@ function printdone(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function create(){
|
function create(){
|
||||||
if [ -d $PREBUILTGAPPS ]; then
|
PREBUILT=$TOP/prebuilt/gapps/$GARCH
|
||||||
if [ -d $OUT ]; then
|
if [ -d $OUT/$GARCH ]; then
|
||||||
echo "Previous build found"
|
echo "Previous build found for $GARCH"
|
||||||
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
|
else
|
||||||
printerr "Couldn't find prebuilts, sync again"
|
echo "No previous build found for $GARCH"
|
||||||
return 1
|
mkdir $OUT
|
||||||
|
TARGET=$OUT/$GARCH
|
||||||
|
mkdir $TARGET
|
||||||
|
mkdir $TARGET/tmp
|
||||||
fi
|
fi
|
||||||
|
echo "Getting prebuilts..."
|
||||||
|
cp -r $PREBUILT $TARGET/gapps
|
||||||
|
return $?
|
||||||
}
|
}
|
||||||
|
|
||||||
function zipit(){
|
function zipit(){
|
||||||
if [ "$LASTRETURN" == 0 ]; then
|
if [ "$LASTRETURN" == 0 ]; then
|
||||||
|
BUILDZIP=gapps-$ANDROIDV-$GARCH-$DATE.zip
|
||||||
echo "Importing installation scripts..."
|
echo "Importing installation scripts..."
|
||||||
cp -r $TARGETZIP/gapps $TARGETZIP/tmp/system
|
cp -r $TARGET/gapps $TARGET/tmp/system
|
||||||
cp -r $METAINF $TARGETZIP/tmp/META-INF
|
cp -r $METAINF $TARGET/tmp/META-INF
|
||||||
echo "Creating package..."
|
echo "Creating package..."
|
||||||
cd $TARGETZIP/tmp
|
cd $TARGET/tmp
|
||||||
zip -r /tmp/$BUILDZIP . &>/dev/null
|
zip -r /tmp/$BUILDZIP . &>/dev/null
|
||||||
|
rm -rf $TARGET/tmp
|
||||||
cd $TOP
|
cd $TOP
|
||||||
if [ -f /tmp/$BUILDZIP ]; then
|
if [ -f /tmp/$BUILDZIP ]; then
|
||||||
echo "Signing zip..."
|
echo "Signing zip..."
|
||||||
@@ -75,6 +71,7 @@ function zipit(){
|
|||||||
##
|
##
|
||||||
# main
|
# main
|
||||||
#
|
#
|
||||||
|
GARCH=$1
|
||||||
create
|
create
|
||||||
LASTRETURN=$?
|
LASTRETURN=$?
|
||||||
zipit
|
zipit
|
||||||
|
@@ -10,5 +10,13 @@ distclean :
|
|||||||
@echo "$(tput setaf 2)Output removed! Ready for a clean build$(tput sgr 0)"
|
@echo "$(tput setaf 2)Output removed! Ready for a clean build$(tput sgr 0)"
|
||||||
|
|
||||||
gapps :
|
gapps :
|
||||||
@echo "Compiling GApps..."
|
@echo "Compiling GApps for arm..."
|
||||||
@bash $(BUILD_GAPPS) 2>&1 | tee $(LOG_BUILD)
|
@bash $(BUILD_GAPPS) arm 2>&1 | tee $(LOG_BUILD)
|
||||||
|
|
||||||
|
gapps_arm64 :
|
||||||
|
@echo "Compiling GApps for arm64..."
|
||||||
|
@bash $(BUILD_GAPPS) arm64 2>&1 | tee $(LOG_BUILD)
|
||||||
|
|
||||||
|
gapps_x86 :
|
||||||
|
@echo "Compiling GApps for arm64..."
|
||||||
|
@bash $(BUILD_GAPPS) x86 2>&1 | tee $(LOG_BUILD)
|
||||||
|
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
@@ -0,0 +1,77 @@
|
|||||||
|
#!/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
|
||||||
|
lib64/libvorbisencoder.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
|
@@ -0,0 +1,54 @@
|
|||||||
|
#!/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
|
||||||
|
lib64/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
|
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
@@ -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>
|
@@ -0,0 +1,4 @@
|
|||||||
|
<permissions>
|
||||||
|
<library name="com.google.android.dialer.support"
|
||||||
|
file="/system/framework/com.google.android.dialer.support.jar" />
|
||||||
|
</permissions>
|
@@ -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>
|
@@ -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>
|
@@ -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>
|
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2010 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.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- This is the standard set of features for an auto-focus camera. -->
|
||||||
|
<permissions>
|
||||||
|
<feature name="com.google.android.feature.GOOGLE_BUILD" />
|
||||||
|
<!-- This should be added to all Nexus and GPe devices -->
|
||||||
|
<feature name="com.google.android.feature.GOOGLE_EXPERIENCE" />
|
||||||
|
</permissions>
|
||||||
|
|
@@ -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
|
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
未顯示二進位檔案。
本差異變更的檔案數量過多導致部分檔案未顯示 顯示更多
新增問題並參考
封鎖使用者