And*_*rea 6 eclipse android intellij-idea google-drive-api
我正在关注Android指令中的Google Drive快速入门,并让它在Eclipse/Kepler中运行.(朱诺只是简单的狡猾.)但是,我对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
Run Code Online (Sandbox Code Playgroud)
而且我还得到了一个与Drive $ Builder有关的NoClassDefFoundError.
在IntelliJ中,除了设置为"提供"的api_java_client库之外,.jar范围设置为"编译".他们都没有选中"导出".
编辑:添加模块和依赖项.我现在有一个不同的错误:
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)
Run Code Online (Sandbox Code Playgroud)
App.java:15是
credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE);
Run Code Online (Sandbox Code Playgroud)
我可以找到它要求的课程....
编辑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)
Run Code Online (Sandbox Code Playgroud)
(希望最终编辑):是的,我错过了一些东西,野兽正在工作!非常感谢!!
现在我可以再次使用IntelliJ来处理我的"真实"项目... sooooo要好得多:)
我从头开始创建IntelliJ IDEA项目,花了大约15分钟,工作得很好.
打开包装,打开readme.html
,花几分钟阅读它,以了解需要什么罐子.
使用com.example.drivequickstart
包和包的向导在IDEA中创建一个新的Android应用程序项目MainActivity
.使用Android 4.2.2 Google API作为平台.
将以下的jar从已下载的Drive API库复制到项目libs
文件夹中(您应该已经了解了从步骤2中使用的jar):
google-api-client-1.14.1-beta.jar
google-api-client-android-1.14.1-beta.jar
google-http-client-1.14.1-beta.jar
google-http-client-android-1.14.1-beta.jar
google-http-client-gson-1.14.1-beta.jar
google-oauth-client-1.14.1-beta.jar
gson-2.1.jar
jsr305-1.3.9.jar
google-api-services-drive-v2-rev65-1.14.1-beta.jar
从这些jar 配置项目库.可以通过在项目视图中选择jar,右键单击,Add as Library ...,将此库添加到主模块的依赖项来完成.
File
| Import Module
,ANDROID_SDK\extras\google\google_play_services\libproject\google-play-services_??lib
从现有来源浏览.
添加google-play-services.jar
到导入模块的依赖项,启用" 导出"复选框,它应如下所示.
将MainActivity
示例代码从快速入门,步骤4 复制到MainActivity.java
替换旧代码的文件中,AndroidManifest.xml
按照指南进行编辑.
构建,在模拟器或设备上运行以进行测试(不要忘记快速入门中的步骤1-2 ).
或者您可以下载并使用我按照上述步骤创建的完全隔离的样本(步骤6中的模块包含在项目中).
由于一些Camera应用程序错误(示例使用Camera而我的模拟器没有配置),它在模拟器中失败了,但是在Galaxy Nexus设备上工作.该示例使用设备相机拍摄照片并将其上传到您的Google云端硬盘.
归档时间: |
|
查看次数: |
5598 次 |
最近记录: |