Android10(Q) GMS 全家桶移植

简介: Android10(Q) GMS 全家桶移植

GG301S.md.png

GG3B6g.md.png

1、将平台厂商提供的 GMS 包解压后所有文件扔到 vendor/google/ 目录下,没有 google文件夹自己创建下


GG8GgU.png


2、修改如下文件,编译烧写


device/mediatek/common/BoardConfig.mk


@@ -201,7 +201,8 @@ ifeq ($(BUILD_GMS),yes)
   ifeq ($(strip $(MTK_AB_OTA_UPDATER)), yes)
     DONT_DEXPREOPT_PREBUILTS := false
   else
-    DONT_DEXPREOPT_PREBUILTS := true
+    # DONT_DEXPREOPT_PREBUILTS := true
+    DONT_DEXPREOPT_PREBUILTS := false
   endif
 else
   ifeq ($(TARGET_BUILD_VARIANT),userdebug)

device/mediatek/common/device.mk

@@ -927,7 +927,8 @@ ifeq ($(strip $(BUILD_GMS)), yes)
 # ifeq ($(strip $(BUILD_AGO_GMS)), yes)
 # $(call inherit-product-if-exists, vendor/go-gms/products/gms.mk)
 # else
-$(call inherit-product-if-exists, vendor/google/gms.mk)
+# $(call inherit-product-if-exists, vendor/google/gms.mk)
+$(call inherit-product-if-exists, vendor/google/products/gms.mk)
 # endif

device/mediatek/common/device.mk

device/mediatek/system/common/device.mk

两个地方都一样,直接注释

@@ -3875,33 +3875,35 @@ endif
 # From Android Q, GMS devices must preload Google signed Mainline module release
 ifeq ($(BUILD_GMS), yes)
     # Mainline module overlay
+    # PRODUCT_PACKAGES += \
+    #     GoogleExtServicesConfigOverlay \
+    #     GooglePermissionControllerOverlay \
+    #     GooglePermissionControllerFrameworkOverlay
+
+    # PRODUCT_PACKAGE_OVERLAYS += device/mediatek/common/overlay/mainline
+
+    # # Mainline common and must APK
+    # PRODUCT_PACKAGES += \
+    #     GoogleExtServicesPrebuilt \
+    #     ModuleMetadataGooglePrebuilt \
+    #     GooglePermissionControllerPrebuilt
+
+    # # Mainline other APK dependent on A-Go configuration
+    # ifneq ($(strip $(MTK_GMO_RAM_OPTIMIZE)), yes)
+    #     PRODUCT_PACKAGES += \
+    #         GoogleDocumentsUIPrebuilt\
+    #         GoogleCaptivePortalLogin\
+    #         GoogleNetworkStack\
+    #         GoogleNetworkPermissionConfig
+    #     PRODUCT_MAINLINE_SEPOLICY_DEV_CERTIFICATES := vendor/partner_modules/NetworkStackPrebuilt
+    # else
+    #     PRODUCT_PACKAGES += \
+    #         InProcessNetworkStack \
+    #         PlatformCaptivePortalLogin \
+    #         PlatformNetworkPermissionConfig
+    # endif
     ifneq ($(call math_gt_or_eq,$(PRODUCT_SHIPPING_API_LEVEL),29),)
         # FBE device can support updatable APEX


device/mediateksample/编译项目名字/ProjectConfig.mk

@@ -88,6 +88,9 @@ MTK_AAL_SUPPORT = no
 MTK_AB_OTA_UPDATER = no
 MTK_AEE_SUPPORT = yes
 MTK_AGPS_APP = yes
+#for GMS interface
+BUILD_GMS=yes
+BUILD_GMS_WITH_FASTPASS=yes
 MTK_AIV_SUPPORT = no


目录
相关文章
|
Android开发
【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件(二)
【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件(二)
497 0
【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件(二)
|
6月前
|
移动开发 Shell 测试技术
Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析
Realtek蓝牙Android10.0移植结束后的基本测试和常见问题分析
|
Linux 编译器 开发工具
Android11.0(R) MTK6765 TP 驱动移植调试排错过程
Android11.0(R) MTK6765 TP 驱动移植调试排错过程
385 0
|
缓存 网络协议 Java
Android O/P/Q 版本移植iperf网络性能测试工具
Android O/P/Q 版本移植iperf网络性能测试工具
445 0
|
人工智能 TensorFlow 算法框架/工具
Tensorflow MobileNet移植到Android
Tensorflow MobileNet移植到Android
Tensorflow MobileNet移植到Android
|
Shell API Android开发
【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件(一)
【Android 应用开发】Android 上实现非root的 Traceroute -- 非Root权限下移植可执行二进制文件 脚本文件
503 0
|
Android开发 C++
嵌入式实践教程--Android音频开发日志(一)—移植FFmpeg
嵌入式实践教程--Android音频开发日志(一)—移植FFmpeg
嵌入式实践教程--Android音频开发日志(一)—移植FFmpeg
|
存储 Oracle Ubuntu
一个在线安卓项目移植阿里云记录
将一个安卓书店项目移植到阿里云上
一个在线安卓项目移植阿里云记录
|
Web App开发 人工智能 Rust
RISC-V移植安卓12.0再进一步:阿里平头哥首次实现AI支持
RISC-V移植安卓12.0再进一步:阿里平头哥首次实现AI支持
399 0
RISC-V移植安卓12.0再进一步:阿里平头哥首次实现AI支持