2015-01-06 75 views
1

添加Apis和庫如Facebook Api,Twitter Api等增加apk大小? 如果他們這樣做,我可以採取哪些措施來最大限度地減少我的apk的大小?添加庫/ API是否增加apk大小?

(我聽說這是可以過濾導出的區域,使得只需要出口的。我知道這適用於支持庫,但我不知道它是否適用於的APK)

我會很感謝任何幫助或提示!

回答

1

使用Proguard的並使其收縮,並從包中取出未使用的類..

+1

新的Gradle指令'minifyEnabled'和'shrinkResources'確實正在完成這項工作。 – shkschneider

2

只是更詳細地說明這一點,你可以在應用層面構建使用此代碼。 gradle這個文件:

最小化資源配置

的Android devel的opment通常依賴於使用外部庫,如Android支持庫,Google Play服務,Facebook SDK等。 所有這些庫附帶的資源對於您的應用程序來說都不是必需的 。例如,谷歌播放服務來到 與翻譯爲您自己的應用程序甚至不支持 語言。它還捆綁了我不想在我的 應用程序中支持的mdpi資源。

啓動Android Gradle Plugin 0.7後,您可以將有關應用程序處理的 配置的信息傳遞給構建系統。這個 是由resConfig和resConfigs風格和默認 配置選項完成的。下面的DSL防止AAPT從包裝資源 不匹配的應用程序管理的資源配置: See full article here

defaultConfig { 
    ... 
    resConfigs "en" 
    resConfigs "nodpi", "hdpi", "xhdpi", "xxhdpi" 
} 

,還可以使用proguard相關的這些屬性按在對方的回答@ shkschneider的評論:

buildTypes { 
     release { 
      minifyEnabled true 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
} 

在我的情況下,我能夠通過使用這兩個東西將我的3.8 MB應用縮小到1.8 MB。希望它有助於某人。