gapps: adapt crdroid
This commit is contained in:
32
.gitattributes
vendored
32
.gitattributes
vendored
@@ -3,3 +3,35 @@ 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,8 +1,3 @@
|
||||
# out directory
|
||||
out/
|
||||
|
||||
# rro build artifacts
|
||||
overlay/**/build/
|
||||
|
||||
# gapps log
|
||||
gapps_log
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2aa4a45f10a2df69cf1ed1698d6629ae28c569c3ca3457ce4c6ed3ce91c10eab
|
||||
size 85
|
||||
|
@@ -1,5 +1,3 @@
|
||||
image: registry.gitlab.com/mindthegapps/vendor_gapps:latest
|
||||
|
||||
verify:
|
||||
script:
|
||||
- ./cicd/verify-permissions.py
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:630d6a8c7e4cef504ddfef93bb20ea812ae54820d96a519bb953d5b61e47e4bd
|
||||
size 114
|
||||
|
12
LICENSE
12
LICENSE
@@ -1,9 +1,3 @@
|
||||
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)
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7dd210e662049585d2526d4d5a063507bad7e4874b72ebd6daa448af2c7dddcc
|
||||
size 404
|
||||
|
6
Makefile
6
Makefile
@@ -1,3 +1,3 @@
|
||||
### DO NOT EDIT THIS FILE ###
|
||||
include build/main.mk
|
||||
### DO NOT EDIT THIS FILE ###
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:599ee37c5f531a7ddc9a9385ae34f5f8db8648b6a9770d86751c7696a7210f15
|
||||
size 82
|
||||
|
95
README.md
95
README.md
@@ -1,92 +1,3 @@
|
||||
# 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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8811f07839add5e55e910e513d82eed464f10e4077382a2bf620972c0964e839
|
||||
size 2728
|
||||
|
7
TODO.md
7
TODO.md
@@ -1,4 +1,3 @@
|
||||
# TODO list
|
||||
|
||||
- Look at adding prebuilt voice recognition for Velvet
|
||||
- Update sigma gapps from a proper device release
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c44cdbcf0fcc2d2ae384830f37d14a4c4f2b4fa1dc0a0b803256eb832fbf7ae2
|
||||
size 118
|
||||
|
13
addond_head
13
addond_head
@@ -1,10 +1,3 @@
|
||||
#!/sbin/sh
|
||||
#
|
||||
# ADDOND_VERSION=3
|
||||
#
|
||||
# /system/addon.d/30-gapps.sh
|
||||
#
|
||||
. /tmp/backuptool.functions
|
||||
|
||||
list_files() {
|
||||
cat <<EOF
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:523f18a4cd953147c484955cba2a43c3ae3bc0082fa14ed499098badd693f9c3
|
||||
size 120
|
||||
|
37
addond_tail
37
addond_tail
@@ -1,34 +1,3 @@
|
||||
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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:03c838be71e78175f271cbd264425d846bfdf4444ee4700b805ec425dac2601f
|
||||
size 572
|
||||
|
107
arm/Android.bp
107
arm/Android.bp
@@ -1,104 +1,3 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"vendor/gapps/common",
|
||||
],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "libjni_latinimegoogle",
|
||||
owner: "gapps",
|
||||
strip: {
|
||||
none: true,
|
||||
},
|
||||
target: {
|
||||
android_arm: {
|
||||
srcs: ["proprietary/product/lib/libjni_latinimegoogle.so"],
|
||||
shared_libs: ["libc", "libm", "libc++", "libdl", ],
|
||||
},
|
||||
},
|
||||
compile_multilib: "32",
|
||||
prefer: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
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: "talkback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/talkback/talkback.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: "SetupWizard",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk",
|
||||
overrides: ["Provision"],
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:25d6b0c91dd8af2cc4627679461a988cb2f18f69873eedfc7406f1a0bbbbbf3f
|
||||
size 1974
|
||||
|
@@ -1,9 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(TARGET_ARCH),arm)
|
||||
|
||||
endif
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fbcd284f13c9bf27bb290683d579138cd1d3baac430f8fc57cb67a24d19f084c
|
||||
size 176
|
||||
|
@@ -1,4 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a859722efca69a32a14ae5ca37a4362e2796e4aa07e67b85339e4e03bfb5abe7
|
||||
size 113
|
||||
|
@@ -1,23 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/arm
|
||||
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
SpeechServicesByGoogle \
|
||||
talkback \
|
||||
Velvet \
|
||||
SetupWizard
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:32aec874eaf4219336ba635d3944e26e47317da1acb3b2f930273620dad6c8e5
|
||||
size 438
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
137
arm64/Android.bp
137
arm64/Android.bp
@@ -1,134 +1,3 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"vendor/gapps/common",
|
||||
],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "libjni_latinimegoogle",
|
||||
owner: "gapps",
|
||||
strip: {
|
||||
none: true,
|
||||
},
|
||||
target: {
|
||||
android_arm: {
|
||||
srcs: ["proprietary/product/lib/libjni_latinimegoogle.so"],
|
||||
shared_libs: ["libc", "libm", "libc++", "libdl", ],
|
||||
},
|
||||
android_arm64: {
|
||||
srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"],
|
||||
shared_libs: ["libc", "libm", "libc++", "libdl", ],
|
||||
},
|
||||
},
|
||||
compile_multilib: "both",
|
||||
prefer: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
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: "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: "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: "talkback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/talkback/talkback.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: "SetupWizard",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/system_ext/priv-app/SetupWizard/SetupWizard.apk",
|
||||
overrides: ["Provision"],
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:05af932f58dd19c5284c3809d0fd7f8a77e381040eb97cf9c404728320bf5510
|
||||
size 2157
|
||||
|
@@ -1,9 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(TARGET_ARCH),arm64)
|
||||
|
||||
endif
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f83e4f53b3f4e80063804a93d88e65a32c231f287f2695912135cfe10aa37de8
|
||||
size 180
|
||||
|
@@ -1,4 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:be08c25ece3ac4bc72f37c245fae1a4a2f420bf10e7e458c5be97706b0b3bc57
|
||||
size 115
|
||||
|
@@ -1,28 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/arm64
|
||||
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
MarkupGoogle_v2 \
|
||||
SpeechServicesByGoogle \
|
||||
talkback \
|
||||
Velvet \
|
||||
SetupWizard
|
||||
endif
|
||||
|
||||
ifneq ($(filter %tangorpro,$(TARGET_PRODUCT)),)
|
||||
PRODUCT_PACKAGES += VelvetTitan
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:18543353a6ced2de85f680107465219bc9c41a21880325b70f3a39c2fb609ead
|
||||
size 523
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
131
build/gapps.sh
131
build/gapps.sh
@@ -1,128 +1,3 @@
|
||||
#!/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..."
|
||||
GSHA256=$(sha256sum $OUT/$BUILDZIP)
|
||||
echo -e "$GSHA256" > $OUT/$BUILDZIP.sha256sum
|
||||
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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bc9738e6695745bb011d149f4cf5cde1354a8906e388c0233c3cad88fb88d6d2
|
||||
size 3509
|
||||
|
@@ -1,22 +1,3 @@
|
||||
# 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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdf254ebb48bb279683bc0dd61c0bda847e7ea86c6bb22bde931f71a1784228d
|
||||
size 482
|
||||
|
Binary file not shown.
@@ -1,2 +1,3 @@
|
||||
Signature-Version: 1.0
|
||||
Created-By: 1.0 (Android SignApk)
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4311b364d9db14a7478969ceded03f8a9bf2b136f34f80935fa4bbf244add1e7
|
||||
size 59
|
||||
|
@@ -1,2 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Created-By: 1.0 (Android SignApk)
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a4693b799fca2439111aad443f3bb3c062a1316226c02852ee4c02224d254c65
|
||||
size 58
|
||||
|
@@ -1,27 +1,3 @@
|
||||
-----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-----
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a4384ba815b9499a5ce349b4e33c1755278873fe2eac150a068823f526e6dbde
|
||||
size 1675
|
||||
|
@@ -1,322 +1,3 @@
|
||||
#!/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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:942cb36151928e44fb31aee50563cf728ad8191d41e9a550be0c27ce8005bdb5
|
||||
size 9093
|
||||
|
@@ -1 +1,3 @@
|
||||
# this is a dummy file, the magic is in update-binary, which is a shell script
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:07d861287f6064d46fa550bd3e0c2587d67732a3de233c66e89dddb3949f1524
|
||||
size 79
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,27 +1,3 @@
|
||||
-----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-----
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a4384ba815b9499a5ce349b4e33c1755278873fe2eac150a068823f526e6dbde
|
||||
size 1675
|
||||
|
@@ -1,5 +1,3 @@
|
||||
FROM ubuntu:latest
|
||||
MAINTAINER LuK1337 <priv.luk@gmail.com>
|
||||
|
||||
RUN apt update
|
||||
RUN apt -y install aapt python3 python3-parse python3-requests
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f4ebce3eda4df4024e61bf5e03d93f5a03064efd7cc8d809ed4350c5898db59b
|
||||
size 138
|
||||
|
@@ -1,149 +1,3 @@
|
||||
#!/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)
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c76a3138da3aaf954f708a9be4c345f82c55b7c5113fbc980d3246e5c660eaff
|
||||
size 6079
|
||||
|
@@ -1,130 +1,3 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
],
|
||||
}
|
||||
|
||||
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: "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: "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: "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: "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: "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,
|
||||
}
|
||||
|
||||
dex_import {
|
||||
name: "com.google.android.dialer.support",
|
||||
owner: "gapps",
|
||||
jars: ["proprietary/product/framework/com.google.android.dialer.support.jar"],
|
||||
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: "Wellbeing",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Wellbeing/Wellbeing.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f55cdba5e6f9bb7fabb08f8cce0dea5b1e81c74e88bea54e23f5e828813b338c
|
||||
size 2717
|
||||
|
@@ -1,9 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifneq ($(filter arm arm64 x86_64,$(TARGET_ARCH)),)
|
||||
|
||||
endif
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2fb8d0416dfda1f15f27dd7fcdc1975b5170c07049f1252488bd2923d9bd84f4
|
||||
size 204
|
||||
|
@@ -1,4 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:890ba40ee4be56019c58e777299d276b65e4cc277f0af26d278627eab4e99911
|
||||
size 116
|
||||
|
@@ -1,42 +1,3 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/common
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/gapps/common/proprietary/product/etc/default-permissions/default-permissions-google.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions-google.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/default-permissions/default-permissions-mtg.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/default-permissions/default-permissions-mtg.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/init/gapps.rc:$(TARGET_COPY_OUT_PRODUCT)/etc/init/gapps.rc \
|
||||
vendor/gapps/common/proprietary/product/etc/permissions/com.google.android.dialer.support.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/com.google.android.dialer.support.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/permissions/privapp-permissions-google-product.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-google-product.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/permissions/privapp-permissions-mtg.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/permissions/privapp-permissions-mtg.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/security/fsverity/gms_fsverity_cert.der:$(TARGET_COPY_OUT_PRODUCT)/etc/security/fsverity/gms_fsverity_cert.der \
|
||||
vendor/gapps/common/proprietary/product/etc/sysconfig/d2d_cable_migration_feature.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/d2d_cable_migration_feature.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/sysconfig/google.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/google.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/sysconfig/google_build.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/google_build.xml \
|
||||
vendor/gapps/common/proprietary/product/etc/sysconfig/google-hiddenapi-package-allowlist.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/google-hiddenapi-package-allowlist.xml \
|
||||
vendor/gapps/common/proprietary/system_ext/etc/permissions/privapp-permissions-google-system-ext.xml:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/permissions/privapp-permissions-google-system-ext.xml
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GoogleCalendarSyncAdapter \
|
||||
GoogleContactsSyncAdapter \
|
||||
PrebuiltExchange3Google \
|
||||
AndroidAutoStub \
|
||||
GooglePartnerSetup \
|
||||
GoogleFeedback \
|
||||
GoogleServicesFramework \
|
||||
com.google.android.dialer.support
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/gapps/common/proprietary/product/etc/sysconfig/wellbeing.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/wellbeing.xml
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GoogleRestore \
|
||||
Wellbeing
|
||||
endif
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay
|
||||
PRODUCT_PACKAGES += GmsOverlay GmsSettingsOverlay GmsSettingsProviderOverlay GmsSetupWizardOverlay
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6cbf2034c3fa6c911adb9a7e18c414b05e7befa49480860e15ddb27c6d1ba003
|
||||
size 2791
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,70 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4513efc5d1e2efe0619d1b3551a6016813a02beb862c849ef6d6e26f7335ea9c
|
||||
size 3521
|
||||
|
@@ -1,24 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:250a22a5b0fd63140ae3842404d3ea85b5f390962d8350c96ff4b7ce4029a4f3
|
||||
size 1453
|
||||
|
@@ -1,3 +1,3 @@
|
||||
on init
|
||||
setprop ro.com.google.gmsversion 15_202408
|
||||
setprop ro.opa.eligible_device true
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:73fec552f7939e324162685ab5faa728d65e578ef3f68c8ce983973b42a6fa54
|
||||
size 95
|
||||
|
@@ -1,12 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b3b530828259e81adffbd78cd64735afe65849f78dc2bb09b62e14b8ddef3244
|
||||
size 610
|
||||
|
@@ -1,438 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b0a0e5e41b67be5a91756aa5f08f8adb411b0a2867ab6e73407fd4a983612762
|
||||
size 28081
|
||||
|
@@ -1,13 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9de7ae2a7ed6d643b6d556593a09bb9410cd8a9cb98fee99c85c66eb45f1ee03
|
||||
size 601
|
||||
|
Binary file not shown.
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<config>
|
||||
<feature name="com.google.android.feature.D2D_CABLE_MIGRATION_FEATURE" />
|
||||
</config>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:364372d5bb87bbf22b2628b14e2b56d521fb17ce27df804713c6fbea2eb2088c
|
||||
size 136
|
||||
|
@@ -1,62 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:47612877a9484d9426a9964843016f0da34153f7f1446fbabcfba7e469790cd1
|
||||
size 4259
|
||||
|
@@ -1,99 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:edf812885b78966b74f121d13d1ef7120aeab2b51211182b709bfb3c93b91330
|
||||
size 6127
|
||||
|
@@ -1,24 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:724875dc95f7fb7eb950714f9a474a9a304e081626d9364647e02409e4bdae9c
|
||||
size 1106
|
||||
|
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<config>
|
||||
<feature name="com.google.android.feature.WELLBEING" />
|
||||
</config>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eb737eb93ffa855638793cf898c9bb73dff81fa48fa0ecaf7707280a9f1b2753
|
||||
size 118
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,76 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5ad3816372042840de3b9953cb6582fa84e55416100afca4da93b0dcf470aadb
|
||||
size 4500
|
||||
|
Binary file not shown.
Binary file not shown.
@@ -1,52 +1,3 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2016 The CyanogenMod Project
|
||||
# Copyright (C) 2017-2021 The LineageOS 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.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
export GAPPS_COMMON=common
|
||||
export VENDOR=gapps
|
||||
|
||||
# Load extract_utils and do some sanity checks
|
||||
MY_DIR="${BASH_SOURCE%/*}"
|
||||
if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
|
||||
|
||||
ANDROID_ROOT="$MY_DIR/../.."
|
||||
|
||||
export TARGET_ENABLE_CHECKELF=true
|
||||
|
||||
HELPER="$ANDROID_ROOT/tools/extract-utils/extract_utils.sh"
|
||||
if [ ! -f "$HELPER" ]; then
|
||||
echo "Unable to find helper script at $HELPER"
|
||||
exit 1
|
||||
fi
|
||||
. "$HELPER"
|
||||
|
||||
SRC=$1
|
||||
|
||||
if [ -z "$SRC" ]; then
|
||||
echo "Path to system dump not specified! Specify one with --path"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Initialize the helper for common gapps
|
||||
setup_vendor "$GAPPS_COMMON" "$VENDOR" "$ANDROID_ROOT"
|
||||
|
||||
extract "$MY_DIR"/proprietary-files-common.txt "$SRC"
|
||||
extract "$MY_DIR"/proprietary-files-common-nongrouper.txt "$SRC"
|
||||
|
||||
"$MY_DIR"/setup-makefiles.sh
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1de879c8241ff8d01e3866e76a8c99d75d7ea34cd124f45587b5eeff7fe8d7e1
|
||||
size 1430
|
||||
|
@@ -1,4 +1,3 @@
|
||||
runtime_resource_overlay {
|
||||
name: "GmsOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e8c8842a84fa8fb627e777fdc8f6bfef877604f3e37948015152f71334c4a4ef
|
||||
size 80
|
||||
|
@@ -1,7 +1,3 @@
|
||||
<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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a9aecfb0bd737c069290e19644562e28dc0efc5b16c47697aab53bb975c78a64
|
||||
size 313
|
||||
|
@@ -1,23 +1,3 @@
|
||||
!!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'
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d19cbf93aed3b3a2c66c515c8fb9928a4caedc5419f176d14df9eeaa88ca045e
|
||||
size 432
|
||||
|
@@ -1,78 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2db56397a699438c32dde7f1b6677020833641910e99645f31c12743b990f224
|
||||
size 4819
|
||||
|
@@ -1,4 +1,3 @@
|
||||
runtime_resource_overlay {
|
||||
name: "GmsSettingsOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:05a562621f17beb2037b0117cee39e588292a06c033b18bcb37f19184f9dd576
|
||||
size 88
|
||||
|
@@ -1,7 +1,3 @@
|
||||
<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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d806e7c86147cf93a3e3a30da0dcbe6afdc0da9b63462d5bfb01e39573d993b7
|
||||
size 334
|
||||
|
@@ -1,23 +1,3 @@
|
||||
!!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'
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f53fdf2a70a19d2b27daf3492628a4f5dfaa09afeaf5344a0ef49f3d1866a6ff
|
||||
size 440
|
||||
|
@@ -1,14 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dfc457a9eff2f53cf38c788263c2738f0bf793ad60560f1b363bb42d486d6055
|
||||
size 1371
|
||||
|
@@ -1,4 +1,3 @@
|
||||
runtime_resource_overlay {
|
||||
name: "GmsSettingsProviderOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1c01949936b92a2e83e350a2671723bedaa54f4015a8c5c5de09899d90762770
|
||||
size 96
|
||||
|
@@ -1,7 +1,3 @@
|
||||
<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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7acb6e32e5928bf585988b438bb8a8e873073acd01d1273e061a544dfe4b2723
|
||||
size 352
|
||||
|
@@ -1,23 +1,3 @@
|
||||
!!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'
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a492281f8c8e039b8d21a6a78f8a7320042f0c116e5c6dd23b5a7f4e3caee25f
|
||||
size 448
|
||||
|
@@ -1,3 +1,3 @@
|
||||
<resources>
|
||||
<string name="def_backup_transport">com.google.android.gms/.backup.BackupTransportService</string>
|
||||
</resources>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5220d0cb854464903d8ca0e95f9aac956bd081e4871e4f0510c45175d9abcbc3
|
||||
size 128
|
||||
|
@@ -1,4 +1,3 @@
|
||||
runtime_resource_overlay {
|
||||
name: "GmsSetupWizardOverlay",
|
||||
product_specific: true
|
||||
}
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7f726726386cbaa613e33bad396cf04f0ef888367df6549d26c673c70b9cf32c
|
||||
size 91
|
||||
|
@@ -1,7 +1,3 @@
|
||||
<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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:55a9e61facbd1af346a0c904b5b7b332382a39bbc47f45214d63b97935c49355
|
||||
size 347
|
||||
|
@@ -1,23 +1,3 @@
|
||||
!!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'
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dbadb1c5e4c7fc6076c14e5cc7ec96b1dd55192d4d30ba4fffad34a92fe4f6f8
|
||||
size 443
|
||||
|
@@ -1,8 +1,3 @@
|
||||
<?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>
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d2ec5d8f7121dc3b7b1ed1aabf7219412677e21871277cbf8f09682463e2f55e
|
||||
size 354
|
||||
|
@@ -1,33 +1,3 @@
|
||||
#!/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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1c3b8b437b5d22f4d0725637f3a6e520192194bdb899d0e32d6037a08c2d1d06
|
||||
size 1104
|
||||
|
@@ -1,5 +1,3 @@
|
||||
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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:57d5585fe8a8a4a59cd93d726ec9da61bf4304b1d1e2a6f83fc058df18628dee
|
||||
size 240
|
||||
|
@@ -1,3 +1,3 @@
|
||||
product/priv-app/GmsCore/GmsCore.apk;PRESIGNED
|
||||
product/priv-app/Phonesky/Phonesky.apk;PRESIGNED
|
||||
product/lib/libjni_latinimegoogle.so|cff48167aeff1d47e624b100138a8ad01cb2967b
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:bf47cb3e960f0da5c89fcaf713f357e0c55c27f354bced238cc4104ca799c07e
|
||||
size 174
|
||||
|
@@ -1,7 +1,3 @@
|
||||
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
|
||||
product/priv-app/VelvetTitan/VelvetTitan.apk;OVERRIDES=Velvet;PRESIGNED|bb7c2f3fadfee4dda509daba285fec3dfffeed7e
|
||||
|
||||
system_ext/priv-app/SetupWizard/SetupWizard.apk;OVERRIDES=Provision;PRESIGNED
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:7557d44a17bbb3600ae78630ff97c44edf1acf4ac00da6986842dfe762aab551
|
||||
size 452
|
||||
|
@@ -1,4 +1,3 @@
|
||||
product/priv-app/GmsCore/GmsCore.apk;PRESIGNED
|
||||
product/priv-app/Phonesky/Phonesky.apk;PRESIGNED
|
||||
product/lib/libjni_latinimegoogle.so|cff48167aeff1d47e624b100138a8ad01cb2967b
|
||||
product/lib64/libjni_latinimegoogle.so|08ca8391a1816da0c417a3882e72dabb4091fd3c
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2960742841476009f72801b756c3ab377673c263e211bb71df52bdb89c69bd93
|
||||
size 254
|
||||
|
@@ -1,4 +1,3 @@
|
||||
product/etc/sysconfig/wellbeing.xml
|
||||
|
||||
product/priv-app/GoogleRestore/GoogleRestore.apk;PRESIGNED
|
||||
product/priv-app/Wellbeing/Wellbeing.apk;PRESIGNED
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f3700f07aa10ca88998ad34267e6140c4404cb938992e6e5c0cb3183448e6c96
|
||||
size 147
|
||||
|
@@ -1,29 +1,3 @@
|
||||
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
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:dcb1b2f9943529f43cfe92672a97f9654b87ed8ebe39e314e9c060ef91f57e50
|
||||
size 1523
|
||||
|
@@ -1,3 +1,3 @@
|
||||
product/priv-app/Velvet/Velvet.apk;PRESIGNED
|
||||
|
||||
system_ext/priv-app/SetupWizard/SetupWizard.apk;OVERRIDES=Provision;PRESIGNED
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2599ff49ba2a6ab4855e7d77962a1feac06afa6ffdf386b729249939f3d4c0fb
|
||||
size 124
|
||||
|
@@ -1,4 +1,3 @@
|
||||
product/priv-app/GmsCore/GmsCore.apk;PRESIGNED
|
||||
product/priv-app/Phonesky/Phonesky.apk;PRESIGNED
|
||||
product/lib/libjni_latinimegoogle.so|40e731390e8372196db987b1d7fd83c204b42e41
|
||||
product/lib64/libjni_latinimegoogle.so|67772ec6576feb79748440f765cad6321aef63d0
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5f7dcd371ab27a3fc94ce65d30ff859e490461ea9e658457a2279643a71f6e12
|
||||
size 254
|
||||
|
@@ -1,100 +1,3 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2016 The CyanogenMod Project
|
||||
# Copyright (C) 2017-2021 The LineageOS 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.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
export DEVICE_COMMON=common
|
||||
export VENDOR=gapps
|
||||
|
||||
# Load extract_utils and do some sanity checks
|
||||
MY_DIR="${BASH_SOURCE%/*}"
|
||||
if [[ ! -d "$MY_DIR" ]]; then MY_DIR="$PWD"; fi
|
||||
|
||||
ANDROID_ROOT="$MY_DIR/../.."
|
||||
|
||||
export TARGET_ENABLE_CHECKELF=true
|
||||
|
||||
HELPER="$ANDROID_ROOT/tools/extract-utils/extract_utils.sh"
|
||||
if [ ! -f "$HELPER" ]; then
|
||||
echo "Unable to find helper script at $HELPER"
|
||||
exit 1
|
||||
fi
|
||||
. "$HELPER"
|
||||
|
||||
# Initialize the helper for common gapps
|
||||
setup_vendor "$DEVICE_COMMON" "$VENDOR" "$ANDROID_ROOT" true
|
||||
|
||||
# Copyright headers
|
||||
write_headers "arm arm64 x86_64"
|
||||
|
||||
# Common gapps
|
||||
write_makefiles "$MY_DIR"/proprietary-files-common.txt
|
||||
|
||||
# Gapps that are too large for grouper
|
||||
printf "\n" >> "$PRODUCTMK"
|
||||
echo "ifeq (\$(TARGET_IS_GROUPER),)" >> "$PRODUCTMK"
|
||||
write_makefiles "$MY_DIR"/proprietary-files-common-nongrouper.txt
|
||||
echo "endif" >> "$PRODUCTMK"
|
||||
|
||||
# Overlays
|
||||
cd overlay
|
||||
OVERLAYS=$(for dir in $(ls -d */); do echo ${dir%%/}; done)
|
||||
OVERLAYS=$(echo $OVERLAYS | paste -s -d ' ')
|
||||
cd - >/dev/null
|
||||
printf "\n" >> "$PRODUCTMK"
|
||||
echo "PRODUCT_SOONG_NAMESPACES += vendor/$VENDOR/overlay" >> "$PRODUCTMK"
|
||||
echo "PRODUCT_PACKAGES += $OVERLAYS" >> "$PRODUCTMK"
|
||||
|
||||
sed -i 's/TARGET_DEVICE/TARGET_ARCH/g' "$ANDROIDMK"
|
||||
|
||||
# We are done with common
|
||||
write_footers
|
||||
|
||||
for DEVICE in arm arm64 x86_64; do
|
||||
|
||||
# Reinitialize the helper for target gapps
|
||||
setup_vendor "$DEVICE" "$VENDOR" "$ANDROID_ROOT"
|
||||
|
||||
# Copyright headers and guards
|
||||
write_headers "$DEVICE"
|
||||
|
||||
write_makefiles "$MY_DIR"/proprietary-files-$DEVICE.txt
|
||||
|
||||
# Gapps that are too large for grouper
|
||||
printf "\n" >> "$PRODUCTMK"
|
||||
echo "ifeq (\$(TARGET_IS_GROUPER),)" >> "$PRODUCTMK"
|
||||
write_makefiles "$MY_DIR"/proprietary-files-$DEVICE-nongrouper.txt
|
||||
echo "endif" >> "$PRODUCTMK"
|
||||
|
||||
# Workaround for VelvetTitan on tangorpro
|
||||
if grep -q "VelvetTitan" "$PRODUCTMK"; then
|
||||
sed -i '/VelvetTitan/d' "$PRODUCTMK"
|
||||
printf "\n" >> "$PRODUCTMK"
|
||||
echo "ifneq (\$(filter %tangorpro,\$(TARGET_PRODUCT)),)" >> "$PRODUCTMK"
|
||||
echo "PRODUCT_PACKAGES += VelvetTitan" >> "$PRODUCTMK"
|
||||
echo "endif" >> "$PRODUCTMK"
|
||||
fi
|
||||
|
||||
printf '\n%s\n' "\$(call inherit-product, vendor/gapps/common/common-vendor.mk)" >> "$PRODUCTMK"
|
||||
|
||||
sed -i 's/TARGET_DEVICE/TARGET_ARCH/g' "$ANDROIDMK"
|
||||
|
||||
# We are done with target
|
||||
write_footers
|
||||
|
||||
done
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:0b9de5964acb92eaf8a3a588671c78488f670c33350443c294a1e3503e355237
|
||||
size 2894
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user