灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2111回复:0

android指定打包资源文件

楼主#
更多 发布于:2012-09-06 13:53

[html]
</pre>在进行Android开发时如果不是使用的eclipse等IDE,使用源码下开发再 mm的时候可能会发现 没有完全打包 hdpi mdpi ldpi下的资源。<p></p><p>我们可以通过如下的方式指定打包的资源文件:</p><p>在Android源码目录</p><p>build/core/product_config.mk下</p><p></p><pre name="code" class="html"># 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,可以通过重写


[html]
PRODUCT_LOCALES += hdpi

[html]
PRODUCT_LOCALES += ldpi
来指定默认编译的资源。
这种方式通常适用于产品开发,开发过程中该产品只需要某特定资源包下的资源。


下面这种方式适用于单个apk开发适应多个屏幕,一个应用下需要打包多个资源包适配不同屏幕。
在应用的 Android.mk 里加入如下行





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


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


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


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






喜欢0 评分0
游客

返回顶部