我现在正在进行Android自定义ROM开发。AOSP的构建系统是基于Android.mk,但我想包含一些aar库,是否可以在Android.mk中包含aar库?
可以在Android.mk中包含aar库。可以使用LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES和LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES_ARCHIVE来指定aar库。我现在正在进行Android自定义ROM开发。AOSP的构建系统是基于Android.mk,但我想包含一些aar库,是否可以在Android.mk中包含aar库?
可以在Android.mk中包含aar库。可以使用LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES和LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES_ARCHIVE来指定aar库。您应该将以下代码块添加到您的Android.mk文件中
LOCAL_STATIC_JAVA_AAR_LIBRARIES:= <aar alias>
.
.
.
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := <aar alias>:libs/<lib file>.aar
include $(BUILD_MULTI_PREBUILT)
请确保在您的清单文件中满足库所需的minSdkVersion要求。
请注意,还需要满足库所需的minSdkVersion要求,请在您的清单文件中进行设置。
返回:请确保在您的清单文件中满足库所需的minSdkVersion要求。
我的Android.mk
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-appcompat
LOCAL_STATIC_JAVA_LIBRARIES += android-common
LOCAL_SRC_FILES := $(call all-java-files-under, app/src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/app/src/main/res
LOCAL_RESOURCE_DIR += prebuilts/sdk/current/support/v7/appcompat/res
LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xml
LOCAL_PACKAGE_NAME := PackageName
LOCAL_SDK_VERSION := current
LOCAL_PROGUARD_FLAG_FILES := app/proguard-rules.pro
LOCAL_AAPT_FLAGS := --auto-add-overlay
LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat
LOCAL_AAPT_FLAGS += --extra-packages com.exp.librairy
LOCAL_STATIC_JAVA_AAR_LIBRARIES := explibrairy
include $(BUILD_PACKAGE)
#Build aar libs
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_AAR_LIBRARIES := explibrairy:project/build/outputs/aar/explibrairy-debug.aar
include $(BUILD_MULTI_PREBUILT)
include $(call all-makefiles-under, $(LOCAL_PATH))