Java 将Azure连接到Android Studio

Java 将Azure连接到Android Studio,java,android,azure,android-studio,azure-mobile-services,Java,Android,Azure,Android Studio,Azure Mobile Services,我正在尝试将Azure连接到Android Studio。我按照Azure上的教程创建了一个移动服务。然后它给了我一些代码来添加到我的应用程序中,这样它们就可以连接了。然而,代码抛出了一个我无法理解的异常。我从头到脚在互联网上搜索,找不到答案。我认为这与依赖关系或库的导入方式有关(将jar文件粘贴到libs文件夹并添加依赖关系) 引发异常的代码抛出(由Azure提供): 试试看{ mClient=新的MobileServiceClient( "https://atm.azure-mobile.n

我正在尝试将Azure连接到Android Studio。我按照Azure上的教程创建了一个移动服务。然后它给了我一些代码来添加到我的应用程序中,这样它们就可以连接了。然而,代码抛出了一个我无法理解的异常。我从头到脚在互联网上搜索,找不到答案。我认为这与依赖关系或库的导入方式有关(将jar文件粘贴到libs文件夹并添加依赖关系)

引发异常的代码抛出(由Azure提供):

试试看{
mClient=新的MobileServiceClient(
"https://atm.azure-mobile.net/",
“JWjetFMUVaAXzHmqDVqhkkRhTGGjeW70”,
这
);
项目=新项目();
item.Text=“Awesome item”;
mClient.getTable(Item.class).insert(Item,newTableOperationCallback()){
未完成公共无效(项目实体、异常、ServiceFilterResponse响应){
if(异常==null){
//插入成功
Toast.makeText(上下文“WOOHOO”,Toast.LENGTH_LONG.show();
}否则{
//插入失败
Toast.makeText(上下文“失败”,Toast.LENGTH_LONG.show();
}
}
});
}
捕获(格式不正确){
}
例外情况:

java.lang.NoClassDefFoundError: com.google.gson.GsonBuilder
        at com.microsoft.windowsazure.mobileservices.MobileServiceClient.createMobileServiceGsonBuilder(MobileServiceClient.java:192)
        at com.microsoft.windowsazure.mobileservices.MobileServiceClient.<init>(MobileServiceClient.java:179)
        at com.microsoft.windowsazure.mobileservices.MobileServiceClient.<init>(MobileServiceClient.java:158)
        at com.atmlocator.hooper.kenneth.atmlocator.HomeActivity.onCreate(HomeActivity.java:218)
        at android.app.Activity.performCreate(Activity.java:5047)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2051)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2112)
        at android.app.ActivityThread.access$700(ActivityThread.java:139)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1223)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4917)
        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:997)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)
        at dalvik.system.NativeStart.main(Native Method)
java.lang.NoClassDefFoundError:com.google.gson.GsonBuilder
位于com.microsoft.windowsazure.mobileseservices.mobileseserviceclient.createmobileseservicegsonbuilder(mobileseserviceclient.java:192)
位于com.microsoft.windowsazure.mobileservices.MobileServiceClient。(MobileServiceClient.java:179)
位于com.microsoft.windowsazure.mobileservices.MobileServiceClient。(MobileServiceClient.java:158)
在com.atmlocator.hooper.kenneth.atmlocator.HomeActivity.onCreate(HomeActivity.java:218)上
位于android.app.Activity.performCreate(Activity.java:5047)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2051)上
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2112)上
在android.app.ActivityThread.access$700(ActivityThread.java:139)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1223)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:137)
位于android.app.ActivityThread.main(ActivityThread.java:4917)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:997)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:764)
在dalvik.system.NativeStart.main(本机方法)

根据我的经验,异常“NoClassDefFoundError”意味着您的项目缺少依赖项库jar文件。在这里,您的项目将丢失gson.jar文件

您可以从页面的“移动”->“android安装”部分下载zip文件“azuresdk-android-2.0.3.zip”。将zip文件解压缩到一个目录后,您可以在目录“azuresdk-android-2.0.3/mobileservices”中找到“gson-2.2.2.jar”文件和其他依赖项jar文件

然后,您可以将这些jar库文件导入到项目的目录“libs”中来解决这个问题。请参考SO线程了解如何导入外部库/jar


致以最良好的祝愿

我通过更新.jar文件解决了这个问题。尽管Microsoft文档告诉我要:

'gson:2.2.2'
这个版本不起作用。相反,我下载了一个更新的版本:

'gson:2.3.1'

这个.jar文件解决了这个问题

谢谢你的回答@Peter,但我已经完成了这些步骤。“gson-2.2.2.jar”文件已经包含在内,但在编译时似乎没有被识别。有什么想法吗?这是我包含的.jar编译'com.google.code.gson:gson:2.2.2'@分号IDEA官方帮助手册可以帮助您解决这个问题
'gson:2.3.1'