在进行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变大,

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



更多相关文章

  1. Android(安卓)获取drawable目录图片 并存入指定文件的步骤详解
  2. Android中通过其他APP启动Activity的四种方式
  3. Android多渠道打包修改资源文件
  4. Android(安卓)sdk 文档资源
  5. Android(安卓)常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配
  6. 【转】更换android控件默认样式
  7. apk 反编译源码 资源文件
  8. 改变ProgressBar默认颜色
  9. android:screenOrientation的取值含义

随机推荐

  1. Android(安卓)activity intent 入门
  2. 什么是Android?
  3. Android(安卓)Framework启动流程浅析
  4. Android中使用Handler机制更新UI的三种解
  5. JavaEye新闻频道的第一个新闻专题Google
  6. Android(安卓)mainfest文件 android属性
  7. 腾讯优测优分享 | Android性能测试工具化
  8. Android学习系列(39)--Android主题和样式
  9. android一个很恶心的东西
  10. Android的init过程详解(一)