为什么在实现位置监听器时我有java.lang.ClassnotFoundException? (使用ECLIPSE)

时间:2015-02-14 15:12:14

标签: java android eclipse location google-play-services

我知道类似的问题已经过去了,我已经阅读并尝试实施所提到的解决方案,但没有任何工作。具体问题是这样的(使用ECLIPSE):

我正在尝试在我的应用中的一个活动(通过菜单选择触发)中实现位置感知。只要我的代码看起来像,

“公共类MealHistoryActivity扩展了活动{...}”,

我没有收到任何错误。一旦我将其修改为

public class MealHistoryActivity extends Activity实现ConnectionCallbacks,OnConnectionFailedListener,LocationListener {..“,

它会引发以下错误:

E / AndroidRuntime(5027):引起:java.lang.ClassNotFoundException:在路径上找不到类“com.package.activities.MealHistoryActivity”:DexPathList [[zip file“/data/app/com.package .activities-2 / base.apk“],nativeLibraryDirectories = [/ vendor / lib,/ system / lib]]

我尝试过:

  1. 添加图书馆项目(支持图书馆以及谷歌播放服务)并清理所有项目。
  2. 为应用程序和库项目包含Android私有库。
  3. 仔细检查android清单中的API密钥以及与之关联的SHA-1指纹密钥。
  4. 使用清单中所有位置服务所需的互联网和网络权限。
  5. 非常感谢有关如何解决这个问题的任何想法,因为我最近几天坚持了这个想法!

1 个答案:

答案 0 :(得分:0)

该错误表明google-play-service项目中的类未加载。

确保在工作空间中引用项目的副本,而不是sdk目录中的副本。尝试执行此操作或从工作区中删除Google服务项目,然后重做this guide中的步骤。

另一个可能的原因是版本不匹配。如果您的设备版本低于上述指南中指定的版本,则谷歌服务项目根本不会安装在您的设备上。