添加Apis和庫如Facebook Api,Twitter Api等增加apk大小? 如果他們這樣做,我可以採取哪些措施來最大限度地減少我的apk的大小?添加庫/ API是否增加apk大小?
(我聽說這是可以過濾導出的區域,使得只需要出口的。我知道這適用於支持庫,但我不知道它是否適用於的APK)
我會很感謝任何幫助或提示!
添加Apis和庫如Facebook Api,Twitter Api等增加apk大小? 如果他們這樣做,我可以採取哪些措施來最大限度地減少我的apk的大小?添加庫/ API是否增加apk大小?
(我聽說這是可以過濾導出的區域,使得只需要出口的。我知道這適用於支持庫,但我不知道它是否適用於的APK)
我會很感謝任何幫助或提示!
是
使用Proguard的並使其收縮,並從包中取出未使用的類..
只是更詳細地說明這一點,你可以在應用層面構建使用此代碼。 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。希望它有助於某人。
新的Gradle指令'minifyEnabled'和'shrinkResources'確實正在完成這項工作。 – shkschneider