LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := xxx
LOCAL_MODULE_TAGS := optional
#签名方式,如果是 platform ,代表签名成系统软件, 如果还是PRESIGND,表示用的是apk原本的签名。
LOCAL_CERTIFICATE := platform
LOCAL_SRC_FILES := xxx.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
#不生产oat
LOCAL_DEX_PREOPT := false
LOCAL_OVERRIDES_PACKAGES := Home
LOCAL_PRIVATE_PLATFORM_APIS := true
# 内置到system/priv/app/
LOCAL_PRIVILEGED_MODULE := true
#自动拷贝到apk下,
#有些网上的资料在前面加@lib/ ,我这里测试过不能成功拷贝到项app文件夹内
#lib/armeabi/ 这里是加压的库文件目录,和apk内的保持一致
LOCAL_PREBUILT_JNI_LIBS := \
lib/armeabi/libcrypto.so \
lib/armeabi/libtx.so
#引用jar库
LOCAL_STATIC_JAVA_LIBRARIES := \
cusjar \
mediaJar
include $(BUILD_PREBUILT)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += cusjar:libs/xxxxx.jar
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += mediaJar:libs/mediaJar.jar
include $(BUILD_MULTI_PREBUILT)
将apk解压后分别拷贝出lib出来,放到mk文件同级目录
#还有一种是在device mk内部实现拷贝,根据自己情况来
PRODUCT_COPY_FILES += \
$(call find-copy-subdir-files,*.so,vendor/xxx/lib/armeabi/,system/priv-app/xxx/lib/armeabi/) \
$(call find-copy-subdir-files,*.so,vendor/xxx/lib/armeabi/,system/lib/)
# 如果使用这种方法,需要注意apk使用得so库会不会有和系统冲突的,逐一对比system/lib/下是否有相同的
#如果有相同的系统库,就改成一下方式测试:
//将lib库解压出来
PRODUCT_COPY_FILES += \
device/xxx/xxx.apk:/system/app/xxx/xxx.apk \
$(call find-copy-subdir-files,*.so,device/xxx/lib/,/system/app/xxx/lib/arm)
//