Compare commits
9 Commits
cr11.3
...
crdroid/15
Author | SHA1 | Date | |
---|---|---|---|
cc58fb9863 | |||
8f2f64ee6a | |||
ed4f7f96ab | |||
47e407aff1 | |||
dddf36db78 | |||
![]() |
9038094a04 | ||
![]() |
5e7c36d726 | ||
![]() |
bbdc14d4e5 | ||
![]() |
4d61f18ca9 |
134
arm/Android.bp
134
arm/Android.bp
@@ -1,104 +1,68 @@
|
||||
// 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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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: "Velvet",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Velvet/Velvet.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
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: "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,
|
||||
}
|
||||
|
||||
|
@@ -1,9 +0,0 @@
|
||||
# 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,4 +1,2 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
|
@@ -1,23 +1,18 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/arm
|
||||
|
||||
$(LOCAL_PATH)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
SpeechServicesByGoogle \
|
||||
talkback \
|
||||
Velvet \
|
||||
SetupWizard
|
||||
talkback
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
178
arm64/Android.bp
178
arm64/Android.bp
@@ -1,134 +1,94 @@
|
||||
// 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,
|
||||
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,
|
||||
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,
|
||||
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: "MarkupGoogle_v2",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
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,
|
||||
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,
|
||||
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: "Velvet",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Velvet/Velvet.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
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: "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,
|
||||
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: "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,
|
||||
}
|
||||
|
||||
|
@@ -1,9 +0,0 @@
|
||||
# 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,4 +1,2 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
|
@@ -1,28 +1,24 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/arm64/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/arm64
|
||||
|
||||
$(LOCAL_PATH)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
MarkupGoogle_v2 \
|
||||
SpeechServicesByGoogle \
|
||||
talkback \
|
||||
Velvet \
|
||||
SetupWizard
|
||||
talkback
|
||||
endif
|
||||
|
||||
ifneq ($(filter %tangorpro,$(TARGET_PRODUCT)),)
|
||||
PRODUCT_PACKAGES += VelvetTitan
|
||||
PRODUCT_PACKAGES += \
|
||||
VelvetTitan
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
Binary file not shown.
@@ -93,8 +93,10 @@ 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
|
||||
pushd $OUT > /dev/null
|
||||
GSHA256=$(sha256sum $BUILDZIP)
|
||||
echo -e "$GSHA256" > $BUILDZIP.sha256sum
|
||||
popd > /dev/null
|
||||
echo "sha256 exported at $OUT/$BUILDZIP.sha256sum"
|
||||
return 0
|
||||
else
|
||||
|
@@ -1,130 +1,213 @@
|
||||
// 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,
|
||||
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: "GoogleContactsSyncAdapter",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/GoogleContactsSyncAdapter/GoogleContactsSyncAdapter.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
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: "PrebuiltExchange3Google",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/PrebuiltExchange3Google/PrebuiltExchange3Google.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: "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: "GoogleFeedback",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/system_ext/priv-app/GoogleFeedback/GoogleFeedback.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GooglePartnerSetup",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GooglePartnerSetup/GooglePartnerSetup.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
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,
|
||||
name: "GoogleRestore",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/GoogleRestore/GoogleRestore.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "GoogleServicesFramework",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
system_ext_specific: true,
|
||||
name: "GoogleServicesFramework",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/system_ext/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "PrebuiltExchange3Google",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/app/PrebuiltExchange3Google/PrebuiltExchange3Google.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
name: "Wellbeing",
|
||||
owner: "gapps",
|
||||
apk: "proprietary/product/priv-app/Wellbeing/Wellbeing.apk",
|
||||
preprocessed: true,
|
||||
presigned: true,
|
||||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
privileged: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
dex_import {
|
||||
name: "com.google.android.dialer.support",
|
||||
owner: "gapps",
|
||||
jars: ["proprietary/product/framework/com.google.android.dialer.support.jar"],
|
||||
product_specific: true,
|
||||
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,
|
||||
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: "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: "d2d_cable_migration_feature.xml",
|
||||
src: "proprietary/product/etc/sysconfig/d2d_cable_migration_feature.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "default-permissions-google.xml",
|
||||
src: "proprietary/product/etc/default-permissions/default-permissions-google.xml",
|
||||
relative_install_path: "default-permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "default-permissions-mtg.xml",
|
||||
src: "proprietary/product/etc/default-permissions/default-permissions-mtg.xml",
|
||||
relative_install_path: "default-permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "gapps.rc",
|
||||
src: "proprietary/product/etc/init/gapps.rc",
|
||||
relative_install_path: "init",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "gms_fsverity_cert.der",
|
||||
src: "proprietary/product/etc/security/fsverity/gms_fsverity_cert.der",
|
||||
relative_install_path: "security/fsverity",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "google-hiddenapi-package-allowlist.xml",
|
||||
src: "proprietary/product/etc/sysconfig/google-hiddenapi-package-allowlist.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-google-product.xml",
|
||||
src: "proprietary/product/etc/permissions/privapp-permissions-google-product.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-google-system-ext.xml",
|
||||
src: "proprietary/system_ext/etc/permissions/privapp-permissions-google-system-ext.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
system_ext_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "privapp-permissions-mtg.xml",
|
||||
src: "proprietary/product/etc/permissions/privapp-permissions-mtg.xml",
|
||||
relative_install_path: "permissions",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
||||
prebuilt_etc {
|
||||
name: "wellbeing.xml",
|
||||
src: "proprietary/product/etc/sysconfig/wellbeing.xml",
|
||||
relative_install_path: "sysconfig",
|
||||
filename_from_src: true,
|
||||
product_specific: true,
|
||||
}
|
||||
|
@@ -1,9 +0,0 @@
|
||||
# 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,4 +1,2 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/common/setup-makefiles.sh
|
||||
|
||||
|
@@ -1,42 +1,41 @@
|
||||
# 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
|
||||
$(LOCAL_PATH)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
AndroidAutoStub \
|
||||
GoogleCalendarSyncAdapter \
|
||||
GoogleContactsSyncAdapter \
|
||||
PrebuiltExchange3Google \
|
||||
AndroidAutoStub \
|
||||
GooglePartnerSetup \
|
||||
GoogleFeedback \
|
||||
GooglePartnerSetup \
|
||||
GoogleServicesFramework \
|
||||
com.google.android.dialer.support
|
||||
PrebuiltExchange3Google \
|
||||
com.google.android.dialer.support \
|
||||
com.google.android.dialer.support.xml \
|
||||
d2d_cable_migration_feature.xml \
|
||||
default-permissions-google.xml \
|
||||
default-permissions-mtg.xml \
|
||||
gapps.rc \
|
||||
gms_fsverity_cert.der \
|
||||
google-hiddenapi-package-allowlist.xml \
|
||||
privapp-permissions-google-product.xml \
|
||||
privapp-permissions-google-system-ext.xml \
|
||||
privapp-permissions-mtg.xml
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
PRODUCT_COPY_FILES += \
|
||||
vendor/gapps/common/proprietary/product/etc/sysconfig/wellbeing.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/sysconfig/wellbeing.xml
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GoogleRestore \
|
||||
Wellbeing
|
||||
Wellbeing \
|
||||
wellbeing.xml
|
||||
endif
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += vendor/gapps/overlay
|
||||
PRODUCT_PACKAGES += GmsOverlay GmsSettingsOverlay GmsSettingsProviderOverlay GmsSetupWizardOverlay
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/overlay
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
GmsSettingsOverlay \
|
||||
GmsOverlay \
|
||||
GmsSettingsProviderOverlay \
|
||||
GmsSetupWizardOverlay
|
||||
|
@@ -1,52 +0,0 @@
|
||||
#!/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
|
@@ -2,6 +2,5 @@ product/app/MarkupGoogle_v2/MarkupGoogle_v2.apk;PRESIGNED|474ca0e1fb0e6340b64714
|
||||
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
|
||||
|
1
proprietary-files-arm64-tangorpro.txt
Normal file
1
proprietary-files-arm64-tangorpro.txt
Normal file
@@ -0,0 +1 @@
|
||||
product/priv-app/VelvetTitan/VelvetTitan.apk;OVERRIDES=Velvet;PRESIGNED|bb7c2f3fadfee4dda509daba285fec3dfffeed7e
|
@@ -1,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
|
||||
|
@@ -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
|
||||
|
341
setup-makefiles.py
Executable file
341
setup-makefiles.py
Executable file
@@ -0,0 +1,341 @@
|
||||
#!/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=[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",
|
||||
],
|
||||
),
|
||||
]
|
||||
)
|
@@ -1,100 +0,0 @@
|
||||
#!/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,84 +1,59 @@
|
||||
// Automatically generated file. DO NOT MODIFY
|
||||
//
|
||||
// This file is generated by device/gapps/x86_64/setup-makefiles.sh
|
||||
|
||||
soong_namespace {
|
||||
imports: [
|
||||
"vendor/gapps/common",
|
||||
],
|
||||
}
|
||||
|
||||
cc_prebuilt_library_shared {
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
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: "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,
|
||||
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,
|
||||
}
|
||||
|
||||
|
@@ -1,9 +0,0 @@
|
||||
# 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,4 +1,2 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/x86_64/setup-makefiles.sh
|
||||
|
||||
|
Binary file not shown.
@@ -1,21 +1,17 @@
|
||||
# Automatically generated file. DO NOT MODIFY
|
||||
#
|
||||
# This file is generated by device/gapps/x86_64/setup-makefiles.sh
|
||||
|
||||
PRODUCT_SOONG_NAMESPACES += \
|
||||
vendor/gapps/x86_64
|
||||
|
||||
$(LOCAL_PATH)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
libjni_latinimegoogle \
|
||||
GmsCore \
|
||||
Phonesky
|
||||
Phonesky
|
||||
|
||||
ifeq ($(TARGET_IS_GROUPER),)
|
||||
|
||||
PRODUCT_PACKAGES += \
|
||||
Velvet \
|
||||
SetupWizard
|
||||
SetupWizard \
|
||||
Velvet
|
||||
endif
|
||||
|
||||
$(call inherit-product, vendor/gapps/common/common-vendor.mk)
|
||||
|
Reference in New Issue
Block a user