Я пытаюсь использовать API Gmail, и я столкнулся с этим исключение времени выполнения:java.lang.NoClassDefFoundError: Java/AWT/Desktop в JDK 1.7
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");
Этот код сидит в doInBackground()
методом AsyncTask
.
Я проверил и Android Studio настроен на использование JDK 1.7.
Почему это происходит и как я могу это исправить?
Это должно быть проблемой класса, вы не включаете во время выполнения, некоторый источник, который у вас был доступен во время компиляции. –
@MattClark Он на Android. – chrylis
Вы должны включить трассировку стека, а не только одну строку. Нам нужно знать, какая загрузка класса вызывает проблему. – chrylis