梦书之家(移动开发)

你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。 ——肖伯纳

导航

android 4.4/5.1上使用aar的问题

在Android6.0上可以使用LOCAL_STATIC_JAVA_AAR_LIBRARIES。build脚本会把指定的aar解压缩到临时目录,并将class.jar和res添加到对应的变量。

LOCAL_STATIC_JAVA_AAR_LIBRARIES := $(strip $(LOCAL_STATIC_JAVA_AAR_LIBRARIES))
    ifdef LOCAL_STATIC_JAVA_AAR_LIBRARIES
    my_full_libs_manifest_deps += $(foreach lib, $(LOCAL_STATIC_JAVA_AAR_LIBRARIES),\
      $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/aar/classes.jar)
    my_full_libs_manifest_files += $(foreach lib, $(LOCAL_STATIC_JAVA_AAR_LIBRARIES),\
      $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/aar/AndroidManifest.xml)

    LOCAL_RESOURCE_DIR += $(foreach lib, $(LOCAL_STATIC_JAVA_AAR_LIBRARIES),\
      $(call intermediates-dir-for,JAVA_LIBRARIES,$(lib),,COMMON)/aar/res)
    endif

LOCAL_STATIC_JAVA_AAR_LIBRARIES在Android4.4不存在,但是只要参照上面的步骤就可以了。手动将aar解压缩后添加到你的工程,并使用下面类似的语句:

LOCAL_STATIC_JAVA_LIBRARIES += lib_android_recyclerview

    LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.recyclerview
    LOCAL_RESOURCE_DIR += $(addprefix $(LOCAL_PATH)/, android-recyclerview-v7/res)

    LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += lib_android_recyclerview:android-recyclerview-v7/classes.jar

 

posted on 2016-12-22 13:30  梦书  阅读(1606)  评论(0编辑  收藏  举报