我正在使用
compile 'com.google.android.gms:play-services-maps:9.4.0'
compile 'com.google.android.gms:play-services-location:9.4.0'
compile 'com.google.android.gms:play-services-places:9.4.0'
compile 'com.google.android.gms:play-services-analytics:9.4.0'
ProGuard指令包含在Play服务客户端库中 保留所需的类。 Gradle的Android插件 自动将ProGuard配置文件附加到AAR(Android ARchive)包并将该包附加到您的ProGuard 组态。在项目创建期间,Android Studio会自动生成 创建ProGuard配置文件和build.gradle属性 用于ProGuard。要在Android Studio中使用ProGuard,您必须启用 build.gradle buildTypes中的ProGuard设置。更多 有关信息,请参阅ProGuard指南。
但是,在使用proguard而不保留任何游戏服务的类时,我得到以下异常:
引起:java.lang.ClassNotFoundException:没找到类 " com.google.android.gms.location.places.ui.SupportPlaceAutocompleteFragment"
然后我通过添加:
来解决这个问题-keep class com.google.android.gms.** { *; }
它完美无缺,但不幸的是,apk大小现在增加了1MB 。 它不仅仅是关于SupportPlaceAutocompleteFragment,如果我使用这些库而不保持它们的类,即使GCM和getLocation功能也停止工作。
我觉得我做错了,因为官方文档坚持不添加游戏服务的proguard规则。请帮忙。