我正在遵循关于 Android 的 Google Drive Quickstart 说明并让它在 Eclipse/Kepler 中运行。(Juno 很狡猾。)但是,我对 IntelliJ 更熟悉,所以我试图弄清楚如何以相应的方式在那里安装这些 API。
我想我在 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 来处理我的“真实”项目......好多了:)