Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f75de2aa2a | ||
|
|
1c90e09131 | ||
|
|
4d2aed7551 | ||
|
|
be925b67cc | ||
|
|
cecd93e3a5 |
179
arm/Android.bp
179
arm/Android.bp
@@ -1,89 +1,104 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: ["vendor/gapps/common"],
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GmsCore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Phonesky",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "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,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "SpeechServicesByGoogle",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Velvet",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Velvet/Velvet.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "talkback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/talkback/talkback.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
imports: [
|
||||
"vendor/gapps/common",
|
||||
],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "libjni_latinimegoogle",
|
||||
srcs: ["proprietary/product/lib/libjni_latinimegoogle.so"],
|
||||
prefer: true,
|
||||
product_specific: true,
|
||||
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,
|
||||
}
|
||||
|
||||
|
||||
9
arm/Android.mk
Normal file
9
arm/Android.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
# 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
|
||||
@@ -1,2 +1,4 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
|
||||
@@ -1,20 +1,23 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
vendor/gapps/arm
|
||||
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky \
|
||||
libjni_latinimegoogle
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
SetupWizard \
|
||||
SpeechServicesByGoogle \
|
||||
talkback \
|
||||
Velvet \
|
||||
talkback
|
||||
SetupWizard
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
235
arm64/Android.bp
235
arm64/Android.bp
@@ -1,115 +1,134 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: ["vendor/gapps/common"],
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GmsCore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "MarkupGoogle_v2",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Phonesky",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "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,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "SpeechServicesByGoogle",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/SpeechServicesByGoogle/SpeechServicesByGoogle.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Velvet",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Velvet/Velvet.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "VelvetTitan",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/VelvetTitan/VelvetTitan.apk",
|
||||
overrides: ["Velvet"],
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "talkback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/talkback/talkback.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
imports: [
|
||||
"vendor/gapps/common",
|
||||
],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "libjni_latinimegoogle",
|
||||
srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"],
|
||||
prefer: true,
|
||||
product_specific: true,
|
||||
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",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/MarkupGoogle/MarkupGoogle.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,
|
||||
}
|
||||
|
||||
|
||||
9
arm64/Android.mk
Normal file
9
arm64/Android.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
# 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
|
||||
@@ -1,2 +1,4 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
|
||||
@@ -1,26 +1,28 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
vendor/gapps/arm64
|
||||
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky \
|
||||
libjni_latinimegoogle
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
MarkupGoogle_v2 \
|
||||
SetupWizard \
|
||||
MarkupGoogle \
|
||||
SpeechServicesByGoogle \
|
||||
talkback \
|
||||
Velvet \
|
||||
talkback
|
||||
SetupWizard
|
||||
endif
|
||||
|
||||
ifneq ($(filter %tangorpro,$(TARGET_PRODUCT)),)
|
||||
PRODUCT_PACKAGES += \
|
||||
VelvetTitan
|
||||
PRODUCT_PACKAGES += VelvetTitan
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
||||
BIN
arm64/proprietary/product/app/MarkupGoogle/MarkupGoogle.apk
Normal file
BIN
arm64/proprietary/product/app/MarkupGoogle/MarkupGoogle.apk
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
arm64/proprietary/product/lib/libjni_latinimegoogle.so
Normal file
BIN
arm64/proprietary/product/lib/libjni_latinimegoogle.so
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -8,8 +8,8 @@
|
||||
#
|
||||
DATE=$(date -u +%Y%m%d_%H%M%S)
|
||||
export GAPPS_TOP=$(realpath .)
|
||||
ANDROIDV=16.0.0
|
||||
SDKV=36
|
||||
ANDROIDV=14.0.0
|
||||
SDKV=34
|
||||
GARCH=$1
|
||||
CPUARCH=$GARCH
|
||||
[ ! -z "$2" ] && CPUARCH=$2
|
||||
@@ -93,10 +93,8 @@ function getsha256() {
|
||||
if [ -x $(which sha256sum) ]; then
|
||||
echo "sha256sum is installed, getting sha256..." >> $GLOG
|
||||
echo "Getting sha256sum..."
|
||||
pushd $OUT > /dev/null
|
||||
GSHA256=$(sha256sum $BUILDZIP)
|
||||
echo -e "$GSHA256" > $BUILDZIP.sha256sum
|
||||
popd > /dev/null
|
||||
GSHA256=$(sha256sum $OUT/$BUILDZIP)
|
||||
echo -e "$GSHA256" > $OUT/$BUILDZIP.sha256sum
|
||||
echo "sha256 exported at $OUT/$BUILDZIP.sha256sum"
|
||||
return 0
|
||||
else
|
||||
|
||||
@@ -107,7 +107,7 @@ compute_apps_size() {
|
||||
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/MarkupGoogle
|
||||
rm -rf product/app/SpeechServicesByGoogle
|
||||
rm -rf product/app/talkback
|
||||
rm -rf product/priv-app/GoogleRestore
|
||||
|
||||
@@ -1,11 +1,6 @@
|
||||
FROM ubuntu:latest
|
||||
MAINTAINER LuK1337 <priv.luk@gmail.com>
|
||||
|
||||
RUN <<EOF
|
||||
apt update
|
||||
apt -y install curl python3 python3-parse python3-requests unzip
|
||||
|
||||
curl --output aapt2.jar https://dl.google.com/android/maven2/com/android/tools/build/aapt2/8.12.0-alpha05-12782657/aapt2-8.12.0-alpha05-12782657-linux.jar
|
||||
unzip -d /usr/bin aapt2.jar aapt2
|
||||
rm aapt2.jar
|
||||
EOF
|
||||
RUN apt update
|
||||
RUN apt -y install aapt python3 python3-pip
|
||||
RUN pip install parse requests
|
||||
|
||||
@@ -37,7 +37,7 @@ os.chdir(sys.path[0])
|
||||
|
||||
# Definitions for privileged permissions
|
||||
ANDROID_MANIFEST_XML = \
|
||||
'https://raw.githubusercontent.com/LineageOS/android_frameworks_base/lineage-23.0/core/res/AndroidManifest.xml'
|
||||
'https://raw.githubusercontent.com/LineageOS/android_frameworks_base/lineage-21.0/core/res/AndroidManifest.xml'
|
||||
ANDROID_XML_NS = '{http://schemas.android.com/apk/res/android}'
|
||||
privileged_permissions = set()
|
||||
privileged_permission_mask = {'privileged', 'signature'}
|
||||
@@ -94,7 +94,7 @@ for partition in partitions:
|
||||
|
||||
# Definitions for parsing APKs
|
||||
GLOB_APK_STR = '../*/proprietary/{}/priv-app/*/*.apk'
|
||||
AAPT_CMD = ['aapt2', 'd', 'permissions']
|
||||
AAPT_CMD = ['aapt', 'd', 'permissions']
|
||||
|
||||
# Extract requested privileged permissions from all priv-app APKs
|
||||
for partition in partitions:
|
||||
@@ -103,7 +103,8 @@ for partition in partitions:
|
||||
# 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')
|
||||
aapt_output = subprocess.check_output(AAPT_CMD + [apk],
|
||||
stderr=subprocess.STDOUT).decode(encoding='UTF-8')
|
||||
lines = aapt_output.splitlines()
|
||||
# Extract package name from the output
|
||||
# Output looks like:
|
||||
|
||||
@@ -1,237 +1,130 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
],
|
||||
}
|
||||
|
||||
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,
|
||||
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: "GoogleCalendarSyncAdapter",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/GoogleCalendarSyncAdapter/GoogleCalendarSyncAdapter.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
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: "GoogleContactsSyncAdapter",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
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: "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,
|
||||
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,
|
||||
name: "GooglePartnerSetup",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GoogleRestore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GoogleRestore/GoogleRestore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
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,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "PrebuiltExchange3Google",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/PrebuiltExchange3Google/PrebuiltExchange3Google.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Wellbeing",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Wellbeing/Wellbeing.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
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,
|
||||
name: "com.google.android.dialer.support",
|
||||
owner: "gapps",
|
||||
jars: ["proprietary/product/framework/com.google.android.dialer.support.jar"],
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "com.google.android.dialer.support.xml",
|
||||
src: "proprietary/product/etc/permissions/com.google.android.dialer.support.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
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,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "d2d_cable_migration_feature.xml",
|
||||
src: "proprietary/product/etc/sysconfig/d2d_cable_migration_feature.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
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,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "default-permissions-google.xml",
|
||||
src: "proprietary/product/etc/default-permissions/default-permissions-google.xml",
|
||||
relative_install_path: "default-permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "default-permissions-mtg.xml",
|
||||
src: "proprietary/product/etc/default-permissions/default-permissions-mtg.xml",
|
||||
relative_install_path: "default-permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "gapps.rc",
|
||||
src: "proprietary/product/etc/init/gapps.rc",
|
||||
relative_install_path: "init",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "gms_fsverity_cert.der",
|
||||
src: "proprietary/product/etc/security/fsverity/gms_fsverity_cert.der",
|
||||
relative_install_path: "security/fsverity",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "google-hiddenapi-package-allowlist.xml",
|
||||
src: "proprietary/product/etc/sysconfig/google-hiddenapi-package-allowlist.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "google.xml",
|
||||
src: "proprietary/product/etc/sysconfig/google.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "google_build.xml",
|
||||
src: "proprietary/product/etc/sysconfig/google_build.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-google-product.xml",
|
||||
src: "proprietary/product/etc/permissions/privapp-permissions-google-product.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-google-system-ext.xml",
|
||||
src: "proprietary/system_ext/etc/permissions/privapp-permissions-google-system-ext.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-mtg.xml",
|
||||
src: "proprietary/product/etc/permissions/privapp-permissions-mtg.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "sysconfig_contextual_search.xml",
|
||||
src: "proprietary/product/etc/sysconfig/sysconfig_contextual_search.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "wellbeing.xml",
|
||||
src: "proprietary/product/etc/sysconfig/wellbeing.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
9
common/Android.mk
Normal file
9
common/Android.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
# 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
|
||||
@@ -1,2 +1,4 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
|
||||
@@ -1,44 +1,42 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
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 += \
|
||||
AndroidAutoStub \
|
||||
GoogleCalendarSyncAdapter \
|
||||
GoogleContactsSyncAdapter \
|
||||
GoogleFeedback \
|
||||
GooglePartnerSetup \
|
||||
GoogleServicesFramework \
|
||||
PrebuiltExchange3Google \
|
||||
com.google.android.dialer.support \
|
||||
com.google.android.dialer.support.xml \
|
||||
d2d_cable_migration_feature.xml \
|
||||
default-permissions-google.xml \
|
||||
default-permissions-mtg.xml \
|
||||
gapps.rc \
|
||||
gms_fsverity_cert.der \
|
||||
google-hiddenapi-package-allowlist.xml \
|
||||
google.xml \
|
||||
google_build.xml \
|
||||
privapp-permissions-google-product.xml \
|
||||
privapp-permissions-google-system-ext.xml \
|
||||
privapp-permissions-mtg.xml \
|
||||
sysconfig_contextual_search.xml
|
||||
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 \
|
||||
wellbeing.xml
|
||||
Wellbeing
|
||||
endif
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/overlay
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GmsOverlay \
|
||||
GmsSettingsOverlay \
|
||||
GmsSettingsProviderOverlay \
|
||||
GmsSetupWizardOverlay
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay
|
||||
PRODUCT_PACKAGES += GmsOverlay GmsSettingsOverlay GmsSettingsProviderOverlay GmsSetupWizardOverlay
|
||||
|
||||
Binary file not shown.
@@ -41,30 +41,4 @@
|
||||
<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>
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
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" />
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
on init
|
||||
setprop ro.com.google.gmsversion 16_202505
|
||||
setprop ro.com.google.gmsversion 14_202310
|
||||
setprop ro.opa.eligible_device true
|
||||
|
||||
@@ -12,11 +12,8 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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>
|
||||
@@ -67,20 +64,17 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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">
|
||||
@@ -103,12 +97,10 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<permission name="android.permission.MANAGE_CLOUDSEARCH"/>
|
||||
<permission name="android.permission.MANAGE_ROLLBACKS"/>
|
||||
<permission name="android.permission.MANAGE_USERS"/>
|
||||
<permission name="android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD"/>
|
||||
<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"/>
|
||||
@@ -121,6 +113,7 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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>
|
||||
|
||||
@@ -137,13 +130,7 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
|
||||
<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">
|
||||
@@ -158,7 +145,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
</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>
|
||||
@@ -167,7 +153,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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">
|
||||
@@ -195,9 +180,7 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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.QUERY_USERS"/>
|
||||
<permission name="android.permission.READ_DREAM_STATE"/>
|
||||
<permission name="android.permission.READ_SYSTEM_GRAMMATICAL_GENDER"/>
|
||||
<permission name="android.permission.READ_WALLPAPER_INTERNAL"/>
|
||||
<permission name="android.permission.REAL_GET_TASKS"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
@@ -214,11 +197,7 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<privapp-permissions package="com.google.android.configupdater">
|
||||
<permission name="android.permission.UPDATE_CONFIG"/>
|
||||
</privapp-permissions>
|
||||
<privapp-permissions package="com.google.android.deskclock">
|
||||
<permission name="android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<permission name="android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND"/>
|
||||
</privapp-permissions>
|
||||
|
||||
<privapp-permissions package="com.google.android.gms">
|
||||
<permission name="android.permission.ACCESS_BROADCAST_RESPONSE_STATS"/>
|
||||
<permission name="android.permission.ACCESS_CACHE_FILESYSTEM"/>
|
||||
@@ -231,7 +210,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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"/>
|
||||
@@ -239,7 +217,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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"/>
|
||||
@@ -247,8 +224,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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"/>
|
||||
@@ -258,11 +233,9 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<permission name="android.permission.LOCATION_BYPASS"/>
|
||||
<permission name="android.permission.LOCATION_HARDWARE"/>
|
||||
<permission name="android.permission.LOCK_DEVICE"/>
|
||||
<permission name="android.permission.MANAGE_ADVANCED_PROTECTION_MODE"/>
|
||||
<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_INTRUSION_DETECTION_STATE"/>
|
||||
<permission name="android.permission.MANAGE_ROLLBACKS"/>
|
||||
<permission name="android.permission.MANAGE_SOUND_TRIGGER"/>
|
||||
<permission name="android.permission.MANAGE_SUBSCRIPTION_PLANS"/>
|
||||
@@ -283,19 +256,15 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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_INTRUSION_DETECTION_STATE"/>
|
||||
<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"/>
|
||||
@@ -307,24 +276,18 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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.SETUP_FSVERITY"/>
|
||||
<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.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"/>
|
||||
<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"/>
|
||||
@@ -334,9 +297,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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">
|
||||
@@ -376,7 +336,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<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.MODIFY_PHONE_STATE"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.REQUEST_COMPANION_SELF_MANAGED"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
@@ -388,11 +347,8 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<permission name="android.permission.BIND_APPWIDGET"/>
|
||||
<permission name="android.permission.CALL_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.CONTROL_INCALL_EXPERIENCE"/>
|
||||
<permission name="android.permission.ENTER_CAR_MODE_PRIORITIZED"/>
|
||||
<permission name="android.permission.EXECUTE_APP_FUNCTIONS"/>
|
||||
<permission name="android.permission.GLOBAL_SEARCH"/>
|
||||
<permission name="android.permission.INTERACT_ACROSS_PROFILES"/>
|
||||
<deny-permission name="android.permission.INTERACT_ACROSS_USERS"/>
|
||||
@@ -400,20 +356,16 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<permission name="android.permission.MANAGE_USB"/>
|
||||
<permission name="android.permission.MANAGE_VOICE_KEYPHRASES"/>
|
||||
<permission name="android.permission.MEDIA_CONTENT_CONTROL"/>
|
||||
<permission name="android.permission.MODIFY_AUDIO_ROUTING"/>
|
||||
<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.SUBSCRIBE_TO_KEYGUARD_LOCKED_STATE"/>
|
||||
<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">
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<config>
|
||||
<feature name="com.google.android.feature.CONTEXTUAL_SEARCH" />
|
||||
</config>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -8,7 +8,6 @@ It allows additional grants on top of privapp-permissions-platform.xml
|
||||
<privapp-permissions package="com.android.emergency">
|
||||
<permission name="android.permission.CALL_PRIVILEGED"/>
|
||||
<permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
|
||||
<permission name="android.permission.SCHEDULE_EXACT_ALARM"/>
|
||||
<permission name="android.permission.START_ACTIVITIES_FROM_BACKGROUND"/>
|
||||
<permission name="android.permission.WRITE_SECURE_SETTINGS"/>
|
||||
</privapp-permissions>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
52
extract-files.sh
Executable file
52
extract-files.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/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
|
||||
@@ -8,8 +8,8 @@ packageInfo:
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '36'
|
||||
targetSdkVersion: '36'
|
||||
minSdkVersion: '34'
|
||||
targetSdkVersion: '34'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
|
||||
@@ -1,5 +1,52 @@
|
||||
<?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">
|
||||
@@ -13,84 +60,19 @@
|
||||
<!-- The name of the package that will hold the assistant role by default. -->
|
||||
<string name="config_defaultAssistant" translatable="false">com.google.android.googlequicksearchbox</string>
|
||||
|
||||
<!-- The names of the packages that will hold the automotive projection role. -->
|
||||
<string name="config_systemAutomotiveProjection" translatable="false">com.google.android.projection.gearhead</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>
|
||||
<!-- 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 -->
|
||||
<!-- 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>
|
||||
|
||||
<!-- Apps that are authorized to access shared accounts, overridden by product overlays -->
|
||||
<string name="config_appsAuthorizedForSharedAccounts" translatable="false">;com.android.vending;com.android.settings;</string>
|
||||
|
||||
<!-- Flag indicating which package name can access the persistent data partition -->
|
||||
<string name="config_persistentDataPackageName" translatable="false">com.google.android.gms</string>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
<!-- The component name, flattened to a string, for the default accessibility service to be
|
||||
enabled by the accessibility shortcut. This service must be trusted, as it can be activated
|
||||
without explicit consent of the user. If no accessibility service with the specified name
|
||||
exists on the device, the accessibility shortcut will be disabled by default. -->
|
||||
<string name="config_defaultAccessibilityService" translatable="false">com.google.android.marvin.talkback/.TalkBackService</string>
|
||||
|
||||
<!-- The package name for the default wellbeing app.
|
||||
This package must be trusted, as it has the permissions to control other applications
|
||||
on the device.
|
||||
Example: "com.android.wellbeing"
|
||||
|
||||
Note: This config is deprecated, please use config_systemWellbeing instead.
|
||||
-->
|
||||
<string name="config_defaultWellbeingPackage" translatable="false">com.google.android.apps.wellbeing</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>
|
||||
|
||||
<!-- The package name of the default supervision package. -->
|
||||
<string name="config_systemSupervision" translatable="false">com.google.android.gms.supervision</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>
|
||||
|
||||
<!-- Component name that accepts settings intents for saved devices.
|
||||
Used by FastPairSettingsFragment. -->
|
||||
<string name="config_defaultNearbyFastPairSettingsDevicesComponent" translatable="false">com.google.android.gms/com.google.android.gms.nearby.discovery.devices.SavedDevicesSettingsActivity</string>
|
||||
|
||||
<!-- Name of the package responsible to handle Contextual Search. -->
|
||||
<string name="config_defaultContextualSearchPackageName" translatable="false">com.google.android.googlequicksearchbox</string>
|
||||
|
||||
<!-- The key containing the entrypoint for Contextual Search. -->
|
||||
<string name="config_defaultContextualSearchKey" translatable="false">omni.entry_point</string>
|
||||
|
||||
<!-- The key containing the branching boolean for Contextual Search. -->
|
||||
<string name="config_defaultContextualSearchEnabled" translatable="false">omni.enable_cs_helper</string>
|
||||
|
||||
<!-- The key containing the branching boolean for legacy Search. -->
|
||||
<string name="config_defaultContextualSearchLegacyEnabled" translatable="false">omni.enable_vis</string>
|
||||
</resources>
|
||||
|
||||
@@ -8,8 +8,8 @@ packageInfo:
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '36'
|
||||
targetSdkVersion: '36'
|
||||
minSdkVersion: '34'
|
||||
targetSdkVersion: '34'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<!-- 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>
|
||||
|
||||
<!-- 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>
|
||||
|
||||
@@ -8,8 +8,8 @@ packageInfo:
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '36'
|
||||
targetSdkVersion: '36'
|
||||
minSdkVersion: '34'
|
||||
targetSdkVersion: '34'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
|
||||
<string name="def_backup_transport" translatable="false">com.google.android.gms/.backup.BackupTransportService</string>
|
||||
<resources>
|
||||
<string name="def_backup_transport">com.google.android.gms/.backup.BackupTransportService</string>
|
||||
</resources>
|
||||
|
||||
@@ -8,8 +8,8 @@ packageInfo:
|
||||
renameManifestPackage: null
|
||||
resourcesAreCompressed: false
|
||||
sdkInfo:
|
||||
minSdkVersion: '36'
|
||||
targetSdkVersion: '36'
|
||||
minSdkVersion: '34'
|
||||
targetSdkVersion: '34'
|
||||
sharedLibrary: false
|
||||
sparseResources: true
|
||||
unknownFiles: {}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk;PRESIGNED|69055955ef86dec796baf155f9ba14c2df29ef44
|
||||
product/app/MarkupGoogle/MarkupGoogle.apk;PRESIGNED|ed68878a8a06ca8c06dbc98441a657168f1b378b
|
||||
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|0251d61f74f0557ccfd0e0424bed31e5828ea4b5
|
||||
|
||||
system_ext/priv-app/SetupWizard/SetupWizard.apk;OVERRIDES=Provision;PRESIGNED
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
product/priv-app/VelvetTitan/VelvetTitan.apk;OVERRIDES=Velvet;PRESIGNED|782eb1875dd7944634899eeb1f8c10dee6456bd9
|
||||
@@ -1,3 +1,4 @@
|
||||
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
|
||||
|
||||
@@ -2,7 +2,7 @@ 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|54d8dfc8f4633194b11eff1c23ff4632892634e3
|
||||
product/priv-app/AndroidAutoStub/AndroidAutoStub.apk;PRESIGNED
|
||||
product/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk;PRESIGNED
|
||||
|
||||
product/framework/com.google.android.dialer.support.jar;PRESIGNED
|
||||
@@ -10,11 +10,11 @@ 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|29368f8d6b85b8d6f0b5a262432aae12ad75173d
|
||||
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/permissions/privapp-permissions-mtg.xml|926d8fbcfbf4711a4bc96777595b70b874ef7334
|
||||
|
||||
product/etc/security/fsverity/gms_fsverity_cert.der
|
||||
|
||||
@@ -22,7 +22,6 @@ 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
|
||||
product/etc/sysconfig/sysconfig_contextual_search.xml|ca052cd1860cd004a6ed003115bf46d6d473543c
|
||||
|
||||
system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk;PRESIGNED
|
||||
system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk;PRESIGNED
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
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
|
||||
|
||||
@@ -1,341 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
from dataclasses import dataclass
|
||||
from fnmatch import fnmatch
|
||||
from pathlib import Path
|
||||
import textwrap
|
||||
import typing
|
||||
|
||||
|
||||
@dataclass
|
||||
class GappsTarget:
|
||||
name: str
|
||||
soong_imports: list[str]
|
||||
additional_namespaces: list[str]
|
||||
additional_packages: list[str]
|
||||
additional_makefiles_to_inherit: list[str]
|
||||
|
||||
|
||||
class SoongModule:
|
||||
def __init__(self):
|
||||
self.soong_module = type(self).__name__
|
||||
|
||||
@staticmethod
|
||||
def _value_to_str(value: typing.Any) -> str:
|
||||
match value:
|
||||
case bool():
|
||||
return ["false", "true"][value]
|
||||
case dict():
|
||||
ret = "{\n"
|
||||
|
||||
for key, value in value.items():
|
||||
ret += f"{indent(SoongModule._prop_to_str(key, value))}\n"
|
||||
|
||||
ret += "}"
|
||||
|
||||
return ret
|
||||
case list():
|
||||
return f'[{", ".join([SoongModule._value_to_str(x) for x in value])}]'
|
||||
case str():
|
||||
return f'"{value}"'
|
||||
case default:
|
||||
assert False, f"Unhandled value type: {type(value)}"
|
||||
|
||||
@staticmethod
|
||||
def _prop_to_str(key: str, value: typing.Any) -> str:
|
||||
return f"{key}: {SoongModule._value_to_str(value)},"
|
||||
|
||||
def _to_blueprint(self, props: dict) -> str:
|
||||
ret = f"{self.soong_module} {{\n"
|
||||
|
||||
for key, value in props.items():
|
||||
ret += f"{indent(SoongModule._prop_to_str(key, value))}\n"
|
||||
|
||||
ret += "}"
|
||||
|
||||
return ret
|
||||
|
||||
|
||||
class SoongPrebuilt(SoongModule):
|
||||
def __init__(self, install_path: str, flags: dict):
|
||||
SoongModule.__init__(self)
|
||||
|
||||
self.name = Path(install_path).stem
|
||||
self.install_path = install_path
|
||||
self.src = f"proprietary/{install_path}"
|
||||
self.flags = flags
|
||||
|
||||
def _has_flag(self, key: str) -> bool:
|
||||
return key in self.flags
|
||||
|
||||
def _flag(self, key: str) -> str | None:
|
||||
return self.flags.get(key, None)
|
||||
|
||||
def _to_blueprint(self, props: dict) -> str:
|
||||
partition, _ = self.install_path.split("/", maxsplit=1)
|
||||
|
||||
match partition:
|
||||
case "system":
|
||||
pass
|
||||
case "product":
|
||||
props["product_specific"] = True
|
||||
case "system_ext":
|
||||
props["system_ext_specific"] = True
|
||||
case _:
|
||||
assert False, f"Unhandled partition: {partition}"
|
||||
|
||||
return super()._to_blueprint(props)
|
||||
|
||||
|
||||
class android_app_import(SoongPrebuilt):
|
||||
def to_blueprint(self) -> str:
|
||||
props = {
|
||||
"name": self.name,
|
||||
"owner": "gapps",
|
||||
"apk": self.src,
|
||||
"overrides": [self._flag("OVERRIDES")],
|
||||
"preprocessed": True,
|
||||
"presigned": True,
|
||||
"dex_preopt": {
|
||||
"enabled": False,
|
||||
},
|
||||
"privileged": True,
|
||||
}
|
||||
|
||||
_, apk_dst, _ = self.install_path.split("/", maxsplit=2)
|
||||
|
||||
if apk_dst != "priv-app":
|
||||
del props["privileged"]
|
||||
|
||||
if not self._has_flag("OVERRIDES"):
|
||||
del props["overrides"]
|
||||
|
||||
if not self._has_flag("PRESIGNED"):
|
||||
del props["presigned"]
|
||||
|
||||
return self._to_blueprint(props)
|
||||
|
||||
|
||||
class cc_prebuilt_library_shared(SoongPrebuilt):
|
||||
def to_blueprint(self) -> str:
|
||||
props = {
|
||||
"name": self.name,
|
||||
"srcs": [self.src],
|
||||
"prefer": True,
|
||||
}
|
||||
|
||||
return self._to_blueprint(props)
|
||||
|
||||
|
||||
class dex_import(SoongPrebuilt):
|
||||
def to_blueprint(self) -> str:
|
||||
props = {
|
||||
"name": self.name,
|
||||
"owner": "gapps",
|
||||
"jars": [self.src],
|
||||
}
|
||||
|
||||
return self._to_blueprint(props)
|
||||
|
||||
|
||||
class prebuilt_etc(SoongPrebuilt):
|
||||
def __init__(self, install_path: str, flags: dict):
|
||||
super().__init__(install_path, flags)
|
||||
|
||||
self.name += Path(self.install_path).suffix
|
||||
|
||||
def to_blueprint(self) -> str:
|
||||
props = {
|
||||
"name": self.name,
|
||||
"src": self.src,
|
||||
"relative_install_path": "/".join(self.install_path.split("/")[2:-1]),
|
||||
"filename_from_src": True,
|
||||
}
|
||||
|
||||
return self._to_blueprint(props)
|
||||
|
||||
|
||||
class soong_namespace(SoongModule):
|
||||
def __init__(self, imports: list[str]):
|
||||
super().__init__()
|
||||
|
||||
self.imports = imports
|
||||
|
||||
def to_blueprint(self) -> str:
|
||||
props = {
|
||||
"imports": self.imports,
|
||||
}
|
||||
|
||||
if not self.imports:
|
||||
del props["imports"]
|
||||
|
||||
return self._to_blueprint(props)
|
||||
|
||||
|
||||
def indent(text: str) -> str:
|
||||
return textwrap.indent(text, " " * 4)
|
||||
|
||||
|
||||
def parse_proprietary_file(line: str) -> SoongPrebuilt:
|
||||
# Format: ORIG_PATH:INSTALL_PATH;FLAGS|SHA1
|
||||
|
||||
if "|" in line:
|
||||
line, file_hash = line.split("|")
|
||||
else:
|
||||
file_hash = None
|
||||
|
||||
if ";" in line:
|
||||
line, flags_str = line.split(";", maxsplit=1)
|
||||
flags = {}
|
||||
for flag in flags_str.split(";"):
|
||||
if "=" in flag:
|
||||
key, value = flag.split("=", maxsplit=1)
|
||||
else:
|
||||
key = flag
|
||||
value = None
|
||||
flags[key] = value
|
||||
else:
|
||||
flags = {}
|
||||
|
||||
if ":" in line:
|
||||
line, install_path = line.split(":")
|
||||
else:
|
||||
install_path = line
|
||||
|
||||
for pattern, blob_type in {
|
||||
"*.apk": android_app_import,
|
||||
"*.jar": dex_import,
|
||||
"*.so": cc_prebuilt_library_shared,
|
||||
"*/etc/*.*": prebuilt_etc,
|
||||
}.items():
|
||||
if fnmatch(install_path, pattern):
|
||||
return blob_type(install_path, flags)
|
||||
else:
|
||||
assert False, f"Unhandled install path: {install_path}"
|
||||
|
||||
|
||||
def parse_proprietary_files(path: str) -> list:
|
||||
packages = []
|
||||
|
||||
if Path(path).is_file():
|
||||
for line in open(path).readlines():
|
||||
line = line.strip()
|
||||
|
||||
if not line:
|
||||
continue
|
||||
|
||||
if package := parse_proprietary_file(line):
|
||||
packages.append(package)
|
||||
|
||||
return sorted(packages, key=lambda x: (x.soong_module, x.name))
|
||||
|
||||
|
||||
def generate(targets: list[GappsTarget]) -> None:
|
||||
for target in targets:
|
||||
packages = parse_proprietary_files(f"proprietary-files-{target.name}.txt")
|
||||
packages_nongrouper = parse_proprietary_files(
|
||||
f"proprietary-files-{target.name}-nongrouper.txt"
|
||||
)
|
||||
packages_tangorpro = parse_proprietary_files(
|
||||
f"proprietary-files-{target.name}-tangorpro.txt"
|
||||
)
|
||||
packages_all = sorted(
|
||||
packages + packages_nongrouper + packages_tangorpro,
|
||||
key=lambda x: (x.soong_module, x.name),
|
||||
)
|
||||
|
||||
with open(f"{target.name}/Android.bp", "+wt") as f:
|
||||
f.write("// Automatically generated file. DO NOT MODIFY\n")
|
||||
f.write("\n")
|
||||
|
||||
f.write(soong_namespace(target.soong_imports).to_blueprint())
|
||||
f.write("\n")
|
||||
|
||||
for package in packages_all:
|
||||
f.write("\n")
|
||||
f.write(package.to_blueprint())
|
||||
f.write("\n")
|
||||
|
||||
with open(f"{target.name}/BoardConfigVendor.mk", "+wt") as f:
|
||||
f.write("# Automatically generated file. DO NOT MODIFY\n")
|
||||
f.write("#\n")
|
||||
|
||||
with open(f"{target.name}/{target.name}-vendor.mk", "+wt") as f:
|
||||
f.write("# Automatically generated file. DO NOT MODIFY\n")
|
||||
f.write("#\n")
|
||||
|
||||
def write_list(var: str, items: list[str]):
|
||||
f.write(f"{var} += \\\n")
|
||||
f.write(" \\\n".join([indent(x) for x in items]))
|
||||
f.write("\n")
|
||||
|
||||
f.write("\n")
|
||||
write_list("PRODUCT_SOONG_NAMESPACES", [f"$(LOCAL_PATH)"])
|
||||
|
||||
if packages:
|
||||
f.write("\n")
|
||||
write_list("PRODUCT_PACKAGES", [x.name for x in packages])
|
||||
|
||||
if packages_nongrouper:
|
||||
f.write("\n")
|
||||
f.write("ifeq ($(TARGET_IS_GROUPER),)\n")
|
||||
write_list("PRODUCT_PACKAGES", [x.name for x in packages_nongrouper])
|
||||
f.write("endif\n")
|
||||
|
||||
if packages_tangorpro:
|
||||
f.write("\n")
|
||||
f.write("ifneq ($(filter %tangorpro,$(TARGET_PRODUCT)),)\n")
|
||||
write_list("PRODUCT_PACKAGES", [x.name for x in packages_tangorpro])
|
||||
f.write("endif\n")
|
||||
|
||||
if target.additional_namespaces:
|
||||
f.write("\n")
|
||||
write_list("PRODUCT_SOONG_NAMESPACES", target.additional_namespaces)
|
||||
|
||||
if target.additional_packages:
|
||||
f.write("\n")
|
||||
write_list("PRODUCT_PACKAGES", target.additional_packages)
|
||||
|
||||
for path in target.additional_makefiles_to_inherit:
|
||||
f.write("\n")
|
||||
f.write(f"$(call inherit-product, {path})\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
generate(
|
||||
[
|
||||
GappsTarget(
|
||||
name="common",
|
||||
soong_imports=[],
|
||||
additional_namespaces=["vendor/gapps/overlay"],
|
||||
additional_packages=sorted([x.name for x in Path("overlay").glob("*Overlay")]),
|
||||
additional_makefiles_to_inherit=[],
|
||||
),
|
||||
GappsTarget(
|
||||
name="arm",
|
||||
soong_imports=["vendor/gapps/common"],
|
||||
additional_namespaces=[],
|
||||
additional_packages=[],
|
||||
additional_makefiles_to_inherit=[
|
||||
"vendor/gapps/common/common-vendor.mk",
|
||||
],
|
||||
),
|
||||
GappsTarget(
|
||||
name="arm64",
|
||||
soong_imports=["vendor/gapps/common"],
|
||||
additional_namespaces=[],
|
||||
additional_packages=[],
|
||||
additional_makefiles_to_inherit=[
|
||||
"vendor/gapps/common/common-vendor.mk",
|
||||
],
|
||||
),
|
||||
GappsTarget(
|
||||
name="x86_64",
|
||||
soong_imports=["vendor/gapps/common"],
|
||||
additional_namespaces=[],
|
||||
additional_packages=[],
|
||||
additional_makefiles_to_inherit=[
|
||||
"vendor/gapps/common/common-vendor.mk",
|
||||
],
|
||||
),
|
||||
]
|
||||
)
|
||||
100
setup-makefiles.sh
Executable file
100
setup-makefiles.sh
Executable file
@@ -0,0 +1,100 @@
|
||||
#!/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
|
||||
@@ -1,65 +1,84 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/x86_64/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: ["vendor/gapps/common"],
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GmsCore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GmsCore/GmsCore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Phonesky",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Phonesky/Phonesky.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "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,
|
||||
}
|
||||
|
||||
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,
|
||||
imports: [
|
||||
"vendor/gapps/common",
|
||||
],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
name: "libjni_latinimegoogle",
|
||||
srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"],
|
||||
prefer: true,
|
||||
product_specific: true,
|
||||
name: "libjni_latinimegoogle",
|
||||
owner: "gapps",
|
||||
strip: {
|
||||
none: true,
|
||||
},
|
||||
target: {
|
||||
android_x86: {
|
||||
srcs: ["proprietary/product/lib/libjni_latinimegoogle.so"],
|
||||
shared_libs: ["libc", "libc++", "libm", "libdl", ],
|
||||
},
|
||||
android_x86_64: {
|
||||
srcs: ["proprietary/product/lib64/libjni_latinimegoogle.so"],
|
||||
shared_libs: ["libc", "libc++", "libm", "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: "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,
|
||||
}
|
||||
|
||||
|
||||
9
x86_64/Android.mk
Normal file
9
x86_64/Android.mk
Normal file
@@ -0,0 +1,9 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/x86_64/setup-makefiles.sh
|
||||
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
ifeq ($(TARGET_ARCH),x86_64)
|
||||
|
||||
endif
|
||||
@@ -1,2 +1,4 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/x86_64/setup-makefiles.sh
|
||||
|
||||
|
||||
BIN
x86_64/proprietary/product/lib/libjni_latinimegoogle.so
Normal file
BIN
x86_64/proprietary/product/lib/libjni_latinimegoogle.so
Normal file
Binary file not shown.
@@ -1,18 +1,21 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/x86_64/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
$(LOCAL_PATH)
|
||||
vendor/gapps/x86_64
|
||||
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky \
|
||||
libjni_latinimegoogle
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
SetupWizard \
|
||||
Velvet
|
||||
Velvet \
|
||||
SetupWizard
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
||||
Reference in New Issue
Block a user