1.framework引入静态jar包
include $(CLEAR_VARS)LOCAL_MODULE = xxxLOCAL_MODULE_CLASS = JAVA_LIBRARIESLOCAL_MODULE_SUFFIX = .jarLOCAL_UNINSTALLABLE_MODULE = trueLOCAL_SRC_FILES = lib/xxx.jarinclude $(BUILD_PREBUILT)在需要引入的地方,比如framework.jar在其对应的Android.mk中添加:LOCAL_STATIC_JAVA_LIBRARIES += xxx
2.编译共享jar包
include $(CLEAR_VARS)LOCAL_MODULE := xxxLOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := \$(call all-java-files-under,$(ANDROID_API_SUBDIRS)) \$(call all-Iaidl-files-under,$(ANDROID_API_SUBDIRS))LOCAL_PROGUARD_ENABLED := disabledLOCAL_REQUIRED_MODULES := \xxx.xmlLOCAL_AIDL_INCLUDES := $(ANDROID_JAVA_API_DIRS)include $(BUILD_JAVA_LIBRARY)####instlal permission####include $(CLEAR_VARS)LOCAL_MODULE := xxx.xmlLOCAL_MODULE_TAGS := optionalLOCAL_MODULE_CLASS := ETCLOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissionsLOCAL_SRC_FILES := $(LOCAL_MODULE)include $(BUILD_PREBUILT)xxx.xml :<?xml version="1.0" encoding="utf-8"?><permissions><library name="xxx"file="/system/framework/xxx.jar"/></permissions>
3.编译so库
方法1 : 单独编译
include $(CLEAR_VARS)LOCAL_MODULE := mylibLOCAL_MODULE_CLASS := SHARED_LIBRARIESLOCAL_MODULE_SUFFIX := .soLOCAL_MODULE_TAGS := optionalLOCAL_MULTILIB := bothLOCAL_SRC_FILES_32 := mylib_32.soLOCAL_SRC_FILES_64 := mylib_64.soLOCAL_MODULE_PATH :=$(TARGET_OUT)/libinclude $(BUILD_PREBUILT)
方法2 : 轮询编译
LOCAL_PATH := $(call my-dir)define XIAOMOR_PREBUILT_LIB_templateinclude $(CLEAR_VARS)LOCAL_MODULE := $(1)LOCAL_MODULE_CLASS := SHARED_LIBRARIESLOCAL_MODULE_TAGS := optionalLOCAL_STRIP_MODULE := falseLOCAL_SRC_FILES_32 := $(2)LOCAL_SRC_FILES_64 := $(3)LOCAL_MULTILIB := bothinclude $(BUILD_PREBUILT)endefmy_libs := \libaa \libbb \libcc \libdd \$(foreach lib,$(my_libs), \$(eval $(call XIAOMOR_PREBUILT_LIB_template, $(lib).so ,$(lib)_32.so, $(lib)_64.so )))
4.预编译apk
预置apk至系统,如果apk含有so库的话,也需要提前编译到系统中,解压apk文件,将so提取出来放置某一文件夹中,通过LOCAL_PREBUILT_JNI_LIBS将so编译至system/app/package/lib/arm目录
include $(CLEAR_VARS)LOCAL_MODULE := xxxLOCAL_MODULE_CLASS := APPSLOCAL_MODULE_SUFFIX := .apkLOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := xxxx.apkLOCAL_CERTIFICATE := platformLOCAL_MULTILIB := 32LOCAL_DEX_PREOPT := falseLOCAL_MODULE_PATH :=$(TARGET_OUT)/appLOCAL_PREBUILT_JNI_LIBS:= \Hhappy_libs/libffmpeg.so \Hhappy_libs/libhpplayvideo.so \Hhappy_libs/libhpplayvideo19.so \Hhappy_libs/liblbffmpeg.so \Hhappy_libs/libusbserver.soinclude $(BUILD_PREBUILT)
