簡體   English   中英

java.lang.NoClassDefFoundError:JDK 1.7中的java / awt / Desktop

[英]java.lang.NoClassDefFoundError: java/awt/Desktop in JDK 1.7

我正在嘗試使用Gmail API,但遇到此運行時異常:

java.lang.NoClassDefFoundError: java/awt/Desktop

它發生在這里(在最后一行):

    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");

這段代碼位於AsyncTaskdoInBackground()方法中。

我已經檢查過,並且Android Studio已配置為使用JDK 1.7。

為什么會發生這種情況,我該如何解決?

Android不支持所有JDK類,只有一個子集,java.awt不是其中的一部分。 因此,找不到java.awt.Desktop 似乎您根本沒有使用正確的API。 您應該改用Android快速入門

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM