android 指定打包资源文件的方法

本文介绍在Android开发中如何配置资源文件的打包,包括修改系统级配置实现特定密度资源的默认编译,以及在单个应用的Android.mk文件中指定多种屏幕密度资源的编译方法。

在进行android开发时如果不是使用的eclipse等IDE,使用源码下开发再 mm的时候可能会发现 没有完全打包 hdpi mdpi ldpi下的资源。

我们可以通过如下的方式指定打包的资源文件:

在android源码目录

build/core/product_config.mk下

# Default to medium-density assets.
# (Can be overridden in the device config, e.g.: PRODUCT_LOCALES += hdpi)
PRODUCT_LOCALES := $(strip \
    $(PRODUCT_LOCALES) \
    $(if $(filter %dpi,$(PRODUCT_LOCALES)),,mdpi))

# Everyone gets nodpi assets which are density-independent.
PRODUCT_LOCALES += nodpi

这是系统的默认配置,默认是mdpi,可以通过重写

PRODUCT_LOCALES += hdpi
或
PRODUCT_LOCALES += ldpi
来指定默认编译的资源。

这种方式通常适用于产品开发,开发过程中该产品只需要某特定资源包下的资源。


下面这种方式适用于单个apk开发适应多个屏幕,一个应用下需要打包多个资源包适配不同屏幕。

在应用的 Android.mk 里加入如下行

 

LOCAL_AAPT_FLAGS += -c ldpi -c mdpi 

上面指定了编译时打包 ldpi 和mdpi 如果系统默认的是hdpi的话,那就是这三种都会装入包中。

注:1.如果ldpi,mdpi,hdpi中没有资源文件,编译后的apk中不会有对应的文件夹哟。

         2.如果你进行的是平台应用开发,最好不要使用第二种方式来指定,因为你这样会导致系统编译了多余的资源文件导致rom变大,

          只需要通过第一种方式指定默认的即可。



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值