Я хотел бы реализовать API Google Dev в приложении для Android.Я пытаюсь использовать примеры, предоставленные Google для Java, здесь: https://github.com/googlesamples/android-play-publisher-api/tree/master/v3/java/src/com/google/play/developerapi/samples
Я просто изменил их, чтобы предоставить InputStream файла client-secret.json, используя AssetManager для Android.
Тем не менее, это все еще не совсем совместимо с Android из-за зависимостей java.awt, как это выглядит в приведенной ниже ошибке:
java.lang.RuntimeException: An error occurred while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:354)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
at java.util.concurrent.FutureTask.run(FutureTask.java:271)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Ljava/awt/Desktop;
at com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp.browse(AuthorizationCodeInstalledApp.java:129)
at com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp.onAuthorization(AuthorizationCodeInstalledApp.java:113)
at com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp.authorize(AuthorizationCodeInstalledApp.java:81)
at net.myapp.AndroidPublisherHelper.authorizeWithInstalledApplication(AndroidPublisherHelper.java:140)
Для записи код в строке 140:
return new AuthorizationCodeInstalledApp(
flow, new LocalServerReceiver()).authorize(INST_APP_USER_ID);
, который включает зависимости:
import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
Как я могу преобразовать эти образцы, чтобы сделать их совместимыми с Android.Я понятия не имею, как они работают, поэтому я просто копирую / вставляю это в AsyncTask, который должен установить соединение и перечислить мои dev-файлы.