MT6755 Android6.0 GMS包移植
-
Google从Android7.0开始,如果设备需要运行GMS框架就必须要做Google认证,否则是不能运行Google提供的app(google paly,google map,gmail 等等),因此,又想用gms但是又不想过认证,有些行业客户就降低了对Android版本的要求,直接用Android6.0或者以下来做产品开发。
移植硬件: MT6755开发板 GMS6.0移植包: 链接:https://pan.baidu.com/s/1gvgXrAWHQhG5DA865b7xXg 提取码:uypj 若网盘内容不在了,可联系VX13682654092获取。
移植步骤:
- 修改mk文件,将GMS包编译进系统;
ifdef BUILD_GMS
ifeq ($(strip $(BUILD_GMS)), yes)
$(call inherit-product-if-exists, vendor/google/products/gms.mk)
PRODUCT_PROPERTY_OVERRIDES += \
@@ -389,9 +388,13 @@ PRODUCT_PROPERTY_OVERRIDES += \
ro.com.google.clientidbase.yt=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.am=alps-$(TARGET_PRODUCT)-{country} \
ro.com.google.clientidbase.gmm=alps-$(TARGET_PRODUCT)-{country}
endif
endif
- 将解压的google文件夹放在系统源码根目录的vendor\目录下;
- 修改gms的配置文件vendor\google\products\gms.mk,选择编译所需要的app,我目前的配置如下所示。
###############################################################################
# GMS mandatory core packages
PRODUCT_PACKAGES := \
ConfigUpdater \
GoogleBackupTransport \
GoogleFeedback \
GoogleLoginService \
GoogleOneTimeInitializer \
GooglePackageInstaller \
GooglePartnerSetup \
GoogleServicesFramework \
GoogleCalendarSyncAdapter \
GoogleContactsSyncAdapter \
GoogleTTS \
GmsCore \
Phonesky \
SetupWizard \
WebViewGoogle
# GMS mandatory libraries
PRODUCT_PACKAGES += \
com.google.android.maps.jar \
com.google.android.media.effects.jar
# Overlay For GMS devices
$(call inherit-product, device/sample/products/backup_overlay.mk)
$(call inherit-product, device/sample/products/location_overlay.mk)
PRODUCT_PACKAGE_OVERLAYS += vendor/google/products/gms_overlay
# Configuration files for GMS apps
PRODUCT_COPY_FILES += \
vendor/google/etc/updatecmds/google_generic_update.txt:system/etc/updatecmds/google_generic_update.txt \
vendor/google/etc/preferred-apps/google.xml:system/etc/preferred-apps/google.xml \
vendor/google/etc/sysconfig/google.xml:system/etc/sysconfig/google.xml
# GMS mandatory application packages
# Note: Duo is mandatory for telephony devices, whereas Hangouts is for non-telephony devices.
PRODUCT_PACKAGES += \
Chrome \
# Drive \
Gmail2 \
Duo \
# Hangouts \
Maps \
Music2 \
Photos \
# Velvet \
# Videos \
YouTube
# GMS optional application packages
PRODUCT_PACKAGES += \
# Books \
# CalendarGoogle \
# CloudPrint \
# DeskClockGoogle \
# DMAgent \
# FaceLock \
# LatinImeGoogle \
# PlayGames \
# PlusOne \
# TagGoogle \
# talkback \
# AndroidPay
#PRODUCT_PACKAGES += \
# EditorsDocs \
# EditorsSheets \
# EditorsSlides \
# Keep \
# Newsstand
#PRODUCT_PACKAGES += \
# EditorsDocsStub \
# EditorsSheetsStub \
# EditorsSlidesStub \
# KeepStub \
# NewsstandStub
# More GMS optional application packages
#PRODUCT_PACKAGES += \
# CalculatorGoogle \
# Messenger \
# GoogleHindiIME \
# GooglePinyinIME \
# JapaneseIME \
# KoreanIME \
# NewsWeather
# Overrides
PRODUCT_PROPERTY_OVERRIDES += \
ro.setupwizard.mode=OPTIONAL \
ro.com.google.gmsversion=6.0_r11
-
全局make -j32编译,若出现system过大,导致system分区不够,要么继续删掉不需要的app,要么修改分区表;
MT6755的分区表再如下路径:device/mediatek/build/build/tools/ptgen/MT6755/partition_table_MT6755.xls
修改分区表之后尽量删掉out目录,重新编译。 -
烧录开机,GMS的app已经集成。(若有出现一直在Android的开机动画处,进不了luncher,可能是system分区还是过小导致)。