android指定打包資源文件

[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變大,

          隻需要通過第一種方式指定默認的即可。

摘自 weidawei0609的專欄
 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *