Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NoClassDefFoundError:JDK1.7中的java/awt/Desktop_Java_Android_Noclassdeffounderror_Gmail Api - Fatal编程技术网

NoClassDefFoundError:JDK1.7中的java/awt/Desktop

NoClassDefFoundError:JDK1.7中的java/awt/Desktop,java,android,noclassdeffounderror,gmail-api,Java,Android,Noclassdeffounderror,Gmail Api,我试图使用Gmail API,但遇到了以下运行时异常: java.lang.NoClassDefFoundError: java/awt/Desktop 发生在此处(最后一行): 此代码位于AsyncTask的doInBackground()方法中 我已经检查过了,Android Studio配置为使用JDK 1.7 为什么会发生这种情况?我如何修复它?Android不支持所有JDK类,只有java和类。awt不是它的一部分。因此,找不到java.awt.Desktop。看起来您根本没有使用正

我试图使用Gmail API,但遇到了以下运行时异常:

java.lang.NoClassDefFoundError: java/awt/Desktop
发生在此处(最后一行):

此代码位于
AsyncTask
doInBackground()
方法中

我已经检查过了,Android Studio配置为使用JDK 1.7



为什么会发生这种情况?我如何修复它?

Android不支持所有JDK类,只有java和
类。awt
不是它的一部分。因此,找不到
java.awt.Desktop
。看起来您根本没有使用正确的API。您应该改为使用。

Android不支持所有JDK类,只有java和
java。awt
不是它的一部分。因此,找不到
java.awt.Desktop
。看起来您根本没有使用正确的API。您应该改为使用。

这必须是类路径问题,您在运行时没有包括编译时可用的某些源。@MattClark他在Android上。您必须包括堆栈跟踪,而不仅仅是单行。我们需要知道是哪个类负载触发了这个问题。啊,我错过了那个标记,但是,这不是问题的全部吗?java.awt软件包甚至可以在Android上使用吗?这解决了我:)这一定是一个类路径问题,你在运行时没有包括编译时可用的一些源。@MattClark他在Android上。你必须包括堆栈跟踪,而不仅仅是一行。我们需要知道是哪个类负载触发了这个问题。啊,我错过了那个标记,但是,这不是问题的全部吗?java.awt软件包甚至可以在Android上使用吗?这解决了我:)谢谢你的快速回答,我已经看到了Android快速启动页面,但我不能使用它,因为我正在为Android API 21开发它。Android Quickstart仅在API 23上支持,我已经搜索了几个小时,寻找一些可以工作的Gmail API代码,我发现的是:我不认为一些java代码在Android上不能工作。对于如何在Android 21而不是23上使用Gmail API,您有什么解决方案吗?@TalMantelmakher它说明了适用于API 23或更高版本的Android SDK包。这并不意味着只支持API级别23及更高版本。但每当我尝试更新这些SDK包时,我都会遇到错误,我只能通过将这些SDK包恢复到旧版本来修复。我做错什么了吗?不知道你犯了什么错误,我还是会说你做错了什么。问题是什么。请再试一次,并针对无法修复的错误提出新问题。感谢您快速回答,我已经看到了Android Quickstart页面,但我无法使用它,因为我正在为Android API 21开发它。Android Quickstart仅在API 23上支持,我已经搜索了几个小时,寻找一些可以工作的Gmail API代码,我发现的是:我不认为一些java代码在Android上不能工作。对于如何在Android 21而不是23上使用Gmail API,您有什么解决方案吗?@TalMantelmakher它说明了适用于API 23或更高版本的Android SDK包。这并不意味着只支持API级别23及更高版本。但每当我尝试更新这些SDK包时,我都会遇到错误,我只能通过将这些SDK包恢复到旧版本来修复。我做错什么了吗?不知道你犯了什么错误,我还是会说你做错了什么。问题是什么。请再试一次,并针对无法修复的错误提出新问题。
    InputStream stream = ReadMail.class.getResourceAsStream("/client_secret.json");
    Reader clientSecretReader = new InputStreamReader(stream);
    GoogleClientSecrets clientSecrets = GoogleClientSecrets.load(ReadMail.JSON_FACTORY, clientSecretReader);

    GoogleAuthorizationCodeFlow flow =
            new GoogleAuthorizationCodeFlow.Builder(
                    ReadMail.HTTP_TRANSPORT, ReadMail.JSON_FACTORY, clientSecrets, ReadMail.SCOPES)
                    .setDataStoreFactory(ReadMail.DATA_STORE_FACTORY)
                    .setAccessType("offline")
                    .build();


    AuthorizationCodeInstalledApp authCodeInstalledApp = new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver());
    Credential credential = authCodeInstalledApp.authorize("user");