项目需要开发手机管家系统级应用,开发过程中需要用到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文件中语法理解的还是不清楚,需要继续学习。