在 AOSP 构建中添加和使用带有资源的 aar 文件
Adding and using aar file with resources in AOSP build
我需要在 aosp 构建树中使用 android.mk 构建一个应用程序。我有一个自定义的 .arr 库,其中包含一些资源,例如可绘制对象、字符串等,位于以下文件夹中 apps/libs/mylib.aar
任何人都可以告诉我如何在 android aosp 构建中包含 aar 并在其他应用程序中使用该 aar 资源。我已经尝试过 Whosebug 中描述的以下方法。
Android.mk 我的申请看起来像
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := TestSampleAarLib
LOCAL_STATIC_JAVA_AAR_LIBRARIES:= sampleaarlib
LOCAL_STATIC_ANDROID_LIBRARIES += android-support-v7-appcompat
LOCAL_STATIC_ANDROID_LIBRARIES += android-support-v7-gridlayout
LOCAL_STATIC_ANDROID_LIBRARIES += android-support-v13
LOCAL_USE_AAPT2 := true
LOCAL_AAPT_FLAGS := \
--auto-add-overlay \
--extra-packages com.myaar.sample.lib
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MANIFEST_FILE := AndroidManifest.xml
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := sampleaarlib:libs/sampleaarlib.aar
include $(BUILD_MULTI_PREBUILT)
如果有人知道如何在 AOSP 中使用 aar 中的资源,请分享。
提前致谢。
要从 aar 文件添加资源,请在您的 android.mk 文件中添加以下内容。
LOCAL_RESOURCE_DIR +=$(call intermediates-dir-for,JAVA_LIBRARIES,<aar_file_name>,,common)/aar/res
在 Android 8.1 版本中测试和验证。
注意:在最新的android版本中,9+资源自动合并到项目中。
我需要在 aosp 构建树中使用 android.mk 构建一个应用程序。我有一个自定义的 .arr 库,其中包含一些资源,例如可绘制对象、字符串等,位于以下文件夹中 apps/libs/mylib.aar
任何人都可以告诉我如何在 android aosp 构建中包含 aar 并在其他应用程序中使用该 aar 资源。我已经尝试过 Whosebug 中描述的以下方法。
Android.mk 我的申请看起来像
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_PACKAGE_NAME := TestSampleAarLib
LOCAL_STATIC_JAVA_AAR_LIBRARIES:= sampleaarlib
LOCAL_STATIC_ANDROID_LIBRARIES += android-support-v7-appcompat
LOCAL_STATIC_ANDROID_LIBRARIES += android-support-v7-gridlayout
LOCAL_STATIC_ANDROID_LIBRARIES += android-support-v13
LOCAL_USE_AAPT2 := true
LOCAL_AAPT_FLAGS := \
--auto-add-overlay \
--extra-packages com.myaar.sample.lib
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_MANIFEST_FILE := AndroidManifest.xml
include $(BUILD_PACKAGE)
include $(CLEAR_VARS)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := sampleaarlib:libs/sampleaarlib.aar
include $(BUILD_MULTI_PREBUILT)
如果有人知道如何在 AOSP 中使用 aar 中的资源,请分享。
提前致谢。
要从 aar 文件添加资源,请在您的 android.mk 文件中添加以下内容。
LOCAL_RESOURCE_DIR +=$(call intermediates-dir-for,JAVA_LIBRARIES,<aar_file_name>,,common)/aar/res
在 Android 8.1 版本中测试和验证。
注意:在最新的android版本中,9+资源自动合并到项目中。