2014-03-06 50 views
8

當我從eclipse導出apk時,它壓縮所有的PNG圖像。例如,apk中的一個4.6 KB png變成了2.15 KB。不過,我更願意在構建apk之前使用tinypng優化png文件,這會製作更小的文件。使用tinypng的同樣的4.6 KB png變成了746 B。 當建立apk時,壓縮在我的746 B png上運行,使它達到1.6 KB。導出簽名的應用程序沒有「優化」PNG圖像

有什麼辦法可以禁用未來版本的優化?

+0

此鏈接可以幫助你:) http://stackoverflow.com/questions/12929884/disable-android-resource-image-png優化 –

回答

6

在項目build.xml ANT文件可以覆蓋-crunch任務的SDK,從而避免PNG壓縮,因爲你以前壓縮他們:

<target name="-crunch"> 
    <echo message="Skipping PNG optimization"/> 
</target> 
+0

謝謝,但我沒有使用ANT,請告訴我如何創建這個build.xml文件並使用ANT構建項目? – Minas

+1

例如,您可以將'android-support-v7-appcompat'中的一個複製到項目的根文件夾中,並使用覆蓋目標對其進行調整。如果你正在使用ADT,把這個調優過的'build.xml'文件移到ANT視圖,打開它來檢查所有的目標,並運行'release'。 –

-1

在將它們導入項目之前,使用tinypng優化文件。

+0

我在導入前做了優化。我的問題是它再次被壓縮(這使得png在這種情況下更大),所以我試圖禁用它。 – Minas

+1

@Minas,你應該在你的問題中提出你的評論,然後它會完全清除問題。 – Farhan

4

谷歌最近在Android SDK構建工具推出了new PNG processor in aapt 0.9.1那修復了優化後的PNG大小增加問題。

安裝此更新,現在可以爲Android Studio和搖籃到PNG處理器之間有以下變化在build.gradle配置文件切換:

android { 
    ... 
    aaptOptions.useAaptPngCruncher = false 
} 

通過加入這一行,AAPT使用新的PNG處理器,用於檢查「優化的」PNG文件是否小於原始PNG文件。我能夠在編譯的APK中減少4.8 MB,並且沒有遇到任何新構建配置的錯誤/問題。

+0

很高興知道!謝謝。我仍然在使用Eclipse和ant。當我切換到Android Studio&Gradle – Minas

+3

時使用此選項現在(Gradle Android插件1.0.0-rc1)該選項的名稱已更改爲'aaptOptions.useNewCruncher',邏輯反轉,即設置'aaptOptions.useNewCruncher = false'將禁用新的PNG壓縮器。 – sschuberth

+0

從Android Studio 1.0和Gradle 1.0.0開始,此選項似乎不起作用。我所有已經優化過的PNG文件仍在進行重新處理,導致PNG文件比原始PNG文件大10-15%。 –

2

更改圖片文件擴展名。例如:重命名someImage.pngsomeImage.jet爲我工作。你可以試試這個。

3

由於搖籃Android插件1.0.0:

android { 
... 
    aaptOptions { 
    useNewCruncher false 
    } 
.... 
}