【发布时间】:2015-10-12 05:22:41
【问题描述】:
所以我像这样连接到 google api 客户端。
googleApiClient = new GoogleApiClient.Builder(context)
.addApi(LocationServices.API)
.addApi(ActivityRecognition.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
googleApiClient.connect();
我在多个地方都使用了完全相同的代码,并且运行良好。这与您在他们的教程中看到的没有什么不同。但是现在:
java.lang.IncompatibleClassChangeError: 方法 'void com.google.android.gms.common.api.GoogleApiClient.connect()' 是 预期是接口类型,但发现是类型 虚拟(“java.lang.reflect.ArtMethod”的声明出现在 /system/framework/core-libart.jar)
堆栈跟踪报告的行是:
googleApiClient.connect();
使用播放服务 8.1
compile 'com.google.android.gms:play-services:8.1.0'
有人有这个吗?
【问题讨论】:
-
编译时使用的 JAR 文件与执行时使用的 JAR 文件版本不同。
-
谢谢。我做了一个清洁和重建仍然一样。关于如何确保 jar 文件得到更新的任何建议?
-
我没有说清理或重建。这些都不会解决版本控制问题。我有和以前一样的建议。如何实现是另一个问题。
-
但是您的建议是什么?您只是说“您编译的 JAR 文件与您执行的 JAR 文件的版本不同”?我没有看到我正在使用 Android Studio 编译并在手机上运行的建议。无法替换手机上的jar文件。