预装
预装的APK存放位置在android2.3.4\device\softwinner\crane-xx\apk\目录下,将需要预装
的 APK文件放在该目录下面,该目录下的apk安装有两种方法:
(1)安装到system/app目录下:
修改 android2.3\device\softwinner\ crane-xx\crane_xx.mk如下:
# app apks
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*.apk,$(LOCAL_PATH)/apk,system/app)
优点:对启动速度无影响;
缺点:对于apk中有lib库文件的应用,预装在该目录后,不能正常使用该应用;
(2)安装到system/vendor/preinstall目录下:
# pre-installed apks
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*.apk,$(LOCAL_PATH)/apk,system/vendor/preinstall) 优点:可以有效解决预装apk不能使用的问题; 缺点:开机时会parser这些应用,事先load相关库文件,会造成开机时间偏长; 综合以上两点,预装 apk 时,对于有库文件的应用安装在 system/vendor/preinstall 目录
下,其他应用则安装到system/app目录下,这样可以较少开机时间;
编译错误:
build/core/Makefile:25: *** Prebuilt apk found in PRODUCT_COPY_FILES: device/ti/nexttab/google_paly/Gmail.apk:system/app/Gmail.apk, use BUILD_PREBUILT instead!. Stop.
build/core/Makefile:25: *** Prebuilt apk found in PRODUCT_COPY_FILES: device/ti/nexttab/google_paly/Gmail.apk:system/app/Gmail.apk, use BUILD_PREBUILT instead!. Stop.
解决:
gedit build/core/Makefile
#Wyoojune Delete 删除如下代码
#define check-product-copy-files
#$(if $(filter %.apk, $(1)),$(error \
# Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT #instead!))
#endef
编译OK
gedit build/core/Makefile
#Wyoojune Delete 删除如下代码
#define check-product-copy-files
#$(if $(filter %.apk, $(1)),$(error \
# Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT #instead!))
#endef
编译OK