Demo:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_CERTIFICATE := platform
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_JAVA_LIBRARIES := framework
LOCAL_SRC_FILES := $(call all-java-files-under,src)
LOCAL_STATIC_ANDROID_LIBRARIES := \
android-support-core-ui \
android-support-transition \
android-support-v4 \
android-support-v7-appcompat \
android-support-v7-cardview
LOCAL_STATIC_JAVA_LIBRARIES += jxl \
LOCAL_PACKAGE_NAME := AACTestF0
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=jxl:libs/jxl-2.6.12.jar
include $(BUILD_MULTI_PREBUILT)
第二种方式
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libjni_customize
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := \
......
imagefeatureprocessor.cpp
LOCAL_SHARED_LIBRARIES += libcutils \
libutils \
libbinder \
libjnigraphics \
libui \
libgui \
liblog \
libandroid
LOCAL_REQUIRED_MODULES := libopencv_java4
LOCAL_JNI_SHARED_LIBRARIES := libopencv_java4
LOCAL_C_INCLUDES := vendor/apk/jni/include
LOCAL_NDK_STL_VARIANT :=none
LOCAL_PROGUARD_ENABLED :=disabled
LOCAL_LDLIBS := -llog
include $(BUILD_SHARED_LIBRARY)
include $(CLEAR_VARS)
LOCAL_MODULE := libopencv_java4
LOCAL_SRC_FILES_arm64 := ../libs/arm64-v8a/libopencv_java4.so
LOCAL_SRC_FILES_arm := ../libs/armeabi-v7a/libopencv_java4.so
LOCAL_MODULE_TARGET_ARCHS:= arm arm64
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
LOCAL_MULTILIB := both
LOCAL_CHECK_ELF_FILES = false
include $(BUILD_PREBUILT)
Android.bp 文件中加入第三方JAR包或者so文件的方法 重写
预制jar包
新增libs文件,并在下面加入Android.bp文件,Android.bp内容如下:
java_import{
name:" testlib_jar",
jars:["libs/testlib.jar"],
}
/*
修改模块中的Android.bp
需要再android_app的主模块中新增上面定义的name的值
*/
android_app{
name:"xx",
static_libs:[
"testlib_jar",
],
}
如果不想在libs文件夹新增Android.bp文件,可以把java_import放入到Android.bp中
java_import{
name:"testlib_jar",
jars:["libs/test.jar"],
}
jar_library{
"testlib_jar",
}
如果是新增aar包,方法如下
android_library_import {
name: "lib-lottie",
aars: ["lottie-2.8.0.aar"],
sdk_version: "current",
}
如果是新增so方法,如下
jni_libs:[
"libjni_test_api"
],
cc_prebuilt_library_shared{
name:"libjni_test_api",
arch:{
arm:{
srcs:["libs/armeabi-v7a/libjni_test_api.so"],
},
arm64:{
srcs:["libs/armeabi-v8a/libjni_test_api.so"],
},
},
}