Android预置Apk到系统,有以下几种情况:
1、带源码的apk/不带源码的apk
2、带so库/不带so库
3、用户可以卸载,恢复出厂设置时不能恢复/恢复出厂设置时能够恢复
4、预置的位置
- 预置到system/app/目录 (不可卸载)
- 预置到system/priv-app/目录 (不可卸载,系统核心应用)
- 预置到data/app/目录 (可卸载)
Android.mk文件
首先看两个简单的系统自带的apk的Android.mk
1、包含源码的apk package/app/Music
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := Music
LOCAL_SDK_VERSION := current
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
include $(BUILD_PACKAGE)
# Use the folloing include to make our test apk.
include $(call all-makefiles-under,$(LOCAL_PATH))
复制代码
2、不带源码的apk google/apps/Chrome
LOCAL_PATH := $(call my-dir)
my_archs := arm arm64
my_src_arch := $(call get-prebuilt-src-arch, $(my_archs))
include $(CLEAR_VARS)
LOCAL_MODULE := Chrome
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_TAGS := optional
LOCAL_BUILT_MODULE_STEM := package.apk
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX