android 4.2安装GMS包
时间:10-02
整理:3721RD
点击:
自己的安卓平台在客户处测试时,有反馈Network Signal Info 这个apk无法安装,提示缺少共享库。通过在网上搜索,确认是少了GMS包的缘故。也就是得自己把add on属性的文件包添加到自己的工程中。步骤如下:
(1)从网上下载4.2的GMS包(可用网址http://goo.im/gapps/gapps-jb-20130812-signed.zip),可先用简单的打包方式来验证包内容是否可用。将包中的system\app\,system\etc\permissions\,system\php?mod=tag&id=6090" target="_blank" class="relatedlink">Framework\,system\lib\这些内容拷贝到映像生成文件中对应的目录下,执行打包,之后验证。该APK不能装的原因在于相应目录缺少:
system/framework com.google.android.maps.jar
system/etc/permissions com.google.android.maps.xml
通过后者脚本内容索引到jar包
(2)把GMS包添加到平台中。首先在vendor\下新建文件夹google\apps,在其中放入system\app\下的apk,并新建一个Android.mk,内容如下:
[html] view plaincopy
- LOCAL_PATH := $(call my-dir)
- include $(CLEAR_VARS)
- LOCAL_MODULE := ChROMeBookmarksSyncAdapter
- LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
- LOCAL_MODULE_TAGS := optional
- LOCAL_MODULE_CLASS := APPS
- LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
- LOCAL_CERTIFICATE := PRESIGNED
- include $(BUILD_PREBUILT)
其他若干apk均可仿照该格式。
(3)在google目录下建立一个Android.mk,内容如下:
[java] view plaincopy
- include $(call all-subdir-makefiles)
(4)在项目工程对应的mk文件中,加上这个目录的索引,如下:
[java] view plaincopy
- include $(TOPDIR)vendor/google/products/gms.mk
(5)新建目录google\products\,和一个gms.mk。该内容完成PRODUCT_PACKAGES的合并。大致如下:
[java] view plaincopy
- PRODUCT_PACKAGES += \
- ChromeBookmarksSyncAdapter \
- ConfigUpdater \
- GenieWidget
同时可以选择是否要导入新的设置向导流程,如下:
[java] view plaincopy
- PRODUCT_PROPERTY_OVERRIDES += \
- ro.setupwizard.mode=ENABLED
(6)GMS包中的lib jar xml等文件,拷贝入vendor\xxxx\projectName\artifacts\out\target\product\projectName\system\对应的子目录即可。r 编译项目。
(7)如果系统需要支持人脸解锁,除了要在GMS中内置facklock.apk之外,还要将原GMS包中的pittpatt文件夹放置在系统的特定目录下,让最终烧录映象中有\system\vendor\pittpatt。
好詳細,感謝分享!
谢谢小编,学习了