Compare commits
9 Commits
cr11.3
...
crdroid/15
Author | SHA1 | Date | |
---|---|---|---|
cc58fb9863 | |||
8f2f64ee6a | |||
ed4f7f96ab | |||
47e407aff1 | |||
dddf36db78 | |||
![]() |
9038094a04 | ||
![]() |
5e7c36d726 | ||
![]() |
bbdc14d4e5 | ||
![]() |
4d61f18ca9 |
32
.gitattributes
vendored
32
.gitattributes
vendored
@@ -3,35 +3,3 @@ arm64/proprietary/product/priv-app/Velvet/Velvet.apk filter=lfs diff=lfs merge=l
|
||||
arm64/proprietary/product/priv-app/VelvetTitan/VelvetTitan.apk filter=lfs diff=lfs merge=lfs -text
|
||||
arm/proprietary/product/priv-app/Velvet/Velvet.apk filter=lfs diff=lfs merge=lfs -text
|
||||
arm64/proprietary/product/priv-app/GmsCore/GmsCore.apk filter=lfs diff=lfs merge=lfs -text
|
||||
*.gitignore filter=lfs diff=lfs merge=lfs -text
|
||||
*.yml filter=lfs diff=lfs merge=lfs -text
|
||||
/LICENSE filter=lfs diff=lfs merge=lfs -text
|
||||
/Makefile filter=lfs diff=lfs merge=lfs -text
|
||||
*.md filter=lfs diff=lfs merge=lfs -text
|
||||
/addond_head filter=lfs diff=lfs merge=lfs -text
|
||||
/addond_tail filter=lfs diff=lfs merge=lfs -text
|
||||
*.bp filter=lfs diff=lfs merge=lfs -text
|
||||
*.mk filter=lfs diff=lfs merge=lfs -text
|
||||
*.apk filter=lfs diff=lfs merge=lfs -text
|
||||
*.so filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.sh filter=lfs diff=lfs merge=lfs -text
|
||||
*.RSA filter=lfs diff=lfs merge=lfs -text
|
||||
*.SF filter=lfs diff=lfs merge=lfs -text
|
||||
*.MF filter=lfs diff=lfs merge=lfs -text
|
||||
/build/meta/com/android/otacert filter=lfs diff=lfs merge=lfs -text
|
||||
/build/meta/com/google/android/update-binary filter=lfs diff=lfs merge=lfs -text
|
||||
/build/meta/com/google/android/updater-script filter=lfs diff=lfs merge=lfs -text
|
||||
*.dylib filter=lfs diff=lfs merge=lfs -text
|
||||
*.pk8 filter=lfs diff=lfs merge=lfs -text
|
||||
*.pem filter=lfs diff=lfs merge=lfs -text
|
||||
/cicd/Dockerfile filter=lfs diff=lfs merge=lfs -text
|
||||
*.py filter=lfs diff=lfs merge=lfs -text
|
||||
*.xml filter=lfs diff=lfs merge=lfs -text
|
||||
*.rc filter=lfs diff=lfs merge=lfs -text
|
||||
*.der filter=lfs diff=lfs merge=lfs -text
|
||||
*.txt filter=lfs diff=lfs merge=lfs -text
|
||||
/toybox-arm filter=lfs diff=lfs merge=lfs -text
|
||||
/toybox-arm64 filter=lfs diff=lfs merge=lfs -text
|
||||
/toybox-x86 filter=lfs diff=lfs merge=lfs -text
|
||||
/toybox-x86_64 filter=lfs diff=lfs merge=lfs -text
|
||||
|
11
.gitignore
vendored
11
.gitignore
vendored
@@ -1,3 +1,8 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2aa4a45f10a2df69cf1ed1698d6629ae28c569c3ca3457ce4c6ed3ce91c10eab
|
||||
size 85
|
||||
# out directory
|
||||
out/
|
||||
|
||||
# rro build artifacts
|
||||
overlay/**/build/
|
||||
|
||||
# gapps log
|
||||
gapps_log
|
||||
|
@@ -1,3 +1,5 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:630d6a8c7e4cef504ddfef93bb20ea812ae54820d96a519bb953d5b61e47e4bd
|
||||
size 114
|
||||
image: registry.gitlab.com/mindthegapps/vendor_gapps:latest
|
||||
|
||||
verify:
|
||||
script:
|
||||
- ./cicd/verify-permissions.py
|
||||
|
12
LICENSE
12
LICENSE
@@ -1,3 +1,9 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7dd210e662049585d2526d4d5a063507bad7e4874b72ebd6daa448af2c7dddcc
|
||||
size 404
|
||||
For files in [arm/arm64/common/x86/x86_64]/proprietary:
|
||||
These are closed source/propietary/prebuilt files.
|
||||
I do not own them, these are just here to make
|
||||
your life easier when compiling the package.
|
||||
Contacts their authors for information about licensing.
|
||||
|
||||
For any other file:
|
||||
GNU License v2, unless otherwise noted
|
||||
(https://www.gnu.org/licenses/gpl-2.0.html for more information)
|
||||
|
6
Makefile
6
Makefile
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:599ee37c5f531a7ddc9a9385ae34f5f8db8648b6a9770d86751c7696a7210f15
|
||||
size 82
|
||||
### DO NOT EDIT THIS FILE ###
|
||||
include build/main.mk
|
||||
### DO NOT EDIT THIS FILE ###
|
||||
|
95
README.md
95
README.md
@@ -1,3 +1,92 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8811f07839add5e55e910e513d82eed464f10e4077382a2bf620972c0964e839
|
||||
size 2728
|
||||
# vendor_gapps
|
||||
|
||||
**GApps for android devices**
|
||||
|
||||
Build standalone zips
|
||||
-------------------
|
||||
|
||||
You can compile your GApps package with GNU make
|
||||
|
||||
_make distclean_
|
||||
- Remove output directory
|
||||
|
||||
_make gapps_arm_
|
||||
- compile signed flashable GApps for arm
|
||||
|
||||
_make gapps_arm64_
|
||||
- compile signed flashable GApps for arm64
|
||||
|
||||
_make gapps_x86_64_
|
||||
- compile signed flashable GApps for x86_64
|
||||
|
||||
Build inline with Android
|
||||
-------------------
|
||||
1. Sync this repo to `$GAPPS_PATH` where `$GAPPS_PATH` is the path to this repo
|
||||
2. Include `$GAPPS_PATH/$ARCH/$ARCH-vendor.mk` where `$ARCH` is arm, arm64, or x86_64 depending on the device's architecture
|
||||
|
||||
Explanation of pinned blobs
|
||||
-------------------
|
||||
NOTE: All arch specific blobs not specifically explained here are pinned for the sake of being able to extract independently of the architecture of the source device.
|
||||
|
||||
AndroidMigratePrebuilt.apk
|
||||
- This is from a marlin factory image to avoid crashes with the one found in the walleye factory images.
|
||||
|
||||
GoogleCalendarSyncAdapter.apk
|
||||
- This is no longer included in Google system images and is required for syncing Google Calendar accounts with AOSP Calendar.
|
||||
|
||||
PrebuiltExchange3Google.apk
|
||||
- This is no longer included in Google system images and is required for using Exchange accounts in the Gmail app.
|
||||
|
||||
PrebuiltGmsCore.apk
|
||||
- This is a nodpi apk so that it works properly on all devices and updates to the appropriate one. This is generally from APKMirror and is not usually updated between major version updates.
|
||||
|
||||
SetupWizard.apk
|
||||
- This is a non-pixel SetupWizard for better UX and less pixel-specific references.
|
||||
|
||||
default-permissions.xml and privapp-permissions-google.xml
|
||||
- These do not always contain all the necessary permissions for apks which are not from the corresponding factory image, so they must be modified to avoid permission related crashes.
|
||||
|
||||
libjni_latinimegoogle.so
|
||||
- This lib is no longer included in Google system images and is required for swype typing with AOSP LatinIME.
|
||||
|
||||
Thanks and Credits
|
||||
-------------------
|
||||
|
||||
aleasto
|
||||
- Install scripts for 11 with dedicated partitions support
|
||||
|
||||
cdesai
|
||||
- Reminding me that /proc/meminfo is a thing
|
||||
|
||||
ciwrl
|
||||
- Catching a few spelling errors in this file
|
||||
|
||||
gmrt
|
||||
- Initial list for gapps
|
||||
|
||||
flex1911, raymanfx, deadman96385, jrior001, haggertk, arco
|
||||
- Thorough testing
|
||||
|
||||
harryyoud
|
||||
- Thorough testing and Jenkins setup
|
||||
|
||||
haggertk
|
||||
- Suggesting CI integration of privapp-permissions
|
||||
|
||||
jrizzoli
|
||||
- Initial build scripts and build system
|
||||
|
||||
luca020400
|
||||
- Fixing my makefiles
|
||||
|
||||
LuK1337
|
||||
- Setting up custom Docker image for CI, improving scripts, thorough testing
|
||||
|
||||
mikeioannina
|
||||
- The name for MindTheGapps
|
||||
|
||||
aleasto, razorloves, raymanfx
|
||||
- Helping maintain this repo
|
||||
|
||||
syphyr
|
||||
- Showing me how to repack libs in PrebuiltGmsCore
|
||||
|
7
TODO.md
7
TODO.md
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c44cdbcf0fcc2d2ae384830f37d14a4c4f2b4fa1dc0a0b803256eb832fbf7ae2
|
||||
size 118
|
||||
# TODO list
|
||||
|
||||
- Look at adding prebuilt voice recognition for Velvet
|
||||
- Update sigma gapps from a proper device release
|
||||
|
13
addond_head
13
addond_head
@@ -1,3 +1,10 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:523f18a4cd953147c484955cba2a43c3ae3bc0082fa14ed499098badd693f9c3
|
||||
size 120
|
||||
#!/sbin/sh
|
||||
#
|
||||
# ADDOND_VERSION=3
|
||||
#
|
||||
# /system/addon.d/30-gapps.sh
|
||||
#
|
||||
. /tmp/backuptool.functions
|
||||
|
||||
list_files() {
|
||||
cat <<EOF
|
||||
|
37
addond_tail
37
addond_tail
@@ -1,3 +1,34 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:03c838be71e78175f271cbd264425d846bfdf4444ee4700b805ec425dac2601f
|
||||
size 572
|
||||
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)
|
||||
for i in $(list_files); do
|
||||
f=$(get_output_path "$S/$i")
|
||||
chown root:root $f
|
||||
chmod 644 $f
|
||||
chmod 755 $(dirname $f)
|
||||
done
|
||||
;;
|
||||
esac
|
||||
|
@@ -1,3 +1,68 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:25d6b0c91dd8af2cc4627679461a988cb2f18f69873eedfc7406f1a0bbbbbf3f
|
||||
size 1974
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
|
||||
soong_namespace {
|
||||
imports: ["vendor/gapps/common"],
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GmsCore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Phonesky",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "SpeechServicesByGoogle",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Velvet",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Velvet/Velvet.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "talkback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/talkback/talkback.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fbcd284f13c9bf27bb290683d579138cd1d3baac430f8fc57cb67a24d19f084c
|
||||
size 176
|
@@ -1,3 +1,2 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a859722efca69a32a14ae5ca37a4362e2796e4aa07e67b85339e4e03bfb5abe7
|
||||
size 113
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
|
@@ -1,3 +1,18 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:32aec874eaf4219336ba635d3944e26e47317da1acb3b2f930273620dad6c8e5
|
||||
size 438
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GmsCore \
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
PRODUCT_PACKAGES += \
|
||||
SpeechServicesByGoogle \
|
||||
Velvet \
|
||||
talkback
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,94 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dd44291b2ef58ee569d72ab792e8e725ed16e9203dfa1cdc7b2bd03a10f164de
|
||||
size 1875
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
|
||||
soong_namespace {
|
||||
imports: ["vendor/gapps/common"],
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GmsCore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "MarkupGoogle_v2",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Phonesky",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "SpeechServicesByGoogle",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Velvet",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Velvet/Velvet.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "VelvetTitan",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/VelvetTitan/VelvetTitan.apk",
|
||||
overrides: ["Velvet"],
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "talkback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/talkback/talkback.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f83e4f53b3f4e80063804a93d88e65a32c231f287f2695912135cfe10aa37de8
|
||||
size 180
|
@@ -1,3 +1,2 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:be08c25ece3ac4bc72f37c245fae1a4a2f420bf10e7e458c5be97706b0b3bc57
|
||||
size 115
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
|
@@ -1,3 +1,24 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8876a275fd9ef6b72e483ad3e1f0667232f1bf0f85e9e9d3f7e966ab0c878a7c
|
||||
size 506
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GmsCore \
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
PRODUCT_PACKAGES += \
|
||||
MarkupGoogle_v2 \
|
||||
SpeechServicesByGoogle \
|
||||
Velvet \
|
||||
talkback
|
||||
endif
|
||||
|
||||
ifneq ($(filter %tangorpro,$(TARGET_PRODUCT)),)
|
||||
PRODUCT_PACKAGES += \
|
||||
VelvetTitan
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2167b5aec28fb7a14f704becc2dfff3b719c84d2601b063e69eb01fedc0c185c
|
||||
size 943652
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
133
build/gapps.sh
133
build/gapps.sh
@@ -1,3 +1,130 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc9738e6695745bb011d149f4cf5cde1354a8906e388c0233c3cad88fb88d6d2
|
||||
size 3509
|
||||
#!/bin/bash
|
||||
# (c) Joey Rizzoli, 2015
|
||||
# (c) Paul Keith, 2017
|
||||
# Released under GPL v2 License
|
||||
|
||||
##
|
||||
# var
|
||||
#
|
||||
DATE=$(date -u +%Y%m%d_%H%M%S)
|
||||
export GAPPS_TOP=$(realpath .)
|
||||
ANDROIDV=15.0.0
|
||||
SDKV=35
|
||||
GARCH=$1
|
||||
CPUARCH=$GARCH
|
||||
[ ! -z "$2" ] && CPUARCH=$2
|
||||
OUT=$GAPPS_TOP/out
|
||||
BUILD=$GAPPS_TOP/build
|
||||
METAINF=$BUILD/meta
|
||||
COMMON=$GAPPS_TOP/common/proprietary
|
||||
export GLOG=$GAPPS_TOP/gapps_log
|
||||
ADDOND=$GAPPS_TOP/addond.sh
|
||||
|
||||
SIGNAPK=$GAPPS_TOP/build/sign/signapk.jar
|
||||
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GAPPS_TOP/build/sign
|
||||
|
||||
ZIP_KEY_PK8=$GAPPS_TOP/build/sign/testkey.pk8
|
||||
ZIP_KEY_PEM=$GAPPS_TOP/build/sign/testkey.x509.pem
|
||||
|
||||
##
|
||||
# functions
|
||||
#
|
||||
function clean() {
|
||||
echo "Cleaning up..."
|
||||
rm -r $OUT/$GARCH
|
||||
rm /tmp/$BUILDZIP
|
||||
return $?
|
||||
}
|
||||
|
||||
function failed() {
|
||||
echo "Build failed, check $GLOG"
|
||||
exit 1
|
||||
}
|
||||
|
||||
function create() {
|
||||
test -f $GLOG && rm -f $GLOG
|
||||
echo "Starting GApps compilation" > $GLOG
|
||||
echo "ARCH= $GARCH" >> $GLOG
|
||||
echo "OS= $(uname -s -r)" >> $GLOG
|
||||
echo "NAME= $(whoami) at $(uname -n)" >> $GLOG
|
||||
PREBUILT=$GAPPS_TOP/$GARCH/proprietary
|
||||
test -d $OUT || mkdir $OUT;
|
||||
test -d $OUT/$GARCH || mkdir -p $OUT/$GARCH
|
||||
test -d $OUT/$GARCH/system || mkdir -p $OUT/$GARCH/system
|
||||
echo "Build directories are now ready" >> $GLOG
|
||||
echo "Compiling RROs"
|
||||
$GAPPS_TOP/overlay/build_overlays.sh $GARCH $OUT/$GARCH
|
||||
echo "Getting prebuilts..."
|
||||
echo "Copying stuff" >> $GLOG
|
||||
cp $GAPPS_TOP/toybox-$GARCH $OUT/$GARCH/toybox >> $GLOG
|
||||
cp -r $PREBUILT/* $OUT/$GARCH/system >> $GLOG
|
||||
cp -r $COMMON/* $OUT/$GARCH/system >> $GLOG
|
||||
echo "Generating addon.d script" >> $GLOG
|
||||
test -d $OUT/$GARCH/system/addon.d || mkdir -p $OUT/$GARCH/system/addon.d
|
||||
cp -f addond_head $OUT/$GARCH/system/addon.d
|
||||
cp -f addond_tail $OUT/$GARCH/system/addon.d
|
||||
echo "Writing build props..."
|
||||
echo "arch=$CPUARCH" > $OUT/$GARCH/build.prop
|
||||
echo "version=$SDKV" >> $OUT/$GARCH/build.prop
|
||||
echo "version_nice=$ANDROIDV" >> $OUT/$GARCH/build.prop
|
||||
}
|
||||
|
||||
function zipit() {
|
||||
BUILDZIP=MindTheGapps-$ANDROIDV-$GARCH-$DATE.zip
|
||||
echo "Importing installation scripts..."
|
||||
test -d $OUT/$GARCH/META-INF || mkdir $OUT/$GARCH/META-INF;
|
||||
cp -r $METAINF/* $OUT/$GARCH/META-INF/ && echo "Meta copied" >> $GLOG
|
||||
echo "Creating package..."
|
||||
cd $OUT/$GARCH
|
||||
zip -r /tmp/$BUILDZIP . >> $GLOG
|
||||
rm -rf $OUT/tmp >> $GLOG
|
||||
cd $GAPPS_TOP
|
||||
if [ -f /tmp/$BUILDZIP ]; then
|
||||
echo "Signing zip..."
|
||||
java -Xmx2048m -jar $SIGNAPK -w $ZIP_KEY_PEM $ZIP_KEY_PK8 /tmp/$BUILDZIP $OUT/$BUILDZIP >> $GLOG
|
||||
else
|
||||
echo "Couldn't zip files!"
|
||||
echo "Couldn't find unsigned zip file, aborting" >> $GLOG
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function getsha256() {
|
||||
if [ -x $(which sha256sum) ]; then
|
||||
echo "sha256sum is installed, getting sha256..." >> $GLOG
|
||||
echo "Getting sha256sum..."
|
||||
pushd $OUT > /dev/null
|
||||
GSHA256=$(sha256sum $BUILDZIP)
|
||||
echo -e "$GSHA256" > $BUILDZIP.sha256sum
|
||||
popd > /dev/null
|
||||
echo "sha256 exported at $OUT/$BUILDZIP.sha256sum"
|
||||
return 0
|
||||
else
|
||||
echo "sha256sum is not installed, aborting" >> $GLOG
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
##
|
||||
# main
|
||||
#
|
||||
if [ -x $(which realpath) ]; then
|
||||
echo "Realpath found!" >> $GLOG
|
||||
else
|
||||
GAPPS_TOP=$(cd . && pwd) # some darwin love
|
||||
echo "No realpath found!" >> $GLOG
|
||||
fi
|
||||
|
||||
for func in create zipit getsha256 clean; do
|
||||
$func
|
||||
ret=$?
|
||||
if [ "$ret" == 0 ]; then
|
||||
continue
|
||||
else
|
||||
failed
|
||||
fi
|
||||
done
|
||||
|
||||
echo "Done!" >> $GLOG
|
||||
echo "Build completed: $GSHA256"
|
||||
exit 0
|
||||
|
@@ -1,3 +1,22 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdf254ebb48bb279683bc0dd61c0bda847e7ea86c6bb22bde931f71a1784228d
|
||||
size 482
|
||||
# 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 "Output removed! Ready for a clean build"
|
||||
|
||||
gapps_arm:
|
||||
@echo "Compiling GApps for arm..."
|
||||
@bash $(BUILD_GAPPS) arm 2>&1
|
||||
|
||||
gapps_arm64:
|
||||
@echo "Compiling GApps for arm64..."
|
||||
@bash $(BUILD_GAPPS) arm64 2>&1
|
||||
|
||||
gapps_x86_64:
|
||||
@echo "Compiling GApps for x86_64..."
|
||||
@bash $(BUILD_GAPPS) x86_64 2>&1
|
||||
|
Binary file not shown.
@@ -1,3 +1,2 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4311b364d9db14a7478969ceded03f8a9bf2b136f34f80935fa4bbf244add1e7
|
||||
size 59
|
||||
Signature-Version: 1.0
|
||||
Created-By: 1.0 (Android SignApk)
|
||||
|
@@ -1,3 +1,2 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a4693b799fca2439111aad443f3bb3c062a1316226c02852ee4c02224d254c65
|
||||
size 58
|
||||
Manifest-Version: 1.0
|
||||
Created-By: 1.0 (Android SignApk)
|
||||
|
@@ -1,3 +1,27 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a4384ba815b9499a5ce349b4e33c1755278873fe2eac150a068823f526e6dbde
|
||||
size 1675
|
||||
-----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-----
|
||||
|
@@ -1,3 +1,322 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:942cb36151928e44fb31aee50563cf728ad8191d41e9a550be0c27ce8005bdb5
|
||||
size 9093
|
||||
#!/sbin/sh
|
||||
|
||||
OUTFD="/proc/self/fd/$2"
|
||||
ZIP=$3
|
||||
|
||||
set_con() {
|
||||
chcon -h u:object_r:"$1":s0 $2
|
||||
chcon u:object_r:"$1":s0 $2
|
||||
}
|
||||
|
||||
set_perm() {
|
||||
chmod $1 $2
|
||||
}
|
||||
|
||||
set_owner() {
|
||||
chown $1:$2 $3
|
||||
}
|
||||
|
||||
ui_print() {
|
||||
echo "ui_print $1" > "$OUTFD";
|
||||
echo "ui_print" > "$OUTFD";
|
||||
}
|
||||
|
||||
getprop2() {
|
||||
grep -m 1 "^$2=" $1 | cut -d= -f2
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
ui_print "Cleaning up files"
|
||||
rm -rf $TMP/system
|
||||
rm -rf $TMP/bin
|
||||
rm $TMP/toybox
|
||||
|
||||
ui_print "Unmounting partitions"
|
||||
umount -l "$SYSTEM_MNT"
|
||||
umount -l /product || true
|
||||
umount -l /system_ext || true
|
||||
}
|
||||
|
||||
error() {
|
||||
ui_print "$1"
|
||||
cleanup
|
||||
exit 1
|
||||
}
|
||||
|
||||
error_no_space() {
|
||||
error "Not enough space for GApps! Aborting"
|
||||
}
|
||||
|
||||
error_mounting() {
|
||||
error "Could not mount $1! Aborting"
|
||||
}
|
||||
|
||||
get_block_for_mount_point() {
|
||||
grep -v "^#" /etc/recovery.fstab | grep "[[:blank:]]$1[[:blank:]]" | tail -n1 | tr -s [:blank:] ' ' | cut -d' ' -f1
|
||||
}
|
||||
|
||||
find_block() {
|
||||
local name="$1"
|
||||
local fstab_entry=$(get_block_for_mount_point "/$name")
|
||||
# P-SAR hacks
|
||||
[ -z "$fstab_entry" ] && [ "$name" = "system" ] && fstab_entry=$(get_block_for_mount_point "/")
|
||||
[ -z "$fstab_entry" ] && [ "$name" = "system" ] && fstab_entry=$(get_block_for_mount_point "/system_root")
|
||||
|
||||
local dev
|
||||
if [ "$DYNAMIC_PARTITIONS" = "true" ]; then
|
||||
if [ -n "$fstab_entry" ]; then
|
||||
dev="${BLK_PATH}/${fstab_entry}${SLOT_SUFFIX}"
|
||||
else
|
||||
dev="${BLK_PATH}/${name}${SLOT_SUFFIX}"
|
||||
fi
|
||||
else
|
||||
if [ -n "$fstab_entry" ]; then
|
||||
dev="${fstab_entry}${SLOT_SUFFIX}"
|
||||
else
|
||||
dev="${BLK_PATH}/${name}${SLOT_SUFFIX}"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -b "$dev" ]; then
|
||||
echo "$dev"
|
||||
fi
|
||||
}
|
||||
|
||||
compute_apps_size() {
|
||||
NEEDED_STORAGE_SYSTEM=$(expr $(du -cs `find -maxdepth 1 -mindepth 1 ! -name product ! -name system_ext` | tail -n1 | cut -f1) + $STORAGE_BUFFER)
|
||||
NEEDED_STORAGE_PRODUCT=$(expr $(du -s ./product | cut -f1) + $STORAGE_BUFFER)
|
||||
NEEDED_STORAGE_SYSTEM_EXT=$(expr $(du -s ./system_ext | cut -f1) + $STORAGE_BUFFER)
|
||||
|
||||
RECLAIMABLE_STORAGE_SYSTEM=$(find . ! -path "./product/*" ! -path "./system_ext/*" -type f | sed "s|^./|$SYSTEM_OUT/|" | xargs ls -d 2>/dev/null | xargs du -cs PLACEHOLDER 2>/dev/null | tail -n1 | cut -f1)
|
||||
NEEDED_STORAGE_SYSTEM=$(expr $NEEDED_STORAGE_SYSTEM - $RECLAIMABLE_STORAGE_SYSTEM)
|
||||
|
||||
RECLAIMABLE_STORAGE_PRODUCT=$(find ./product -type f | sed "s|^./|$SYSTEM_OUT/|" | xargs ls -d 2>/dev/null | xargs du -cs PLACEHOLDER 2>/dev/null | tail -n1 | cut -f1)
|
||||
NEEDED_STORAGE_PRODUCT=$(expr $NEEDED_STORAGE_PRODUCT - $RECLAIMABLE_STORAGE_PRODUCT)
|
||||
|
||||
RECLAIMABLE_STORAGE_SYSTEM_EXT=$(find ./system_ext -type f | sed "s|^./|$SYSTEM_OUT/|" | xargs ls -d 2>/dev/null | xargs du -cs PLACEHOLDER 2>/dev/null | tail -n1 | cut -f1)
|
||||
NEEDED_STORAGE_SYSTEM_EXT=$(expr $NEEDED_STORAGE_SYSTEM_EXT - $RECLAIMABLE_STORAGE_SYSTEM_EXT)
|
||||
|
||||
if [ -z "$PRODUCT_BLOCK" ]; then
|
||||
NEEDED_STORAGE_SYSTEM=$(expr $NEEDED_STORAGE_SYSTEM + $NEEDED_STORAGE_PRODUCT - $STORAGE_BUFFER)
|
||||
fi
|
||||
if [ -z "$SYSTEM_EXT_BLOCK" ]; then
|
||||
NEEDED_STORAGE_SYSTEM=$(expr $NEEDED_STORAGE_SYSTEM + $NEEDED_STORAGE_SYSTEM_EXT - $STORAGE_BUFFER)
|
||||
fi
|
||||
}
|
||||
|
||||
remove_big_optional_apps() {
|
||||
ui_print "Low resource device detected, removing large extras"
|
||||
rm -rf product/app/GoogleTTS
|
||||
rm -rf product/app/MarkupGoogle_v2
|
||||
rm -rf product/app/SpeechServicesByGoogle
|
||||
rm -rf product/app/talkback
|
||||
rm -rf product/priv-app/GoogleRestore
|
||||
rm -rf product/priv-app/Velvet
|
||||
rm -rf product/priv-app/VelvetTitan
|
||||
rm -rf product/priv-app/Wellbeing
|
||||
rm -rf system_ext/priv-app/SetupWizard
|
||||
}
|
||||
|
||||
ui_print "**********************"
|
||||
ui_print "MindTheGapps installer"
|
||||
ui_print "**********************"
|
||||
|
||||
ui_print "Extracting files"
|
||||
TMP=/tmp
|
||||
cd "$TMP"
|
||||
unzip -o "$ZIP"
|
||||
rm -rf META-INF
|
||||
|
||||
# Check for arch. We need to do this before extracting our toybox, since that might be
|
||||
# compiled for a different architecture. Just hope that all environments have at least
|
||||
# a proper `grep` and `uname`.
|
||||
GAPPS_ARCH=$(getprop2 $TMP/build.prop arch)
|
||||
CPU_ARCH=$(getprop ro.bionic.arch)
|
||||
if [ $GAPPS_ARCH != $CPU_ARCH ]; then
|
||||
error "This package is built for $GAPPS_ARCH but your device is $CPU_ARCH! Aborting"
|
||||
fi
|
||||
|
||||
ui_print "Setting up environment"
|
||||
TOYBOX="${TMP}/toybox"
|
||||
chmod +x "$TOYBOX"
|
||||
|
||||
TOYS_PATH="${TMP}/bin"
|
||||
rm -rf "$TOYS_PATH";
|
||||
$TOYBOX install -d "$TOYS_PATH"
|
||||
for toy in $($TOYBOX); do
|
||||
$TOYBOX ln -sf "$TOYBOX" "${TOYS_PATH}/${toy}"
|
||||
done
|
||||
PATH="${TOYS_PATH}:${PATH}"
|
||||
|
||||
ui_print "Mounting partitions"
|
||||
|
||||
# Ensure system is unmounted so mounting succeeds
|
||||
umount /system || umount /mnt/system || true
|
||||
umount /product || true
|
||||
umount /system_ext || true
|
||||
|
||||
# Find partitions
|
||||
DYNAMIC_PARTITIONS=`getprop ro.boot.dynamic_partitions`
|
||||
if [ "$DYNAMIC_PARTITIONS" = "true" ]; then
|
||||
BLK_PATH="/dev/block/mapper"
|
||||
else
|
||||
BLK_PATH=/dev/block/bootdevice/by-name
|
||||
fi
|
||||
|
||||
CURRENTSLOT=`getprop ro.boot.slot_suffix`
|
||||
if [ ! -z "$CURRENTSLOT" ]; then
|
||||
if [ "$CURRENTSLOT" == "_a" ]; then
|
||||
SLOT_SUFFIX="_a"
|
||||
else
|
||||
SLOT_SUFFIX="_b"
|
||||
fi
|
||||
fi
|
||||
|
||||
SYSTEM_BLOCK=$(find_block "system")
|
||||
PRODUCT_BLOCK=$(find_block "product")
|
||||
SYSTEM_EXT_BLOCK=$(find_block "system_ext")
|
||||
|
||||
# Disable rw protection on dynamic partitions
|
||||
if [ "$DYNAMIC_PARTITIONS" = "true" ]; then
|
||||
blockdev --setrw "$SYSTEM_BLOCK"
|
||||
if [ -n "$PRODUCT_BLOCK" ]; then
|
||||
blockdev --setrw "$PRODUCT_BLOCK"
|
||||
fi
|
||||
if [ -n "$SYSTEM_EXT_BLOCK" ]; then
|
||||
blockdev --setrw "$SYSTEM_EXT_BLOCK"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Mount and define SYSTEM_OUT
|
||||
SYSTEM_MNT=/mnt/system
|
||||
mkdir -p "$SYSTEM_MNT" || true
|
||||
if mount -o rw "$SYSTEM_BLOCK" "$SYSTEM_MNT"; then
|
||||
ui_print "$SYSTEM_MNT mounted"
|
||||
else
|
||||
error_mounting "$SYSTEM_MNT"
|
||||
fi
|
||||
SYSTEM_OUT="${SYSTEM_MNT}/system"
|
||||
|
||||
# Compare sdk version
|
||||
GAPPS_VERSION=$(getprop2 $TMP/build.prop version)
|
||||
ANDROID_VERSION=$(getprop2 $SYSTEM_OUT/build.prop ro.build.version.sdk)
|
||||
if [ "$GAPPS_VERSION" != "$ANDROID_VERSION" ]; then
|
||||
gapps_version_nice=$(getprop2 $TMP/build.prop version_nice)
|
||||
android_version_nice=$(getprop2 $SYSTEM_OUT/build.prop ro.build.version.release)
|
||||
error "This package is for Android $gapps_version_nice (SDK $GAPPS_VERSION) but your system is Android $android_version_nice (SDK $ANDROID_VERSION)! Aborting"
|
||||
fi
|
||||
|
||||
# Ignore {product,system_ext} block devices in case they are symlinks
|
||||
# This is common on devices where maintainers have chosen not to use
|
||||
# real partitions because of their size being too small to be useful
|
||||
if [ -L "${SYSTEM_MNT}/product" ]; then
|
||||
PRODUCT_BLOCK=""
|
||||
fi
|
||||
if [ -L "${SYSTEM_MNT}/system_ext" ]; then
|
||||
SYSTEM_EXT_BLOCK=""
|
||||
fi
|
||||
|
||||
if [ -n "$PRODUCT_BLOCK" ]; then
|
||||
mkdir /product || true
|
||||
if mount -o rw "$PRODUCT_BLOCK" /product; then
|
||||
ui_print "/product mounted"
|
||||
else
|
||||
error_mounting "/product"
|
||||
fi
|
||||
fi
|
||||
if [ -n "$SYSTEM_EXT_BLOCK" ]; then
|
||||
mkdir /system_ext || true
|
||||
if mount -o rw "$SYSTEM_EXT_BLOCK" /system_ext; then
|
||||
ui_print "/system_ext mounted"
|
||||
else
|
||||
error_mounting "/system_ext"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Compute storage requirements
|
||||
SYSTEM_STORAGE=`df $SYSTEM_MNT | tail -1 | tr -s ' ' | cut -d ' ' -f4`
|
||||
if [ -n "$PRODUCT_BLOCK" ]; then
|
||||
PRODUCT_STORAGE=`df /product | tail -1 | tr -s ' ' | cut -d ' ' -f4`
|
||||
fi
|
||||
if [ -n "$SYSTEM_EXT_BLOCK" ]; then
|
||||
SYSTEM_EXT_STORAGE=`df /system_ext | tail -1 | tr -s ' ' | cut -d ' ' -f4`
|
||||
fi
|
||||
STORAGE_BUFFER=10240
|
||||
|
||||
cd system
|
||||
|
||||
# Detect tangorpro
|
||||
DEVICE=$(getprop ro.build.product)
|
||||
if [ "$DEVICE" == "tangorpro" ]; then
|
||||
ui_print "Detected tangorpro device. Deleting normal Velvet app"
|
||||
rm -rf product/priv-app/Velvet
|
||||
else
|
||||
rm -rf product/priv-app/VelvetTitan
|
||||
fi
|
||||
|
||||
compute_apps_size
|
||||
|
||||
if [ "$SYSTEM_STORAGE" -lt "$NEEDED_STORAGE_SYSTEM" ]; then
|
||||
remove_big_optional_apps
|
||||
compute_apps_size
|
||||
if [ "$SYSTEM_STORAGE" -lt "$NEEDED_STORAGE_SYSTEM" ]; then
|
||||
error_no_space
|
||||
fi
|
||||
fi
|
||||
if [ -n "$PRODUCT_BLOCK" ] && [ "$PRODUCT_STORAGE" -lt "$NEEDED_STORAGE_PRODUCT" ]; then
|
||||
remove_big_optional_apps
|
||||
compute_apps_size
|
||||
if [ "$PRODUCT_STORAGE" -lt "$NEEDED_STORAGE_PRODUCT" ]; then
|
||||
error_no_space
|
||||
fi
|
||||
fi
|
||||
if [ -n "$SYSTEM_EXT_BLOCK" ] && [ "$SYSTEM_EXT_STORAGE" -lt "$NEEDED_STORAGE_SYSTEM_EXT" ]; then
|
||||
remove_big_optional_apps
|
||||
compute_apps_size
|
||||
if [ "$SYSTEM_EXT_STORAGE" -lt "$NEEDED_STORAGE_SYSTEM_EXT" ]; then
|
||||
error_no_space
|
||||
fi
|
||||
fi
|
||||
|
||||
ui_print "Generating addon.d file"
|
||||
cat addon.d/addond_head > addon.d/30-gapps.sh
|
||||
for f in `find . ! -path "./addon.d/*" -type f`; do
|
||||
line=$(echo "$f" | sed 's/\.\///')
|
||||
echo "$line" >> addon.d/30-gapps.sh
|
||||
done
|
||||
cat addon.d/addond_tail >> addon.d/30-gapps.sh
|
||||
rm addon.d/addond_head addon.d/addond_tail
|
||||
|
||||
ui_print "Preparing files for copying"
|
||||
for d in `find . -mindepth 1 -type d -type d`; do
|
||||
set_perm 0755 $d
|
||||
set_owner root root $d
|
||||
done
|
||||
for f in `find . -type f`; do
|
||||
type=$(echo "$f" | sed 's/.*\.//')
|
||||
if [ "$type" == "sh" ] || [ "$type" == "$f" ]; then
|
||||
set_perm 0755 $f
|
||||
else
|
||||
set_perm 0644 $f
|
||||
fi
|
||||
set_owner root root $f
|
||||
set_con system_file $f
|
||||
done
|
||||
|
||||
ui_print "Copying files"
|
||||
cp --preserve=a -r ./* "${SYSTEM_OUT}/"
|
||||
if [ -n "$PRODUCT_BLOCK" ]; then
|
||||
cp --preserve=a -r ./product/* /product
|
||||
fi
|
||||
if [ -n "$SYSTEM_EXT_BLOCK" ]; then
|
||||
cp --preserve=a -r ./system_ext/* /system_ext
|
||||
fi
|
||||
|
||||
if [ -e system_ext/priv-app/SetupWizard ] ; then
|
||||
rm -rf "${SYSTEM_OUT}/system_ext/priv-app/Provision"
|
||||
fi
|
||||
|
||||
cleanup
|
||||
|
||||
ui_print "Done!"
|
||||
exit 0
|
||||
|
@@ -1,3 +1 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:07d861287f6064d46fa550bd3e0c2587d67732a3de233c66e89dddb3949f1524
|
||||
size 79
|
||||
# this is a dummy file, the magic is in update-binary, which is a shell script
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,27 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a4384ba815b9499a5ce349b4e33c1755278873fe2eac150a068823f526e6dbde
|
||||
size 1675
|
||||
-----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-----
|
||||
|
@@ -1,3 +1,5 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f4ebce3eda4df4024e61bf5e03d93f5a03064efd7cc8d809ed4350c5898db59b
|
||||
size 138
|
||||
FROM ubuntu:latest
|
||||
MAINTAINER LuK1337 <priv.luk@gmail.com>
|
||||
|
||||
RUN apt update
|
||||
RUN apt -y install aapt python3 python3-parse python3-requests
|
||||
|
@@ -1,3 +1,149 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c76a3138da3aaf954f708a9be4c345f82c55b7c5113fbc980d3246e5c660eaff
|
||||
size 6079
|
||||
#!/usr/bin/python3
|
||||
#
|
||||
# Copyright (C) 2021 Paul Keith <javelinanddart@gmail.com>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2 and
|
||||
# only version 2 as published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
import errno
|
||||
from glob import glob
|
||||
import os
|
||||
import subprocess
|
||||
import sys
|
||||
from xml.etree import ElementTree
|
||||
|
||||
# Get external packages
|
||||
try:
|
||||
from parse import parse
|
||||
except ImportError:
|
||||
print('Please install the "parse" package via pip3.')
|
||||
exit(errno.ENOPKG)
|
||||
try:
|
||||
import requests
|
||||
except ImportError:
|
||||
print('Please install the "requests" package via pip3.')
|
||||
exit(errno.ENOPKG)
|
||||
|
||||
# Change working directory to the location of this script
|
||||
# This fixes relative path references when calling this script from
|
||||
# outside of the directory containing it
|
||||
os.chdir(sys.path[0])
|
||||
|
||||
# Definitions for privileged permissions
|
||||
ANDROID_MANIFEST_XML = \
|
||||
'https://raw.githubusercontent.com/LineageOS/android_frameworks_base/lineage-22.0/core/res/AndroidManifest.xml'
|
||||
ANDROID_XML_NS = '{http://schemas.android.com/apk/res/android}'
|
||||
privileged_permissions = set()
|
||||
privileged_permission_mask = {'privileged', 'signature'}
|
||||
|
||||
# Get AndroidManifest.xml
|
||||
req = requests.get(ANDROID_MANIFEST_XML)
|
||||
|
||||
# Parse AndroidManifest.xml to get signature|privileged permissions
|
||||
root = ElementTree.fromstring(req.text)
|
||||
for perm in root.findall('permission'):
|
||||
# Get name of permission
|
||||
name = perm.get(f'{ANDROID_XML_NS}name')
|
||||
# Get the protection levels on the permission
|
||||
levels = set(
|
||||
perm.get(f'{ANDROID_XML_NS}protectionLevel').split('|'))
|
||||
# Check if the protections include signature and privileged
|
||||
levels_masked = levels & privileged_permission_mask
|
||||
if len(levels_masked) == len(privileged_permission_mask):
|
||||
privileged_permissions.add(name)
|
||||
|
||||
# List of partitions to check priv-app permissions on
|
||||
partitions = ['product', 'system_ext']
|
||||
|
||||
# Definitions for privapp-permissions
|
||||
# Dictionary with structure:
|
||||
# partition: permissions_dictionary
|
||||
# Where permissions_dictionary has the structure:
|
||||
# package_name : (set(allowed_permissions), set(requested_permissions))
|
||||
privapp_permissions_dict = {x: {} for x in partitions}
|
||||
|
||||
# Definitions for privapp-permission allowlists
|
||||
GLOB_XML_STR = '../*/proprietary/{}/etc/permissions/privapp-permissions*.xml'
|
||||
|
||||
# Parse allowlists to extract allowed privileged permissions
|
||||
for partition in partitions:
|
||||
# Get pointer to permissions_dictionary for the partition
|
||||
perm_dict = privapp_permissions_dict[partition]
|
||||
# Loop over all the XMLs in the partition we want
|
||||
for allowlist in glob(GLOB_XML_STR.format(partition)):
|
||||
# Get root of XML
|
||||
tree = ElementTree.parse(allowlist)
|
||||
root = tree.getroot()
|
||||
# Loop through and find packages
|
||||
for package in root.findall('privapp-permissions'):
|
||||
name = package.get('package')
|
||||
# Create empty entry if it's not in the dictionary
|
||||
if name not in perm_dict:
|
||||
perm_dict[name] = (set(), set())
|
||||
# Get all permissions and add them to dictionary
|
||||
for permission in package.findall('permission'):
|
||||
perm_dict[name][0].add(permission.get('name'))
|
||||
for permission in package.findall('deny-permission'):
|
||||
perm_dict[name][0].add(permission.get('name'))
|
||||
|
||||
# Definitions for parsing APKs
|
||||
GLOB_APK_STR = '../*/proprietary/{}/priv-app/*/*.apk'
|
||||
AAPT_CMD = ['aapt2', 'd', 'permissions']
|
||||
|
||||
# Extract requested privileged permissions from all priv-app APKs
|
||||
for partition in partitions:
|
||||
# Get pointer to permissions_dictionary for the partition
|
||||
perm_dict = privapp_permissions_dict[partition]
|
||||
# Loop over all the APKs in the partition we want
|
||||
for apk in glob(GLOB_APK_STR.format(partition)):
|
||||
# Run 'aapt d permissions' on APK
|
||||
aapt_output = subprocess.check_output(AAPT_CMD + [apk]).decode(encoding='UTF-8')
|
||||
lines = aapt_output.splitlines()
|
||||
# Extract package name from the output
|
||||
# Output looks like:
|
||||
# package: my.package.name
|
||||
package_name = parse('package: {}', lines[0])[0]
|
||||
# Create empty entry if package is not in dict
|
||||
if package_name not in perm_dict:
|
||||
perm_dict[package_name] = (set(), set())
|
||||
# Extract 'uses-permission' lines from the rest of the output
|
||||
# Relevant output looks like:
|
||||
# uses-permission: name='permission'
|
||||
for line in lines[1:]:
|
||||
# Extract permission name and add it to the dictionary if it's
|
||||
# one of the privileged permissions we extracted earlier
|
||||
if perm_name := parse('uses-permission: name=\'{}\'', line):
|
||||
if perm_name[0] in privileged_permissions:
|
||||
perm_dict[package_name][1].add(perm_name[0])
|
||||
|
||||
# Keep track of exit code
|
||||
rc = 0
|
||||
|
||||
# Find all the missing permissions
|
||||
for partition in partitions:
|
||||
# Get pointer to permissions_dictionary for the partition
|
||||
perm_dict = privapp_permissions_dict[partition]
|
||||
# Loop through all the packages and compare permission sets
|
||||
for package in perm_dict:
|
||||
# Get the sets of permissions
|
||||
# Format is (allowed, requested)
|
||||
perm_sets = perm_dict[package]
|
||||
# Compute the set difference requested - allowed
|
||||
# This gives us all the permissions requested that were not allowed
|
||||
perm_diff = perm_sets[1] - perm_sets[0]
|
||||
# If any permissions are left, set exit code to EPERM and print output
|
||||
if len(perm_diff) > 0:
|
||||
rc = errno.EPERM
|
||||
sys.stderr.write(
|
||||
f"Package {package} on partition {partition} is missing these permissions:\n")
|
||||
for perm in perm_diff:
|
||||
sys.stderr.write(f" - {perm}\n")
|
||||
|
||||
# Exit program
|
||||
exit(rc)
|
||||
|
@@ -1,3 +1,213 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f55cdba5e6f9bb7fabb08f8cce0dea5b1e81c74e88bea54e23f5e828813b338c
|
||||
size 2717
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
|
||||
soong_namespace {
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "AndroidAutoStub",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/AndroidAutoStub/AndroidAutoStub.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GoogleCalendarSyncAdapter",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GoogleContactsSyncAdapter",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GoogleFeedback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GooglePartnerSetup",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GoogleRestore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GoogleRestore/GoogleRestore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GoogleServicesFramework",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "PrebuiltExchange3Google",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/PrebuiltExchange3Google/PrebuiltExchange3Google.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Wellbeing",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Wellbeing/Wellbeing.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
dex_import {
|
||||
name: "com.google.android.dialer.support",
|
||||
owner: "gapps",
|
||||
jars: ["proprietary/product/framework/com.google.android.dialer.support.jar"],
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "com.google.android.dialer.support.xml",
|
||||
src: "proprietary/product/etc/permissions/com.google.android.dialer.support.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "d2d_cable_migration_feature.xml",
|
||||
src: "proprietary/product/etc/sysconfig/d2d_cable_migration_feature.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "default-permissions-google.xml",
|
||||
src: "proprietary/product/etc/default-permissions/default-permissions-google.xml",
|
||||
relative_install_path: "default-permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "default-permissions-mtg.xml",
|
||||
src: "proprietary/product/etc/default-permissions/default-permissions-mtg.xml",
|
||||
relative_install_path: "default-permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "gapps.rc",
|
||||
src: "proprietary/product/etc/init/gapps.rc",
|
||||
relative_install_path: "init",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "gms_fsverity_cert.der",
|
||||
src: "proprietary/product/etc/security/fsverity/gms_fsverity_cert.der",
|
||||
relative_install_path: "security/fsverity",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "google-hiddenapi-package-allowlist.xml",
|
||||
src: "proprietary/product/etc/sysconfig/google-hiddenapi-package-allowlist.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-google-product.xml",
|
||||
src: "proprietary/product/etc/permissions/privapp-permissions-google-product.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-google-system-ext.xml",
|
||||
src: "proprietary/system_ext/etc/permissions/privapp-permissions-google-system-ext.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-mtg.xml",
|
||||
src: "proprietary/product/etc/permissions/privapp-permissions-mtg.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "wellbeing.xml",
|
||||
src: "proprietary/product/etc/sysconfig/wellbeing.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2fb8d0416dfda1f15f27dd7fcdc1975b5170c07049f1252488bd2923d9bd84f4
|
||||
size 204
|
@@ -1,3 +1,2 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:890ba40ee4be56019c58e777299d276b65e4cc277f0af26d278627eab4e99911
|
||||
size 116
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
|
@@ -1,3 +1,41 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6cbf2034c3fa6c911adb9a7e18c414b05e7befa49480860e15ddb27c6d1ba003
|
||||
size 2791
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
AndroidAutoStub \
|
||||
GoogleCalendarSyncAdapter \
|
||||
GoogleContactsSyncAdapter \
|
||||
GoogleFeedback \
|
||||
GooglePartnerSetup \
|
||||
GoogleServicesFramework \
|
||||
PrebuiltExchange3Google \
|
||||
com.google.android.dialer.support \
|
||||
com.google.android.dialer.support.xml \
|
||||
d2d_cable_migration_feature.xml \
|
||||
default-permissions-google.xml \
|
||||
default-permissions-mtg.xml \
|
||||
gapps.rc \
|
||||
gms_fsverity_cert.der \
|
||||
google-hiddenapi-package-allowlist.xml \
|
||||
privapp-permissions-google-product.xml \
|
||||
privapp-permissions-google-system-ext.xml \
|
||||
privapp-permissions-mtg.xml
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
PRODUCT_PACKAGES += \
|
||||
GoogleRestore \
|
||||
Wellbeing \
|
||||
wellbeing.xml
|
||||
endif
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/overlay
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GmsSettingsOverlay \
|
||||
GmsOverlay \
|
||||
GmsSettingsProviderOverlay \
|
||||
GmsSetupWizardOverlay
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,70 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4513efc5d1e2efe0619d1b3551a6016813a02beb862c849ef6d6e26f7335ea9c
|
||||
size 3521
|
||||
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
|
||||
<exceptions>
|
||||
<exception
|
||||
package="com.google.android.apps.restore"
|
||||
sha256-cert-digest="56:BE:13:2B:78:06:56:FE:24:44:CD:34:32:6E:B5:D7:AA:C9:1D:20:96:AB:F0:FE:67:3A:99:27:06:22:EC:87">
|
||||
<!-- External storage -->
|
||||
<permission name="android.permission.READ_EXTERNAL_STORAGE" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" fixed="false"/>
|
||||
<!-- Contacts -->
|
||||
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
|
||||
<!-- For D2D Restore -->
|
||||
<permission name="android.permission.READ_CALL_LOG" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
|
||||
<permission name="android.permission.NEARBY_WIFI_DEVICES" fixed="false"/>
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.apps.assistant"
|
||||
sha256-cert-digest="43:0B:20:EB:61:96:7E:9C:5B:BE:02:59:9B:07:35:16:80:7D:AE:72:D7:86:FE:92:7F:48:96:B7:C7:F2:96:1F">
|
||||
<!-- Record audio -->
|
||||
<permission name="android.permission.RECORD_AUDIO" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.apps.actionsservice"
|
||||
sha256-cert-digest="43:0B:20:EB:61:96:7E:9C:5B:BE:02:59:9B:07:35:16:80:7D:AE:72:D7:86:FE:92:7F:48:96:B7:C7:F2:96:1F">
|
||||
<!-- Record audio -->
|
||||
<permission name="android.permission.RECORD_AUDIO" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.marvin.talkback"
|
||||
sha256-cert-digest="7B:5A:D5:51:80:A4:8A:1F:30:F3:53:77:C0:F9:E5:F9:11:BF:94:2F:B4:CF:83:EB:A2:55:A0:EB:F5:80:BE:EF">
|
||||
<!-- Read phone status -->
|
||||
<permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
|
||||
<!-- Bluetooth permissions -->
|
||||
<permission name="android.permission.BLUETOOTH_CONNECT" fixed="false"/>
|
||||
<permission name="android.permission.BLUETOOTH_SCAN" fixed="false"/>
|
||||
<permission name="android.permission.BLUETOOTH_ADVERTISE" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.deskclock"
|
||||
sha256-cert-digest="F0:FD:6C:5B:41:0F:25:CB:25:C3:B5:33:46:C8:97:2F:AE:30:F8:EE:74:11:DF:91:04:80:AD:6B:2D:60:DB:83">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.apps.tachyon"
|
||||
sha256-cert-digest="7C:AA:B6:E6:BA:70:0E:0D:DC:F7:5C:CA:52:B8:C3:B1:9A:3C:7D:23:30:8F:7E:B1:77:A6:4E:B2:47:61:97:BD">
|
||||
<!-- Notifications -->
|
||||
<permission name="android.permission.READ_CONTACTS" fixed="false"/>
|
||||
<permission name="android.permission.READ_PHONE_STATE" fixed="false"/>
|
||||
<permission name="android.permission.RECORD_AUDIO" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_CALL_LOG" fixed="false"/>
|
||||
<permission name="android.permission.WRITE_CONTACTS" fixed="false"/>
|
||||
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
|
||||
</exception>
|
||||
|
||||
<exception
|
||||
package="com.google.android.apps.photos"
|
||||
sha256-cert-digest="3D:7A:12:23:01:9A:A3:9D:9E:A0:E3:43:6A:B7:C0:89:6B:FB:4F:B6:79:F4:DE:5F:E7:C2:3F:32:6C:8F:99:4A">
|
||||
<permission name="android.permission.ACCESS_MEDIA_LOCATION" fixed="false"/>
|
||||
<permission name="android.permission.READ_MEDIA_IMAGES" fixed="false"/>
|
||||
<permission name="android.permission.READ_MEDIA_VIDEO" fixed="false"/>
|
||||
</exception>
|
||||
</exceptions>
|
||||
|
@@ -1,3 +1,24 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:250a22a5b0fd63140ae3842404d3ea85b5f390962d8350c96ff4b7ce4029a4f3
|
||||
size 1453
|
||||
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
|
||||
<exceptions>
|
||||
<exception
|
||||
package="com.google.android.projection.gearhead"
|
||||
sha256-cert-digest="FD:B0:0C:43:DB:DE:8B:51:CB:31:2A:A8:1D:3B:5F:A1:77:13:AD:B9:4B:28:F5:98:D7:7F:8E:B8:9D:AC:EE:DF">
|
||||
<!-- Gearhead legacy -->
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE" fixed="false" />
|
||||
<permission name="android.permission.READ_PHONE_STATE" fixed="false" />
|
||||
<permission name="android.permission.CALL_PHONE" fixed="false" />
|
||||
<permission name="android.permission.READ_CALL_LOG" fixed="false" />
|
||||
<permission name="android.permission.READ_CONTACTS" fixed="false" />
|
||||
<permission name="android.permission.ACCESS_FINE_LOCATION" fixed="false" />
|
||||
<permission name="android.permission.RECEIVE_SMS" fixed="false" />
|
||||
<permission name="android.permission.SEND_SMS" fixed="false" />
|
||||
<permission name="android.permission.RECORD_AUDIO" fixed="false" />
|
||||
<permission name="android.permission.READ_CALENDAR" fixed="false" />
|
||||
<!-- For Top Gear -->
|
||||
<permission name="android.permission.PROCESS_OUTGOING_CALLS" fixed="false" />
|
||||
<permission name="android.permission.READ_SMS" fixed="false" />
|
||||
<permission name="android.permission.RECEIVE_MMS" fixed="false" />
|
||||
<permission name="android.permission.WRITE_CALL_LOG" fixed="false" />
|
||||
<permission name="android.permission.ACCESS_COARSE_LOCATION" fixed="false" />
|
||||
</exception>
|
||||
</exceptions>
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:73fec552f7939e324162685ab5faa728d65e578ef3f68c8ce983973b42a6fa54
|
||||
size 95
|
||||
on init
|
||||
setprop ro.com.google.gmsversion 15_202408
|
||||
setprop ro.opa.eligible_device true
|
||||
|
@@ -1,3 +1,12 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b3b530828259e81adffbd78cd64735afe65849f78dc2bb09b62e14b8ddef3244
|
||||
size 610
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<permissions>
|
||||
<!-- Shared library required on the device to get Google Dialer updates from
|
||||
Play Store. This will be deprecated once Google Dialer play store
|
||||
updates stop supporting pre-O devices. -->
|
||||
<library name="com.google.android.dialer.support"
|
||||
file="/product/framework/com.google.android.dialer.support.jar" />
|
||||
|
||||
<!-- Starting from Android O and above, this system feature is required for
|
||||
getting Google Dialer play store updates. -->
|
||||
<feature name="com.google.android.apps.dialer.SUPPORTED" />
|
||||
</permissions>
|
||||
|
@@ -1,3 +1,438 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b0a0e5e41b67be5a91756aa5f08f8adb411b0a2867ab6e73407fd4a983612762
|
||||
size 28081
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This XML file declares which signature|privileged permissions should be granted to privileged
|
||||
applications in /product GMS or Google-branded devices.
|
||||
It allows additional grants on top of privapp-permissions-platform.xml
|
||||
-->
|
||||
<permissions>
|
||||
<privapp-permissions package="com.google.android.apps.nbu.files">
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.messaging">
|
||||
<permission name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.QUERY_USERS"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.READ_PRECISE_PHONE_STATE"/>
|
||||
<permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/>
|
||||
<permission name="android.permission.SATELLITE_COMMUNICATION"/>
|
||||
<permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.restore">
|
||||
<permission name="android.permission.BACKUP"/>
|
||||
<permission name="android.permission.MANAGE_USB"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"/>
|
||||
<permission name="android.permission.OVERRIDE_WIFI_CONFIG"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
<permission name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.safetyhub">
|
||||
<permission name="android.permission.ACCESS_CONTEXT_HUB"/>
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
|
||||
<permission name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.RECEIVE_EMERGENCY_BROADCAST"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.as">
|
||||
<permission name="android.permission.ACCESS_CONTEXT_HUB"/>
|
||||
<permission name="android.permission.ACCESS_ULTRASOUND"/>
|
||||
<permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_HOTWORD"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
|
||||
<permission name="android.permission.CAPTURE_MEDIA_OUTPUT"/>
|
||||
<permission name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"/>
|
||||
<permission name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
|
||||
<permission name="android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS"/>
|
||||
<permission name="android.permission.LOCATION_HARDWARE"/>
|
||||
<permission name="android.permission.MANAGE_CLOUDSEARCH"/>
|
||||
<permission name="android.permission.MANAGE_SOUND_TRIGGER"/>
|
||||
<permission name="android.permission.MANAGE_MUSIC_RECOGNITION"/>
|
||||
<permission name="android.permission.MANAGE_UI_TRANSLATION"/>
|
||||
<permission name="android.permission.MODIFY_AUDIO_ROUTING"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE"/>
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.READ_OEM_UNLOCK_STATE"/>
|
||||
<permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/>
|
||||
<permission name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"/>
|
||||
<permission name="android.permission.SET_SYSTEM_AUDIO_CAPTION"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
<permission name="android.permission.SYSTEM_CAMERA"/>
|
||||
<permission name="android.permission.UPDATE_DEVICE_STATS"/>
|
||||
<permission name="android.permission.USE_ON_DEVICE_INTELLIGENCE"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.as.oss">
|
||||
<permission name="android.permission.READ_RESTRICTED_STATS"/>
|
||||
<permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.vending">
|
||||
<permission name="android.permission.ALLOCATE_AGGRESSIVE"/>
|
||||
<permission name="android.permission.BACKUP"/>
|
||||
<permission name="android.permission.BATTERY_STATS"/>
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"/>
|
||||
<permission name="android.permission.CHANGE_OVERLAY_PACKAGES"/>
|
||||
<permission name="android.permission.CLEAR_APP_CACHE"/>
|
||||
<permission name="android.permission.CONNECTIVITY_INTERNAL"/>
|
||||
<permission name="android.permission.DELETE_PACKAGES"/>
|
||||
<permission name="android.permission.DUMP"/>
|
||||
<permission name="android.permission.FORCE_STOP_PACKAGES"/>
|
||||
<permission name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
|
||||
<permission name="android.permission.GET_APP_OPS_STATS"/>
|
||||
<permission name="android.permission.INSTALL_PACKAGES"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.LOADER_USAGE_STATS"/>
|
||||
<permission name="android.permission.MANAGE_CLOUDSEARCH"/>
|
||||
<permission name="android.permission.MANAGE_ROLLBACKS"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.PACKAGE_VERIFICATION_AGENT"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.READ_RUNTIME_PROFILES"/>
|
||||
<permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/>
|
||||
<permission name="android.permission.REAL_GET_TASKS"/>
|
||||
<permission name="android.permission.REBOOT"/>
|
||||
<permission name="android.permission.SEND_DEVICE_CUSTOMIZATION_READY"/>
|
||||
<permission name="android.permission.SEND_SAFETY_CENTER_UPDATE"/>
|
||||
<permission name="android.permission.SEND_SMS_NO_CONFIRMATION"/>
|
||||
<permission name="android.permission.SET_PREFERRED_APPLICATIONS"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.STATUS_BAR"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
<permission name="android.permission.UPDATE_DEVICE_STATS"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
<permission name="com.android.permission.USE_INSTALLER_V2"/>
|
||||
<permission name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"/>
|
||||
<permission name="com.google.android.settings.setup.dock.RUN_DOCK_SETUP"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.actionsservice">
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_HOTWORD"/>
|
||||
<permission name="android.permission.MEDIA_CONTENT_CONTROL"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.assistant">
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.MEDIA_CONTENT_CONTROL"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.carrier.carrierwifi">
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.NETWORK_CARRIER_PROVISIONING"/>
|
||||
<permission name="android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.LOCATION_HARDWARE"/>
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.gcs">
|
||||
<permission name="android.permission.CONTROL_VPN"/>
|
||||
<permission name="android.permission.GET_APP_OPS_STATS"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.OVERRIDE_WIFI_CONFIG"/>
|
||||
<permission name="android.permission.PACKET_KEEPALIVE_OFFLOAD"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.SCORE_NETWORKS"/>
|
||||
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.searchlite">
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.MEDIA_CONTENT_CONTROL"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.setupwizard.searchselector">
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.turbo">
|
||||
<permission name="android.permission.ACCESS_AMBIENT_LIGHT_STATS"/>
|
||||
<permission name="android.permission.BATTERY_PREDICTION"/>
|
||||
<permission name="android.permission.BATTERY_STATS"/>
|
||||
<permission name="android.permission.BRIGHTNESS_SLIDER_USAGE"/>
|
||||
<permission name="android.permission.CHANGE_APP_IDLE_STATE"/>
|
||||
<permission name="android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE"/>
|
||||
<permission name="android.permission.CONFIGURE_DISPLAY_BRIGHTNESS"/>
|
||||
<permission name="android.permission.DUMP"/>
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.POWER_SAVER"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.apps.wellbeing">
|
||||
<permission name="android.permission.ACCESS_AMBIENT_CONTEXT_EVENT"/>
|
||||
<permission name="android.permission.ACCESS_INSTANT_APPS"/>
|
||||
<permission name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"/>
|
||||
<permission name="android.permission.CONTROL_DISPLAY_SATURATION"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_PROFILES"/>
|
||||
<permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.MODIFY_QUIET_MODE"/>
|
||||
<permission name="android.permission.OBSERVE_APP_USAGE"/>
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.READ_DREAM_STATE"/>
|
||||
<permission name="android.permission.READ_WALLPAPER_INTERNAL"/>
|
||||
<permission name="android.permission.REAL_GET_TASKS"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<permission name="android.permission.SET_WALLPAPER_COMPONENT"/>
|
||||
<permission name="android.permission.SET_WALLPAPER_DIM_AMOUNT"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.START_TASKS_FROM_RECENTS"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
<permission name="android.permission.SYSTEM_APPLICATION_OVERLAY"/>
|
||||
<permission name="android.permission.WRITE_DREAM_STATE"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.configupdater">
|
||||
<permission name="android.permission.UPDATE_CONFIG"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.gms">
|
||||
<permission name="android.permission.ACCESS_BROADCAST_RESPONSE_STATS"/>
|
||||
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
|
||||
<permission name="android.permission.ACCESS_CONTEXT_HUB"/>
|
||||
<permission name="android.permission.ACCESS_FPS_COUNTER"/>
|
||||
<permission name="android.permission.ACCESS_NETWORK_CONDITIONS"/>
|
||||
<permission name="android.permission.ACCESS_VIBRATOR_STATE"/>
|
||||
<permission name="android.permission.ACTIVITY_EMBEDDING"/>
|
||||
<permission name="android.permission.ALLOCATE_AGGRESSIVE"/>
|
||||
<permission name="android.permission.BACKUP"/>
|
||||
<permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
|
||||
<permission name="android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS"/>
|
||||
<permission name="android.permission.CALL_AUDIO_INTERCEPTION"/>
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_HOTWORD"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"/>
|
||||
<permission name="android.permission.CHECK_REMOTE_LOCKSCREEN"/>
|
||||
<permission name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"/>
|
||||
<permission name="android.permission.CONFIGURE_FACTORY_RESET_PROTECTION"/>
|
||||
<permission name="android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS"/>
|
||||
<permission name="android.permission.CONTROL_DISPLAY_SATURATION"/>
|
||||
<permission name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
|
||||
<permission name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS"/>
|
||||
<permission name="android.permission.DISPATCH_PROVISIONING_MESSAGE"/>
|
||||
<permission name="android.permission.DOMAIN_VERIFICATION_AGENT"/>
|
||||
<permission name="android.permission.DUMP"/>
|
||||
<permission name="android.permission.EMERGENCY_INSTALL_PACKAGES"/>
|
||||
<permission name="android.permission.FORCE_STOP_PACKAGES"/>
|
||||
<permission name="android.permission.GET_APP_OPS_STATS"/>
|
||||
<permission name="android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE"/>
|
||||
<permission name="android.permission.INTENT_FILTER_VERIFICATION_AGENT"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.INVOKE_CARRIER_SETUP"/>
|
||||
<permission name="android.permission.LOCAL_MAC_ADDRESS"/>
|
||||
<permission name="android.permission.LOCATION_BYPASS"/>
|
||||
<permission name="android.permission.LOCATION_HARDWARE"/>
|
||||
<permission name="android.permission.LOCK_DEVICE"/>
|
||||
<permission name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"/>
|
||||
<permission name="android.permission.MANAGE_GAME_ACTIVITY"/>
|
||||
<permission name="android.permission.MANAGE_GAME_MODE"/>
|
||||
<permission name="android.permission.MANAGE_ROLLBACKS"/>
|
||||
<permission name="android.permission.MANAGE_SOUND_TRIGGER"/>
|
||||
<permission name="android.permission.MANAGE_SUBSCRIPTION_PLANS"/>
|
||||
<permission name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"/>
|
||||
<permission name="android.permission.MANAGE_USB"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.MANAGE_VOICE_KEYPHRASES"/>
|
||||
<permission name="android.permission.MANAGE_WIFI_INTERFACES"/>
|
||||
<permission name="android.permission.MANAGE_WIFI_NETWORK_SELECTION"/>
|
||||
<permission name="android.permission.MASTER_CLEAR"/>
|
||||
<permission name="android.permission.MEDIA_CONTENT_CONTROL"/>
|
||||
<permission name="android.permission.MODIFY_AUDIO_ROUTING"/>
|
||||
<permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
|
||||
<permission name="android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS"/>
|
||||
<permission name="android.permission.MODIFY_NETWORK_ACCOUNTING"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.NOTIFY_PENDING_SYSTEM_UPDATE"/>
|
||||
<permission name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"/>
|
||||
<permission name="android.permission.OVERRIDE_WIFI_CONFIG"/>
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.PREPARE_FACTORY_RESET"/>
|
||||
<permission name="android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE"/>
|
||||
<permission name="android.permission.PROVIDE_REMOTE_CREDENTIALS"/>
|
||||
<permission name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE"/>
|
||||
<permission name="android.permission.PROVIDE_TRUST_AGENT"/>
|
||||
<permission name="android.permission.READ_DREAM_STATE"/>
|
||||
<permission name="android.permission.READ_DROPBOX_DATA"/>
|
||||
<permission name="android.permission.READ_LOGS"/>
|
||||
<permission name="android.permission.READ_NETWORK_USAGE_HISTORY"/>
|
||||
<permission name="android.permission.READ_OEM_UNLOCK_STATE"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/>
|
||||
<permission name="android.permission.READ_WIFI_CREDENTIAL"/>
|
||||
<permission name="android.permission.REAL_GET_TASKS"/>
|
||||
<permission name="android.permission.REBOOT"/>
|
||||
<permission name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"/>
|
||||
<permission name="android.permission.RECOVERY"/>
|
||||
<permission name="android.permission.RECOVER_KEYSTORE"/>
|
||||
<permission name="android.permission.REMOTE_DISPLAY_PROVIDER"/>
|
||||
<permission name="android.permission.RENOUNCE_PERMISSIONS"/>
|
||||
<permission name="android.permission.REQUEST_COMPANION_PROFILE_COMPUTER"/>
|
||||
<permission name="android.permission.REQUEST_COMPANION_SELF_MANAGED"/>
|
||||
<permission name="android.permission.RESET_PASSWORD"/>
|
||||
<permission name="android.permission.SATELLITE_COMMUNICATION"/>
|
||||
<permission name="android.permission.SCHEDULE_PRIORITIZED_ALARM"/>
|
||||
<permission name="android.permission.SCORE_NETWORKS"/>
|
||||
<permission name="android.permission.SEND_SAFETY_CENTER_UPDATE"/>
|
||||
<permission name="android.permission.SEND_SMS_NO_CONFIRMATION"/>
|
||||
<permission name="android.permission.SET_BIOMETRIC_DIALOG_ADVANCED"/>
|
||||
<permission name="android.permission.SET_LOW_POWER_STANDBY_PORTS"/>
|
||||
<permission name="android.permission.SET_TIME"/>
|
||||
<permission name="android.permission.SET_TIME_ZONE"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.START_TASKS_FROM_RECENTS"/>
|
||||
<permission name="android.permission.STATUS_BAR"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
<permission name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"/>
|
||||
<permission name="android.permission.TETHER_PRIVILEGED"/>
|
||||
<permission name="android.permission.THREAD_NETWORK_PRIVILEGED"/>
|
||||
<permission name="android.permission.TURN_SCREEN_ON"/>
|
||||
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
|
||||
<permission name="android.permission.UPDATE_DEVICE_STATS"/>
|
||||
<permission name="android.permission.UPDATE_FONTS"/>
|
||||
<permission name="android.permission.USER_ACTIVITY"/>
|
||||
<permission name="android.permission.UWB_PRIVILEGED"/>
|
||||
<permission name="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"/>
|
||||
<permission name="android.permission.WRITE_GSERVICES"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
<permission name="android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS"/>
|
||||
<permission name="android.permission.THREAD_NETWORK_PRIVILEGED"/>
|
||||
<permission name="android.permission.READ_DROPBOX_DATA"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.gms.supervision">
|
||||
<permission name="android.permission.ACCESS_NETWORK_CONDITIONS"/>
|
||||
<permission name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST"/>
|
||||
<permission name="android.permission.GET_ACCOUNTS_PRIVILEGED"/>
|
||||
<permission name="android.permission.GET_APP_OPS_STATS"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.MANAGE_FACTORY_RESET_PROTECTION"/>
|
||||
<permission name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.MASTER_CLEAR"/>
|
||||
<permission name="android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS"/>
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.READ_DREAM_STATE"/>
|
||||
<permission name="android.permission.RESET_PASSWORD"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<permission name="android.permission.SET_TIME"/>
|
||||
<permission name="android.permission.SET_TIME_ZONE"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.STATUS_BAR"/>
|
||||
<permission name="android.permission.USER_ACTIVITY"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.projection.gearhead">
|
||||
<permission name="android.permission.ACTIVITY_EMBEDDING"/>
|
||||
<permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS"/>
|
||||
<permission name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
|
||||
<permission name="android.permission.DUMP"/>
|
||||
<permission name="android.permission.ENTER_CAR_MODE_PRIORITIZED"/>
|
||||
<permission name="android.permission.LOCAL_MAC_ADDRESS"/>
|
||||
<permission name="android.permission.LOCATION_HARDWARE"/>
|
||||
<permission name="android.permission.MANAGE_USB"/>
|
||||
<permission name="android.permission.MODIFY_AUDIO_ROUTING"/>
|
||||
<permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.REQUEST_COMPANION_SELF_MANAGED"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.UPDATE_APP_OPS_STATS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.googlequicksearchbox">
|
||||
<permission name="android.permission.BIND_APPWIDGET"/>
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_HOTWORD"/>
|
||||
<permission name="android.permission.CONTROL_INCALL_EXPERIENCE"/>
|
||||
<permission name="android.permission.ENTER_CAR_MODE_PRIORITIZED"/>
|
||||
<permission name="android.permission.GLOBAL_SEARCH"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_PROFILES"/>
|
||||
<deny-permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.MANAGE_SOUND_TRIGGER"/>
|
||||
<permission name="android.permission.MANAGE_USB"/>
|
||||
<permission name="android.permission.MANAGE_VOICE_KEYPHRASES"/>
|
||||
<permission name="android.permission.MEDIA_CONTENT_CONTROL"/>
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.REAL_GET_TASKS"/>
|
||||
<permission name="android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<permission name="android.permission.SET_MEDIA_KEY_LISTENER"/>
|
||||
<permission name="android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER"/>
|
||||
<permission name="android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.STOP_APP_SWITCHES"/>
|
||||
<permission name="android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON"/>
|
||||
<permission name="android.permission.WRITE_APN_SETTINGS"/>
|
||||
<permission name="android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.hotwordenrollment.okgoogle">
|
||||
<permission name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.android.hotwordenrollment.xgoogle">
|
||||
<permission name="android.permission.KEYPHRASE_ENROLLMENT_APPLICATION"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.partnersetup">
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.CHANGE_CONFIGURATION"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.onetimeinitializer">
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.ambient.streaming">
|
||||
<permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.REQUEST_COMPANION_SELF_MANAGED"/>
|
||||
<permission name="android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
<permission name="android.permission.CAPTURE_AUDIO_OUTPUT"/>
|
||||
<permission name="android.permission.BLUETOOTH_PRIVILEGED"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.BATTERY_STATS"/>
|
||||
<permission name="android.permission.ACCESS_NOTIFICATIONS"/>
|
||||
<permission name="android.permission.FORCE_STOP_PACKAGES"/>
|
||||
<permission name="android.permission.REQUEST_COMPANION_PROFILE_APP_STREAMING"/>
|
||||
<permission name="android.permission.MODIFY_AUDIO_ROUTING"/>
|
||||
<permission name="android.permission.REAL_GET_TASKS"/>
|
||||
<permission name="android.permission.MANAGE_ACCESSIBILITY"/>
|
||||
</privapp-permissions>
|
||||
</permissions>
|
||||
|
@@ -1,3 +1,13 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9de7ae2a7ed6d643b6d556593a09bb9410cd8a9cb98fee99c85c66eb45f1ee03
|
||||
size 601
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<permissions>
|
||||
<privapp-permissions package="com.google.android.projection.gearhead">
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.googlequicksearchbox">
|
||||
<permission name="android.permission.CAPTURE_MEDIA_OUTPUT"/>
|
||||
<permission name="android.permission.QUERY_USERS"/>
|
||||
<permission name="android.permission.READ_DREAM_STATE"/>
|
||||
<permission name="android.permission.WRITE_DREAM_STATE"/>
|
||||
</privapp-permissions>
|
||||
</permissions>
|
||||
|
Binary file not shown.
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:364372d5bb87bbf22b2628b14e2b56d521fb17ce27df804713c6fbea2eb2088c
|
||||
size 136
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<config>
|
||||
<feature name="com.google.android.feature.D2D_CABLE_MIGRATION_FEATURE" />
|
||||
</config>
|
||||
|
@@ -1,3 +1,62 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47612877a9484d9426a9964843016f0da34153f7f1446fbabcfba7e469790cd1
|
||||
size 4259
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This XML file declares which platform apps that need to access internal APIs.
|
||||
-->
|
||||
<config>
|
||||
<hidden-api-whitelisted-app package="com.android.apps.tag" />
|
||||
<hidden-api-whitelisted-app package="com.android.connectivity.metrics" />
|
||||
<hidden-api-whitelisted-app package="com.android.facelock" />
|
||||
<hidden-api-whitelisted-app package="com.android.google.gce.gceservice" />
|
||||
<hidden-api-whitelisted-app package="com.android.hotwordenrollment.okgoogle" />
|
||||
<hidden-api-whitelisted-app package="com.android.hotwordenrollment.tgoogle" />
|
||||
<hidden-api-whitelisted-app package="com.android.hotwordenrollment.xgoogle" />
|
||||
<hidden-api-whitelisted-app package="com.android.inputmethod.latin" />
|
||||
<hidden-api-whitelisted-app package="com.android.media.update" />
|
||||
<hidden-api-whitelisted-app package="com.android.netspeed" />
|
||||
<hidden-api-whitelisted-app package="com.android.onemedia" />
|
||||
<hidden-api-whitelisted-app package="com.android.pixellogger" />
|
||||
<hidden-api-whitelisted-app package="com.android.ramdump" />
|
||||
<hidden-api-whitelisted-app package="com.android.settingslib.robotests" />
|
||||
<hidden-api-whitelisted-app package="com.android.simappdialog" />
|
||||
<hidden-api-whitelisted-app package="com.android.statsd.dogfood" />
|
||||
<hidden-api-whitelisted-app package="com.android.statsd.loadtest" />
|
||||
<hidden-api-whitelisted-app package="com.android.systemui.shared" />
|
||||
<hidden-api-whitelisted-app package="com.android.test.power" />
|
||||
<hidden-api-whitelisted-app package="com.android.test.voiceenrollment" />
|
||||
<hidden-api-whitelisted-app package="com.android.tv.provision" />
|
||||
<hidden-api-whitelisted-app package="com.google.SSRestartDetector" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.apps.nexuslauncher" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.apps.wallpaper" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.asdiv" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.athome.globalkeyinterceptor" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.carrier" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.carriersetup" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.connectivitymonitor" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.edu.harnesssettings" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.ext.services" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.factoryota" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.feedback" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.gsf" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.hardwareinfo" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.hiddenmenu" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.permissioncontroller" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.partner.provisioning" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.pixel.setupwizard" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.preloaded_drawable_viewer" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.printservice.recommendation" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.sampledeviceowner" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.apps.scone" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.sdksetup" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.setupwizard" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.storagemanager" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.tag" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.tungsten.setupwraith" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.vendorloggingservice" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.volta" />
|
||||
<hidden-api-whitelisted-app package="com.google.android.wfcactivation" />
|
||||
<hidden-api-whitelisted-app package="com.google.mds" />
|
||||
<hidden-api-whitelisted-app package="com.google.modemservice" />
|
||||
<hidden-api-whitelisted-app package="com.htc.omadm.trigger" />
|
||||
<hidden-api-whitelisted-app package="com.qualcomm.qcrilmsgtunnel" />
|
||||
<hidden-api-whitelisted-app package="com.ustwo.lwp" />
|
||||
</config>
|
||||
|
@@ -1,3 +1,99 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:edf812885b78966b74f121d13d1ef7120aeab2b51211182b709bfb3c93b91330
|
||||
size 6127
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- These are configurations that must exist on all GMS devices. -->
|
||||
<config>
|
||||
<!-- These are the standard packages that are white-listed to always have internet
|
||||
access while in power save mode, even if they aren't in the foreground. -->
|
||||
|
||||
<!-- GmsCore must always have network access for GCM and other things. -->
|
||||
<allow-in-power-save package="com.google.android.gms" />
|
||||
<allow-in-data-usage-save package="com.google.android.gms" />
|
||||
<allow-unthrottled-location package="com.google.android.gms" />
|
||||
<allow-ignore-location-settings package="com.google.android.gms" attributionTag="com.google.android.gms.thunderbird" />
|
||||
<allow-ignore-location-settings package="com.google.android.dialer" attributionTag="*" />
|
||||
|
||||
<!-- Allow App Streaming to run in background while in power save mode. -->
|
||||
<allow-in-power-save package="com.google.ambient.streaming" />
|
||||
|
||||
<!-- Turbo must not have App Standby restrictions in order to push new
|
||||
App Standby buckets to the platform periodically -->
|
||||
<allow-in-power-save-except-idle package="com.google.android.apps.turbo" />
|
||||
|
||||
<!-- Certain broadcasts must still go to legacy implicit receivers -->
|
||||
<allow-implicit-broadcast action="com.google.android.checkin.CHECKIN_COMPLETE" />
|
||||
<allow-implicit-broadcast action="com.google.gservices.intent.action.GSERVICES_CHANGED" />
|
||||
<allow-implicit-broadcast action="com.google.gservices.intent.action.GSERVICES_OVERRIDE" />
|
||||
<allow-implicit-broadcast action="com.google.android.c2dm.intent.RECEIVE" />
|
||||
<!-- TODO: This is a temporary workaround for allowing GmsCore to receive this broadcast.
|
||||
This can be removed once OneTimeInitializer functionality is moved to GmsCore. -->
|
||||
<allow-implicit-broadcast action="com.google.android.onetimeinitializer.ONE_TIME_INITIALIZED" />
|
||||
|
||||
<!-- Play Store likewise must have network access to support other applications. -->
|
||||
<allow-in-power-save-except-idle package="com.android.vending" />
|
||||
|
||||
<!-- Allow SetupWizard keeping at unrestricted mode of Battery usage. -->
|
||||
<bg-restriction-exemption package="com.google.android.setupwizard"/>
|
||||
<bg-restriction-exemption package="com.google.android.apps.setupwizard.searchselector"/>
|
||||
|
||||
<!-- These Google applications all handle URLs to their websites by default -->
|
||||
|
||||
<!-- Apps below are required on all GMS devices -->
|
||||
<app-link package="com.android.vending" />
|
||||
<app-link package="com.google.android.gms" />
|
||||
<app-link package="com.google.android.apps.maps" />
|
||||
<app-link package="com.google.android.youtube" />
|
||||
<app-link package="com.google.android.apps.docs" />
|
||||
<app-link package="com.google.android.apps.photos" />
|
||||
<app-link package="com.google.android.apps.youtube.music" />
|
||||
<app-link package="com.google.android.googlequicksearchbox" />
|
||||
|
||||
<!-- Apps below are optional on GMS devices -->
|
||||
<app-link package="com.google.android.apps.docs.editors.sheets" />
|
||||
<app-link package="com.google.android.apps.docs.editors.slides" />
|
||||
<app-link package="com.google.android.apps.docs.editors.docs" />
|
||||
<app-link package="com.google.android.talk" />
|
||||
<app-link package="com.google.android.videos" />
|
||||
<app-link package="com.google.android.calendar" />
|
||||
<app-link package="com.google.android.apps.wallpaper" />
|
||||
|
||||
<!-- Whitelist of what components are permitted as backup data transports. The
|
||||
'service' attribute here is a flattened ComponentName string. -->
|
||||
<backup-transport-whitelisted-service
|
||||
service="com.google.android.gms/.backup.BackupTransportService" />
|
||||
<backup-transport-whitelisted-service
|
||||
service="com.google.android.gms/.backup.component.D2dTransportService" />
|
||||
<backup-transport-whitelisted-service
|
||||
service="com.google.android.apps.restore/.transport.BackupTransportService" />
|
||||
<backup-transport-whitelisted-service
|
||||
service="com.google.android.apps.restore/.transport.D2dTransportService" />
|
||||
|
||||
<!-- Specify the explicit set of other applications that AI services are allowed to
|
||||
interact with, including the providers that back the implementation of the APIs
|
||||
provided by the package. -->
|
||||
<allow-association target="com.google.android.as" allowed="com.android.bluetooth" />
|
||||
<allow-association target="com.google.android.as" allowed="com.android.bluetooth.services" />
|
||||
<allow-association target="com.google.android.as" allowed="com.android.providers.contacts" />
|
||||
<allow-association target="com.google.android.as" allowed="com.android.providers.media" />
|
||||
<allow-association target="com.google.android.as" allowed="com.android.providers.telephony" />
|
||||
<allow-association target="com.google.android.as" allowed="com.android.systemui" />
|
||||
<allow-association target="com.google.android.as" allowed="com.google.android.bluetooth" />
|
||||
<allow-association target="com.google.android.as" allowed="com.google.android.bluetooth.services" />
|
||||
<allow-association target="com.google.android.as" allowed="com.google.android.providers.media.module" />
|
||||
<!-- AI services can bind to its open-source network component. -->
|
||||
<allow-association target="com.google.android.as" allowed="com.google.android.as.oss" />
|
||||
|
||||
<!-- AI services open-source network component can only bind back to the core package. -->
|
||||
<allow-association target="com.google.android.as.oss" allowed="com.google.android.as" />
|
||||
|
||||
<!-- Specify the explicit set of other applications whose app data directories are
|
||||
accessible by other applications. -->
|
||||
<app-data-isolation-whitelisted-app package="com.google.android.gms" />
|
||||
|
||||
<!-- Whitelist of packages that eligible for rollback -->
|
||||
<rollback-whitelisted-app package="com.android.vending" />
|
||||
|
||||
<!-- Specify the installer eligiable for updating the given GMS package. -->
|
||||
<update-ownership package="com.google.android.gms" installer="com.android.vending" />
|
||||
|
||||
<!-- Denylist of packages that are not eligible for automatic rollback -->
|
||||
<automatic-rollback-denylisted-app package="com.android.vending" />
|
||||
</config>
|
||||
|
@@ -1,3 +1,24 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:724875dc95f7fb7eb950714f9a474a9a304e081626d9364647e02409e4bdae9c
|
||||
size 1106
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2014 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.
|
||||
-->
|
||||
|
||||
<!-- These are configurations that should exist on Google's own Nexus and GPe devices. -->
|
||||
<config>
|
||||
<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" />
|
||||
<!-- This should declare the version of Exchange that ships -->
|
||||
<feature name="com.google.android.feature.EXCHANGE_6_2" />
|
||||
</config>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eb737eb93ffa855638793cf898c9bb73dff81fa48fa0ecaf7707280a9f1b2753
|
||||
size 118
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<config>
|
||||
<feature name="com.google.android.feature.WELLBEING" />
|
||||
</config>
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,3 +1,76 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5ad3816372042840de3b9953cb6582fa84e55416100afca4da93b0dcf470aadb
|
||||
size 4500
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
This XML file declares which signature|privileged permissions should be granted to privileged
|
||||
applications in /system_ext on GMS or Google-branded devices.
|
||||
It allows additional grants on top of privapp-permissions-platform.xml
|
||||
-->
|
||||
<permissions>
|
||||
<privapp-permissions package="com.android.emergency">
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.gsf">
|
||||
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
|
||||
<permission name="android.permission.BACKUP"/>
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.DUMP"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.INVOKE_CARRIER_SETUP"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.MASTER_CLEAR"/>
|
||||
<permission name="android.permission.READ_DREAM_STATE"/>
|
||||
<permission name="android.permission.READ_NETWORK_USAGE_HISTORY"/>
|
||||
<permission name="android.permission.REBOOT"/>
|
||||
<permission name="android.permission.RECEIVE_DATA_ACTIVITY_CHANGE"/>
|
||||
<permission name="android.permission.RECOVERY"/>
|
||||
<permission name="android.permission.SET_TIME"/>
|
||||
<permission name="android.permission.STATUS_BAR"/>
|
||||
<permission name="android.permission.UPDATE_DEVICE_STATS"/>
|
||||
<permission name="android.permission.WRITE_GSERVICES"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.feedback">
|
||||
<permission name="android.permission.PACKAGE_USAGE_STATS"/>
|
||||
<permission name="android.permission.READ_LOGS"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.setupwizard">
|
||||
<permission name="android.permission.BACKUP"/>
|
||||
<permission name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>
|
||||
<permission name="android.permission.CHANGE_CONFIGURATION"/>
|
||||
<permission name="android.permission.CONNECTIVITY_INTERNAL"/>
|
||||
<permission name="android.permission.DISPATCH_PROVISIONING_MESSAGE"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
<permission name="android.permission.INVOKE_CARRIER_SETUP"/>
|
||||
<permission name="android.permission.LOCAL_MAC_ADDRESS"/>
|
||||
<permission name="android.permission.LOCATION_HARDWARE"/>
|
||||
<permission name="android.permission.MANAGE_DEVICE_ADMINS"/>
|
||||
<permission name="android.permission.MANAGE_FINGERPRINT"/>
|
||||
<permission name="android.permission.MANAGE_USB"/>
|
||||
<permission name="android.permission.MANAGE_TIME_AND_ZONE_DETECTION"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.MASTER_CLEAR"/>
|
||||
<permission name="android.permission.MODIFY_DAY_NIGHT_MODE"/>
|
||||
<permission name="android.permission.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.NOTIFICATION_DURING_SETUP"/>
|
||||
<permission name="android.permission.OVERRIDE_WIFI_CONFIG"/>
|
||||
<permission name="android.permission.PERFORM_CDMA_PROVISIONING"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.READ_WIFI_CREDENTIAL"/>
|
||||
<permission name="android.permission.REBOOT"/>
|
||||
<permission name="android.permission.REQUEST_NETWORK_SCORES"/>
|
||||
<permission name="android.permission.SET_TIME"/>
|
||||
<permission name="android.permission.SET_TIME_ZONE"/>
|
||||
<permission name="android.permission.SHUTDOWN"/>
|
||||
<permission name="android.permission.STATUS_BAR"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME"/>
|
||||
<permission name="android.permission.WRITE_APN_SETTINGS"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
</permissions>
|
||||
|
Binary file not shown.
Binary file not shown.
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1de879c8241ff8d01e3866e76a8c99d75d7ea34cd124f45587b5eeff7fe8d7e1
|
||||
size 1430
|
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e8c8842a84fa8fb627e777fdc8f6bfef877604f3e37948015152f71334c4a4ef
|
||||
size 80
|
||||
runtime_resource_overlay {
|
||||
name: "GmsOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
|
@@ -1,3 +1,7 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a9aecfb0bd737c069290e19644562e28dc0efc5b16c47697aab53bb975c78a64
|
||||
size 313
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mtg.gmsoverlay"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<application android:hasCode="false" />
|
||||
<overlay android:targetPackage="android" android:priority="1337" android:isStatic="true" />
|
||||
</manifest>
|
||||
|
@@ -1,3 +1,23 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d19cbf93aed3b3a2c66c515c8fb9928a4caedc5419f176d14df9eeaa88ca045e
|
||||
size 432
|
||||
!!brut.androlib.apk.ApkInfo
|
||||
apkFileName: GmsOverlay.apk
|
||||
doNotCompress:
|
||||
- resources.arsc
|
||||
isFrameworkApk: false
|
||||
packageInfo:
|
||||
forcedPackageId: '127'
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '35'
|
||||
targetSdkVersion: '35'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
usesFramework:
|
||||
ids:
|
||||
- 1
|
||||
tag: null
|
||||
version: 2.8.1
|
||||
versionInfo:
|
||||
versionCode: '1'
|
||||
versionName: '1.0'
|
||||
|
@@ -1,3 +1,78 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2db56397a699438c32dde7f1b6677020833641910e99645f31c12743b990f224
|
||||
size 4819
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- Apps that are authorized to access shared accounts -->
|
||||
<string name="config_appsAuthorizedForSharedAccounts" translatable="false">;com.android.vending;com.android.settings;</string>
|
||||
|
||||
<!-- Default service to enable with accessibility shortcut [DO NOT TRANSLATE] -->
|
||||
<string name="config_defaultAccessibilityService" translatable="false">com.google.android.marvin.talkback/.TalkBackService</string>
|
||||
|
||||
<!-- The name of the package that will hold the speech recognizer role by default. -->
|
||||
<string name="config_systemSpeechRecognizer" translatable="false">com.google.android.tts</string>
|
||||
|
||||
<!-- The name of the package that will hold the wellbeing role. -->
|
||||
<string name="config_systemWellbeing" translatable="false">com.google.android.apps.wellbeing</string>
|
||||
|
||||
<!-- The package name for the default wellbeing application. [DO NOT TRANSLATE] -->
|
||||
<string name="config_defaultWellbeingPackage" translatable="false">com.google.android.apps.wellbeing</string>
|
||||
|
||||
<!-- An array of packages that can make sound on the ringer stream in priority-only DND mode -->
|
||||
<string-array name="config_priorityOnlyDndExemptPackages" translatable="false">
|
||||
<item>com.android.dialer</item>
|
||||
<item>com.google.android.dialer</item>
|
||||
<item>com.android.server.telecom</item>
|
||||
<item>android</item>
|
||||
<item>com.android.systemui</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Colon separated list of package names that should be granted DND access -->
|
||||
<string name="config_defaultDndAccessPackages" translatable="false">com.google.android.gms:com.google.android.apps.wellbeing</string>
|
||||
|
||||
<!-- Names of packages that should not be suspended when personal use is blocked by policy. -->
|
||||
<string-array name="config_packagesExemptFromSuspension" translatable="false">
|
||||
<item>com.google.android.apps.wellbeing</item>
|
||||
</string-array>
|
||||
|
||||
<!-- List containing the allowed install sources for accessibility service. -->
|
||||
<string-array name="config_accessibility_allowed_install_source" translatable="false">
|
||||
<item>com.android.vending</item>
|
||||
</string-array>
|
||||
|
||||
<!-- The names of the packages that will hold the system automotive projection role. -->
|
||||
<string name="config_systemAutomotiveProjection" translatable="false">com.google.android.projection.gearhead</string>
|
||||
|
||||
<!-- The component name for the default profile supervisor, which can be set as a profile owner
|
||||
even after user setup is complete. The defined component should be used for supervision purposes
|
||||
only. The component must be part of a system app. -->
|
||||
<string name="config_defaultSupervisionProfileOwnerComponent" translatable="false">com.google.android.gms/.kids.account.receiver.ProfileOwnerReceiver</string>
|
||||
|
||||
<string name="config_systemSupervision" translatable="false">com.google.android.gms.supervision</string>
|
||||
|
||||
<!-- The set of system packages on device that are queryable by any app regardless of the
|
||||
contents of its manifest. -->
|
||||
<string-array name="config_forceQueryablePackages" translatable="false">
|
||||
<item>com.android.settings</item>
|
||||
<item>com.android.providers.settings</item>
|
||||
<!-- Add packages here -->
|
||||
<item>com.android.vending</item>
|
||||
<item>com.google.android.gms</item>
|
||||
</string-array>
|
||||
|
||||
<!-- The name of the package that will hold the assistant role by default. -->
|
||||
<string name="config_defaultAssistant" translatable="false">com.google.android.googlequicksearchbox</string>
|
||||
|
||||
<!-- Component name that accepts settings intents for saved devices.
|
||||
Used by FastPairSettingsFragment. -->
|
||||
<string translatable="false" name="config_defaultNearbyFastPairSettingsDevicesComponent">com.google.android.gms/com.google.android.gms.nearby.discovery.devices.SavedDevicesSettingsActivity</string>
|
||||
|
||||
<!-- The name of the package that will hold the game service role. -->
|
||||
<string name="config_systemGameService" translatable="false">com.google.android.gms</string>
|
||||
|
||||
<!-- The name of the package that will hold the device management role and its certificate's SHA256. -->
|
||||
<string name="config_devicePolicyManagement" translatable="false">com.google.android.apps.work.clouddpc:23962F4B43B9857638EA66F4D419518EAE282491ACDA4B94707BD59003C45E58</string>
|
||||
|
||||
<!-- The name of the package that will handle updating the device management role. -->
|
||||
<string name="config_devicePolicyManagementUpdater" translatable="false">com.google.android.gms</string>
|
||||
|
||||
<!-- Flag indicating which package name can access the persistent data partition -->
|
||||
<string name="config_persistentDataPackageName" translatable="false">com.google.android.gms</string>
|
||||
</resources>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:05a562621f17beb2037b0117cee39e588292a06c033b18bcb37f19184f9dd576
|
||||
size 88
|
||||
runtime_resource_overlay {
|
||||
name: "GmsSettingsOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
|
@@ -1,3 +1,7 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d806e7c86147cf93a3e3a30da0dcbe6afdc0da9b63462d5bfb01e39573d993b7
|
||||
size 334
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mtg.gmssettingsoverlay"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<application android:hasCode="false" />
|
||||
<overlay android:targetPackage="com.android.settings" android:priority="1337" android:isStatic="true" />
|
||||
</manifest>
|
||||
|
@@ -1,3 +1,23 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f53fdf2a70a19d2b27daf3492628a4f5dfaa09afeaf5344a0ef49f3d1866a6ff
|
||||
size 440
|
||||
!!brut.androlib.apk.ApkInfo
|
||||
apkFileName: GmsSettingsOverlay.apk
|
||||
doNotCompress:
|
||||
- resources.arsc
|
||||
isFrameworkApk: false
|
||||
packageInfo:
|
||||
forcedPackageId: '127'
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '35'
|
||||
targetSdkVersion: '35'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
usesFramework:
|
||||
ids:
|
||||
- 1
|
||||
tag: null
|
||||
version: 2.8.1
|
||||
versionInfo:
|
||||
versionCode: '1'
|
||||
versionName: '1.0'
|
||||
|
@@ -1,3 +1,14 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dfc457a9eff2f53cf38c788263c2738f0bf793ad60560f1b363bb42d486d6055
|
||||
size 1371
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- BT Slice EXTRA_INTENT. To support Settings 2 panel, BT slice can't use PendingIntent.send(). Therefore, here defines the Slice EXTRA_INTENT. -->
|
||||
<string name="config_bt_slice_extra_intent" translatable="false">com.google.android.gms.nearby.discovery.EXTRA_INTENT</string>
|
||||
|
||||
<!-- BT Slice EXTRA_PENDING_INTENT. To support Settings 2 panel, BT slice can't use PendingIntent.send(). Therefore, here defines the Slice EXTRA_PENDING_INTENT. -->
|
||||
<string name="config_bt_slice_extra_pending_intent" translatable="false">com.google.android.gms.nearby.discovery.EXTRA_PENDING_INTENT</string>
|
||||
|
||||
<!-- BT Slice intent action. To support Settings 2 panel, BT slice can't use PendingIntent.send(). Therefore, here defines the Slice intent action. -->
|
||||
<string name="config_bt_slice_intent_action" translatable="false">com.google.android.gms.nearby.discovery.ACTION_LOG_SLICE_AND_LAUNCH_INTENT</string>
|
||||
|
||||
<!-- BT Slice pending intent action. To support Settings 2 panel, BT slice can't use PendingIntent.send(). Therefore, here defines the Slice pending intent action. -->
|
||||
<string name="config_bt_slice_pending_intent_action" translatable="false">com.google.android.gms.nearby.discovery.ACTION_LOG_SLICE_AND_SEND_PENDING_INTENT</string>
|
||||
</resources>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1c01949936b92a2e83e350a2671723bedaa54f4015a8c5c5de09899d90762770
|
||||
size 96
|
||||
runtime_resource_overlay {
|
||||
name: "GmsSettingsProviderOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
|
@@ -1,3 +1,7 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7acb6e32e5928bf585988b438bb8a8e873073acd01d1273e061a544dfe4b2723
|
||||
size 352
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mtg.gmssettingsprovideroverlay"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<application android:hasCode="false" />
|
||||
<overlay android:targetPackage="com.android.providers.settings" android:priority="1337" android:isStatic="true" />
|
||||
</manifest>
|
||||
|
@@ -1,3 +1,23 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a492281f8c8e039b8d21a6a78f8a7320042f0c116e5c6dd23b5a7f4e3caee25f
|
||||
size 448
|
||||
!!brut.androlib.apk.ApkInfo
|
||||
apkFileName: GmsSettingsProviderOverlay.apk
|
||||
doNotCompress:
|
||||
- resources.arsc
|
||||
isFrameworkApk: false
|
||||
packageInfo:
|
||||
forcedPackageId: '127'
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '35'
|
||||
targetSdkVersion: '35'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
usesFramework:
|
||||
ids:
|
||||
- 1
|
||||
tag: null
|
||||
version: 2.8.1
|
||||
versionInfo:
|
||||
versionCode: '1'
|
||||
versionName: '1.0'
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5220d0cb854464903d8ca0e95f9aac956bd081e4871e4f0510c45175d9abcbc3
|
||||
size 128
|
||||
<resources>
|
||||
<string name="def_backup_transport">com.google.android.gms/.backup.BackupTransportService</string>
|
||||
</resources>
|
||||
|
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7f726726386cbaa613e33bad396cf04f0ef888367df6549d26c673c70b9cf32c
|
||||
size 91
|
||||
runtime_resource_overlay {
|
||||
name: "GmsSetupWizardOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
|
@@ -1,3 +1,7 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:55a9e61facbd1af346a0c904b5b7b332382a39bbc47f45214d63b97935c49355
|
||||
size 347
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.mtg.gmssetupwizardoverlay"
|
||||
android:versionCode="1"
|
||||
android:versionName="1.0">
|
||||
<application android:hasCode="false" />
|
||||
<overlay android:targetPackage="com.google.android.setupwizard" android:priority="1337" android:isStatic="true" />
|
||||
</manifest>
|
||||
|
@@ -1,3 +1,23 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dbadb1c5e4c7fc6076c14e5cc7ec96b1dd55192d4d30ba4fffad34a92fe4f6f8
|
||||
size 443
|
||||
!!brut.androlib.apk.ApkInfo
|
||||
apkFileName: GmsSetupWizardOverlay.apk
|
||||
doNotCompress:
|
||||
- resources.arsc
|
||||
isFrameworkApk: false
|
||||
packageInfo:
|
||||
forcedPackageId: '127'
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '35'
|
||||
targetSdkVersion: '35'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
usesFramework:
|
||||
ids:
|
||||
- 1
|
||||
tag: null
|
||||
version: 2.8.1
|
||||
versionInfo:
|
||||
versionCode: '1'
|
||||
versionName: '1.0'
|
||||
|
@@ -1,3 +1,8 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d2ec5d8f7121dc3b7b1ed1aabf7219412677e21871277cbf8f09682463e2f55e
|
||||
size 354
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<bool name="dynamic_color_enabled">true</bool>
|
||||
<bool name="enable_partner_experiment">true</bool>
|
||||
<bool name="enable_quick_enhanced_biometrics_flow">true</bool>
|
||||
<bool name="extended_partner_config_enabled">true</bool>
|
||||
<bool name="full_dynamic_color_enabled">true</bool>
|
||||
</resources>
|
||||
|
@@ -1,3 +1,33 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1c3b8b437b5d22f4d0725637f3a6e520192194bdb899d0e32d6037a08c2d1d06
|
||||
size 1104
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
GARCH=$1
|
||||
GOUT=$2
|
||||
|
||||
APKTOOL=$GAPPS_TOP/build/apktool/apktool_2.8.1.jar
|
||||
APKSIGNER=$GAPPS_TOP/build/sign/apksigner.jar
|
||||
|
||||
APK_KEY_PK8=$GAPPS_TOP/build/sign/testkey.pk8
|
||||
APK_KEY_PEM=$GAPPS_TOP/build/sign/testkey.x509.pem
|
||||
|
||||
SCRIPT_DIR=$(dirname "$0")
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
OVERLAYS=$(for dir in $(ls -d */); do echo ${dir%%/}; done)
|
||||
|
||||
for OVERLAY in $OVERLAYS; do
|
||||
PARTITION=$(grep -Eo "\w+_specific: true" $OVERLAY/Android.bp | sed "s/_specific.*$//")
|
||||
OVERLAY_TARGET_DIR="$GOUT/system/$PARTITION/overlay/"
|
||||
OVERLAY_TARGET="$OVERLAY_TARGET_DIR/$OVERLAY.apk"
|
||||
test -d $OVERLAY_TARGET_DIR || mkdir -p $OVERLAY_TARGET_DIR
|
||||
java -Xmx2048m -jar $APKTOOL b $OVERLAY --use-aapt2 >> $GLOG 2>&1
|
||||
touch -amt 200901010000.00 \
|
||||
$OVERLAY/build/apk/resources.arsc \
|
||||
$OVERLAY/build/apk/AndroidManifest.xml
|
||||
zip -j $OVERLAY_TARGET -n .arsc \
|
||||
$OVERLAY/build/apk/resources.arsc \
|
||||
$OVERLAY/build/apk/AndroidManifest.xml >> $GLOG 2>&1
|
||||
java -Xmx2048m -jar $APKSIGNER sign --key $APK_KEY_PK8 --cert $APK_KEY_PEM $OVERLAY_TARGET
|
||||
rm $OVERLAY_TARGET.idsig
|
||||
done
|
||||
|
@@ -1,3 +1,5 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:57d5585fe8a8a4a59cd93d726ec9da61bf4304b1d1e2a6f83fc058df18628dee
|
||||
size 240
|
||||
product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk;PRESIGNED
|
||||
product/app/talkback/talkback.apk;PRESIGNED
|
||||
product/priv-app/Velvet/Velvet.apk;PRESIGNED
|
||||
|
||||
system_ext/priv-app/SetupWizard/SetupWizard.apk;OVERRIDES=Provision;PRESIGNED
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bf47cb3e960f0da5c89fcaf713f357e0c55c27f354bced238cc4104ca799c07e
|
||||
size 174
|
||||
product/priv-app/GmsCore/GmsCore.apk;PRESIGNED
|
||||
product/priv-app/Phonesky/Phonesky.apk;PRESIGNED
|
||||
product/lib/libjni_latinimegoogle.so|cff48167aeff1d47e624b100138a8ad01cb2967b
|
||||
|
@@ -1,3 +1,6 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7557d44a17bbb3600ae78630ff97c44edf1acf4ac00da6986842dfe762aab551
|
||||
size 452
|
||||
product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk;PRESIGNED|474ca0e1fb0e6340b647142b3f493055fcb3990f
|
||||
product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk;PRESIGNED
|
||||
product/app/talkback/talkback.apk;PRESIGNED
|
||||
product/priv-app/Velvet/Velvet.apk;PRESIGNED
|
||||
|
||||
system_ext/priv-app/SetupWizard/SetupWizard.apk;OVERRIDES=Provision;PRESIGNED
|
||||
|
1
proprietary-files-arm64-tangorpro.txt
Normal file
1
proprietary-files-arm64-tangorpro.txt
Normal file
@@ -0,0 +1 @@
|
||||
product/priv-app/VelvetTitan/VelvetTitan.apk;OVERRIDES=Velvet;PRESIGNED|bb7c2f3fadfee4dda509daba285fec3dfffeed7e
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2960742841476009f72801b756c3ab377673c263e211bb71df52bdb89c69bd93
|
||||
size 254
|
||||
product/priv-app/GmsCore/GmsCore.apk;PRESIGNED
|
||||
product/priv-app/Phonesky/Phonesky.apk;PRESIGNED
|
||||
product/lib64/libjni_latinimegoogle.so|08ca8391a1816da0c417a3882e72dabb4091fd3c
|
||||
|
@@ -1,3 +1,4 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f3700f07aa10ca88998ad34267e6140c4404cb938992e6e5c0cb3183448e6c96
|
||||
size 147
|
||||
product/etc/sysconfig/wellbeing.xml
|
||||
|
||||
product/priv-app/GoogleRestore/GoogleRestore.apk;PRESIGNED
|
||||
product/priv-app/Wellbeing/Wellbeing.apk;PRESIGNED
|
||||
|
@@ -1,3 +1,29 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dcb1b2f9943529f43cfe92672a97f9654b87ed8ebe39e314e9c060ef91f57e50
|
||||
size 1523
|
||||
product/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk;PRESIGNED
|
||||
product/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk;PRESIGNED|ec9673f50e4c4dfd2bfcb784d2d8082ef48d1e23
|
||||
product/app/PrebuiltExchange3Google/PrebuiltExchange3Google.apk;PRESIGNED|043cb74798bf137d2dd1a69c7bca0a6702ad88a2
|
||||
|
||||
product/priv-app/AndroidAutoStub/AndroidAutoStub.apk;PRESIGNED
|
||||
product/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk;PRESIGNED
|
||||
|
||||
product/framework/com.google.android.dialer.support.jar;PRESIGNED
|
||||
|
||||
product/etc/default-permissions/default-permissions-google.xml
|
||||
product/etc/default-permissions/default-permissions-mtg.xml|b0e11fec4c6d134e205a856733bc89d95f2f24c9
|
||||
|
||||
product/etc/init/gapps.rc|1b9e076965fe08a03cf90fed0e96f2aa4ac90c0e
|
||||
|
||||
product/etc/permissions/com.google.android.dialer.support.xml
|
||||
product/etc/permissions/privapp-permissions-google-product.xml
|
||||
product/etc/permissions/privapp-permissions-mtg.xml|b8bcdbc95f03e6c3e50a015c092d5a4b3fc878d7
|
||||
|
||||
product/etc/security/fsverity/gms_fsverity_cert.der
|
||||
|
||||
product/etc/sysconfig/d2d_cable_migration_feature.xml
|
||||
system/etc/sysconfig/google-hiddenapi-package-allowlist.xml:product/etc/sysconfig/google-hiddenapi-package-allowlist.xml
|
||||
product/etc/sysconfig/google.xml
|
||||
product/etc/sysconfig/google_build.xml|2547949ac40c1e921ae6e92de6a36f2a3a70802c
|
||||
|
||||
system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk;PRESIGNED
|
||||
system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk;PRESIGNED
|
||||
|
||||
system_ext/etc/permissions/privapp-permissions-google-system-ext.xml
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2599ff49ba2a6ab4855e7d77962a1feac06afa6ffdf386b729249939f3d4c0fb
|
||||
size 124
|
||||
product/priv-app/Velvet/Velvet.apk;PRESIGNED
|
||||
|
||||
system_ext/priv-app/SetupWizard/SetupWizard.apk;OVERRIDES=Provision;PRESIGNED
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5f7dcd371ab27a3fc94ce65d30ff859e490461ea9e658457a2279643a71f6e12
|
||||
size 254
|
||||
product/priv-app/GmsCore/GmsCore.apk;PRESIGNED
|
||||
product/priv-app/Phonesky/Phonesky.apk;PRESIGNED
|
||||
product/lib64/libjni_latinimegoogle.so|67772ec6576feb79748440f765cad6321aef63d0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user