自己的安卓平台在客户处测试时,有反馈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\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,内容如下:
- 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)
(3)在google目录下建立一个Android.mk,内容如下:
- include $(call all-subdir-makefiles)
- include $(TOPDIR)vendor/google/products/gms.mk
- PRODUCT_PACKAGES += \
- ChromeBookmarksSyncAdapter \
- ConfigUpdater \
- GenieWidget
- PRODUCT_PROPERTY_OVERRIDES += \
- ro.setupwizard.mode=ENABLED