android 源码工程中添加系统应用引v7包问题

项目需要开发手机管家系统级应用,开发过程中需要用到support v7包,故在android.mk文件中加了如下代码:

LOCAL_STATIC_JAVA_LIBRARIES := \

android-support-v7-appcompat \
android-support-v4

结果报错,提示v7包中r文件缺失,网上查找资料,发现需要添加对就的res到mk文件中,继续加如下代码:

LOCAL_RESOURCE_DIR += \
$(LOCAL_PATH)/res \

$(LOCAL_PATH)/../../../../prebuilts/sdk/current/support/v7/appcompat/res

还是报错,v7的资源倒是不报错了,管家应用的values中资源找不到了,网上查询,发现是因为google的overlay机制搞得鬼,需要使用aapt将v7包编译到本应用中,不然自己的资源会被覆盖,自己这么理解 的,于是添加 如下代码:

LOCAL_AAPT_FLAGS := \
    --auto-add-overlay \

    --extra-packages android.support.v7.appcompat

问题解决。


mk文件中语法理解的还是不清楚,需要继续学习。

你可能感兴趣的:(android 源码工程中添加系统应用引v7包问题)