Android预安装Apk(解决部分预安装apk不能运行)

预装
预装的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.

解决:
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

你可能感兴趣的:(Android)