1、 The Open GApps Project 下载 对应系统和平台的gms压缩包,压缩包文件如下:
Core和Optional目录下为谷歌服务核心文件和应用,需要预置到源码中。解压Core 和 Optional 目录所有文件,得到如下文件夹:
其中 etc 和 lib64 以及 framework 为库文件和配置文件, 需要拷贝到 /system 目录
将 etc lib64 和 framework 拷贝到源码 /gms/copyToSystem 目录下,并在 /build/target/product/base_product.mk 中添加如下拷贝命令
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,/data1/rom/android/lineageOS2/gms/copyToSystem,/system)
将app 和 product 文件夹下的所有apk文件拷贝到 /gms/app目录下,将 priv-app文件夹下的apk拷贝到 /gms/priv-app目录下,在 gms目录下 新建 Android.bp文件,配置预装的app
android_app_import {
name: "GoogleContactsSyncAdapter",
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleContactsSyncAdapter.apk",
}
android_app_import {
name: "GoogleExtShared",
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleExtShared.apk",
}
android_app_import {
name: "PlayStoreOverlay",
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "PlayStoreOverlay.apk",
}
android_app_import {
name: "AndroidMigratePrebuilt",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "AndroidMigratePrebuilt.apk",
}
android_app_import {
name: "CarrierSetup",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "CarrierSetup.apk",
}
android_app_import {
name: "ConfigUpdater",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "ConfigUpdater.apk",
}
android_app_import {
name: "GoogleBackupTransport",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleBackupTransport.apk",
}
android_app_import {
name: "GoogleExtServices",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleExtServices.apk",
}
android_app_import {
name: "GoogleFeedback",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleFeedback.apk",
}
android_app_import {
name: "GoogleOneTimeInitializer",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleOneTimeInitializer.apk",
}
android_app_import {
name: "GooglePartnerSetup",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GooglePartnerSetup.apk",
}
android_app_import {
name: "GoogleRestore",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleRestore.apk",
}
android_app_import {
name: "GoogleServicesFramework",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "GoogleServicesFramework.apk",
}
android_app_import {
name: "Phonesky",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "Phonesky.apk",
}
android_app_import {
name: "PrebuiltGmsCore",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "PrebuiltGmsCore.apk",
}
android_app_import {
name: "SetupWizard",
privileged: true,
presigned: true,
dex_preopt: {
enabled: false,
},
apk: "SetupWizard.apk",
}
在 build/target/product/base_product.mk中添加要预装的app:
#预编译GMS中的APP
PRODUCT_PACKAGES += GoogleContactsSyncAdapter \
GoogleExtShared \
AndroidMigratePrebuilt \
CarrierSetup \
ConfigUpdater \
GoogleBackupTransport \
GoogleExtServices \
GoogleFeedback \
GoogleOneTimeInitializer \
GooglePartnerSetup \
GoogleRestore \
GoogleServicesFramework \
Phonesky \
PrebuiltGmsCore \
SetupWizard \
PlayStoreOverlay