我正在关注Android 版 Google 云端硬盘快速入门说明 https://developers.google.com/drive/quickstart-android并让它在 Eclipse/Kepler 中工作。 (Juno 就是很狡猾。)但是,我对 IntelliJ 更熟悉,所以我试图弄清楚如何以相应的方式安装这些 API。
I think我被 Drive API 部分绊倒了。 Eclipse 插件以某种特殊的方式或位置安装 Drive。我添加了 Google-api-services-drive-v2-rev63-1.14.1-beta.jar 作为库,与其他库(Google-play-services 和 api_java_client)相同。但是当我运行该应用程序时,它会返回
java.lang.NoClassDefFoundError: com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential
我还收到了与 Drive$Builder 有关的 NoClassDefFoundError 错误。
在 IntelliJ 中,.jar 范围设置为“编译”,但 api_java_client 库除外,该库设置为“已提供”。他们都没有选中“导出”。
编辑:添加模块和依赖项。我现在有一个不同的错误:
04-07 00:39:59.766: ERROR/AndroidRuntime(10697): FATAL EXCEPTION: main
java.lang.NoClassDefFoundError:
com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential
at com.fallinghawks.weight4.App.onCreate(App.java:15)
App.java:15 是
credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE);
我可以找到它要求的课程......
编辑 2,按照 CrazyCoder 的说明添加库后:它编译,运行,但出现以下错误。我确信我错过了做正确的事情,我会在一分钟内重试,但与此同时错误是:
04-10 18:02:35.120: ERROR/AndroidRuntime(740): FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at com.google.api.services.drive.Drive$Builder.build(Drive.java:7301)
at com.example.DriveQuickstart.MyActivity.getDriveService(MyActivity.java:110)
at com.example.DriveQuickstart.MyActivity.onActivityResult(MyActivity.java:49)
at android.app.Activity.dispatchActivityResult(Activity.java:5293)
at android.app.ActivityThread.deliverResults(ActivityThread.java:3315)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:3362)
at android.app.ActivityThread.access$1100(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoClassDefFoundError: com.google.common.base.Preconditions
at com.google.api.services.drive.Drive.<clinit>(Drive.java:63)
(希望最终编辑):是的,我错过了一些东西,而这头野兽正在工作!太感谢了!!
现在我可以再次使用 IntelliJ 来处理我的“真实”项目......好多了:)