刚开始学习Android,对很多东西都不懂,所以以下是我做的第一件事,记录一下,也就是apk的集成:
我们集成的apk是已经签过名的第三方apk,并且需要集成到system/priv-app目录下,过程如下:
首先将apk拷贝到vendor/工程名/target...,具体目录忘记了,就是进入自己的工程文件下面,或者上层目录,添加一个文件夹,common,里面创建一个app文件夹,下面创建一个apk名字的文件夹,将所要集成的apk拷贝进去,然后创建Android.mk文件,其内容如下:假设该apk名称为FaceLock.apk,文件夹名称就为FaceLock
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := FaceLock
LOCAL_SRC_FILES := ./FaceLock.apk
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE:= PRESIGNED //表示该apk已经签名过,若修改为platform,就使用系统签名
LOCAL_MODULE_PATH := $(PRODUCT_OUT)/system/priv-app/
include $(BUILD_PREBUILT)
这样编译apk的mk文件就写完了,这样虽然使用mm局部编译可以成功,但是使用make -jn进行全编译就不执行该模块,所以需要在上层的Android.mk文件中添加以下内容:
PRODUCT_PACKAGES += FaceLock
或者在已有的添加如下:
PRODUCT_PACKAGES += \
xxxxx \
xxxxx \
FaceLock
其中FaceLock需要与mk文件中的LOCAL_MODULE后面的一致。