我尝试使用 Google Tasks API 开发一个简单的应用程序。一些简单的事情正在变成一场噩梦。也许这很简单,也许是,但我想不通。
问题:我正在按照 Google 的 TasksSample.java
示例进行操作,但即使在 importing the libraries and dependencies required 之后我也无法编译。 .我正在使用 Google API Java 客户端版本 1.5.0
。
问题出在我访问 GoogleAccessProtectedResource 类时。导入是:
import com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource;
我总是,我的意思是总是,无论我使用什么代码都会遇到以下错误:
09-26 03:14:38.372: ERROR/dalvikvm(18731): Could not find class 'com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource', referenced from method com.greven.test.google.tasks.GoogleTasksTake100Activity.
09-26 03:14:38.402: ERROR/AndroidRuntime(18731): FATAL EXCEPTION: main
09-26 03:14:38.402: ERROR/AndroidRuntime(18731): java.lang.NoClassDefFoundError: com.google.api.client.googleapis.auth.oauth2.draft10.GoogleAccessProtectedResource
实在看不出问题出在哪里。我导入了所有需要的 .jars...我猜
正如您在这张图片中看到的,该类显然是导入的:
那么我还有什么其他选择可以解决这个问题?使用 Maven?我现在一无所知。我从没想过我会遇到这样的问题。哦,我还在不同的计算机、其他 Google java api 客户端(1.4 版)上进行了测试,同样的事情也发生了。提前致谢。
最佳答案
根据您的屏幕截图,您导入的 jar 似乎已导入到 Eclipse 中,但是为了使您的 Android 应用程序正常工作,您需要将这些 jar 放入特定文件夹中,以便将其添加到您的 APK 中,因此模拟器和Android 设备找到它。
看来您应该将这些 jar 放在项目根目录下名为 /libs
的文件夹中。看到这个问题:How can I use external JARs in an Android project?
您所引用的文章也使用了 /assets
文件夹,但这可能在几个 Android 版本之前发生了变化。
关于Android 谷歌 API Java 客户端 com.google.api.client.auth.oauth2.draft10,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7550125/