Google Api客户端NoClassDefFoundError ApacheHttpTransport
编译我的android应用程序时遇到问题。我的应用程序使用谷歌api客户端库,该应用程序在构建时保持关闭。我一直在尝试调试3个小时,我仍然无法弄清楚。任何人有想法解决这个问题?Google Api客户端NoClassDefFoundError ApacheHttpTransport
错误日志:
java.lang.NoClassDefFoundError: com.google.api.client.http.apache.ApacheHttpTransport at com.google.api.client.extensions.android2.AndroidHttp.newCompatibleTransport(AndroidHttp.java:53) at com.redditandroiddevelopers.googletasksclient.GoogleTasksClientActivity.(GoogleTasksClientActivity.java:67) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1429) at android.app.Instrumentation.newActivity(Instrumentation.java:1021) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) at android.app.ActivityThread.access$2300(ActivityThread.java:125) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) at dalvik.system.NativeStart.main(Native Method)
NoClassDefFoundError的是一个常见的错误时构建Android应用程序,它通常意味着一些所需的库的依赖没有得到dexed和内置到最终的APK。
回到你的问题,有一个特定的jar依赖google-http-client-1.7.0-beta.jar(它包含com.google.api.client.http.apache.ApacheHttpTransport)google api client图书馆。您不仅需要添加google api客户端库jar,还需要将google api客户端库所需的二级库jar添加到您的项目构建路径中。
右键单击您的android项目,在库选项卡中选择构建路径 - 配置构建路径,在这里添加所有必需的库。你可以在下载的zip文件的依赖关系目录中找到它们。
注意,因为SDK R17,libs目录下的所有jar文件将被自动添加到项目构建路径,在here更多细节。
为您的信息,我通过使用maven添加依赖关系,目前依赖关系是[链接](http://i.imgur.com/omril.png)。并且,它仍然会抛出错误。任何建议? – damniatx 2012-03-25 04:03:02
它看起来像我需要手动添加库,maven无法加载库。谢谢。 – damniatx 2012-03-25 07:29:05