有一个应用程序使用谷歌地图API第2 构建签名发布APK,文件长度是太庞大了之后 我建“HELLOWORD”工程测量长度和添加google_play_services_lib项目 文件长度可达2.2 MB超过“HELLOWORD” APK谷歌地图API V2使APK比老版大尺寸
而且存储库和谷歌Play服务SKD经理已经更新。
我使用Android Studio IDE(Gradle)并导入所有google-play-services。 是否可以导入的一部分?
有一个应用程序使用谷歌地图API第2 构建签名发布APK,文件长度是太庞大了之后 我建“HELLOWORD”工程测量长度和添加google_play_services_lib项目 文件长度可达2.2 MB超过“HELLOWORD” APK谷歌地图API V2使APK比老版大尺寸
而且存储库和谷歌Play服务SKD经理已经更新。
我使用Android Studio IDE(Gradle)并导入所有google-play-services。 是否可以导入的一部分?
假设你正在使用AS和摇篮为构建脚本/依赖管理
要导入谷歌Play服务,您正在使用的依赖全是这样的:
compile 'com.google.android.gms:play-services:7.8.0'
,其中包括所有的服务资源,类,这是巨大的名单:
+--- com.google.android.gms:play-services:7.8.0
| +--- com.google.android.gms:play-services-ads:7.8.0
| | +--- com.google.android.gms:play-services-base:7.8.0
| | | \--- com.android.support:support-v4:22.2.0 -> 22.2.1
| | | \--- com.android.support:support-annotations:22.2.1
| | +--- com.google.android.gms:play-services-analytics:7.8.0
| | | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| | \--- com.google.android.gms:play-services-appindexing:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-analytics:7.8.0 (*)
| +--- com.google.android.gms:play-services-appindexing:7.8.0 (*)
| +--- com.google.android.gms:play-services-appinvite:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-appstate:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-cast:7.8.0
| | +--- com.google.android.gms:play-services-base:7.8.0 (*)
| | \--- com.android.support:mediarouter-v7:22.2.0
| | \--- com.android.support:appcompat-v7:22.2.0
| | \--- com.android.support:support-v4:22.2.0 -> 22.2.1 (*)
| +--- com.google.android.gms:play-services-drive:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-fitness:7.8.0
| | +--- com.google.android.gms:play-services-base:7.8.0 (*)
| | \--- com.google.android.gms:play-services-location:7.8.0
| | +--- com.google.android.gms:play-services-base:7.8.0 (*)
| | \--- com.google.android.gms:play-services-maps:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-games:7.8.0
| | +--- com.google.android.gms:play-services-base:7.8.0 (*)
| | \--- com.google.android.gms:play-services-drive:7.8.0 (*)
| +--- com.google.android.gms:play-services-gcm:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-identity:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-location:7.8.0 (*)
| +--- com.google.android.gms:play-services-maps:7.8.0 (*)
| +--- com.google.android.gms:play-services-nearby:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-panorama:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-plus:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-safetynet:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-vision:7.8.0
| | \--- com.google.android.gms:play-services-base:7.8.0 (*)
| +--- com.google.android.gms:play-services-wallet:7.8.0
| | +--- com.google.android.gms:play-services-base:7.8.0 (*)
| | +--- com.google.android.gms:play-services-identity:7.8.0 (*)
| | \--- com.google.android.gms:play-services-maps:7.8.0 (*)
| \--- com.google.android.gms:play-services-wearable:7.8.0
| \--- com.google.android.gms:play-services-base:7.8.0 (*)
要缩小,你有三种选择:
com.google.android.gms:play-services-maps:7.8.0
这样的:
compile('com.google.android.gms:play-services:7.8.0') {
exclude module: 'play-services-fitness'
exclude module: 'play-services-games'
exclude module: 'play-services-wallet'
exclude module: 'play-services-safetynet'
exclude module: 'play-services-appinvite'
exclude module: 'play-services-wearable'
exclude module: 'play-services-cast'
}
谢谢APK的大小下降到3.72 Mb从5.1 Mb – AndroSco
也可以解压缩最终APK,看看最大的部分。如果它的'classes.dex'文件,你应该尝试proguard缩小,请参阅:https://sites.google.com/a/android.com/tools/tech-docs/new-build-system/resource-shrinking –
你使用的是Eclipse还是Android Studio? –
你的依赖关系是怎样的?您是否导入了所有的谷歌播放服务或只是其中的一部分? –
@MarekSebera我将它全部导入到我的项目中。 – AndroSco