初始LocationServices时的java.lang.VerifyError

时间:2016-01-27 12:05:03

标签: android google-play-services

我最近在Android SDK Manager中更新了Google Play服务SDK(第29版)。 然后我发现在SDK更新后我构建的apk将在最初的GoogleApiClient期间崩溃。

以下是我们使用的代码。

mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(LocationServices.API)
                .build();

这是调用堆栈的日志

E / AndroidRuntime:致命异常:主要是 处理:com.xxxxxxx.xxxxx,PID:3855
java.lang.VerifyError:拒绝com.google.android.gms.location.internal.zzd类因为编译时验证失败('com.google.android.gms.location.internal.zzd'的声明出现在/ data中/app/com.xxxxxx.xxxx-2/base.apk)                                                                                在com.google.android.gms.location.LocationServices。(未知来源)

我使用的google play服务版本是 com.google.android.gms:play-services-location:8.3.0

1 个答案:

答案 0 :(得分:1)

我尝试将位置服务更新为8.4.0 但它导致Version conflict updating to 8.4.0 所以我按照上面链接中的说明进行操作 然后问题就解决了。

这是我使用的说明。

  1. 更改为在app build.gradle中使用编译'com.google.android.gms:play-services-location:8.3.0'
  2. 应用插件:'com.google.gms.google-services'移至app build.gradle的末尾
  3. 在项目build.gradle依赖项中使用 classpath'com.google.gms:google-services:2.0.0-alpha3'
  4. 更改为在gradle / wrapper / gradle-wrapper.properties中使用 gradle-2.8