Я пытаюсь создать простое приложение для календаря на android и собирался использовать API календаря Google, и целевого SDK 24 и выше, но я вижу потенциальную проблему, у Google нет эквивалентной реализации для this on android, но у них есть реализация java, которая приводит к другой проблеме, скрытой реализации POSIX, которую я не знаю, как обойти, она находится внутри их new FileDataStoreFactory(...)
способ . Каковы мои варианты и есть ли способ обойти это? Если я запускаю на SDK 26, он работает нормально, метод авторизации потока .setDataStoreFactory, но все, что ниже, я получу следующую ошибку:
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/nio/file/attribute/PosixFilePermission;
at com.google.api.client.util.store.FileDataStoreFactory.setPermissionsToOwnerOnly(FileDataStoreFactory.java:141)
// Build flow and trigger user authorization request.
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(
HTTP_TRANSPORT, JSON_FACTORY, clientSecrets, SCOPES)
* * * this is the part where i will struggle if i have to use an SDK lower than 26 * * *
.setDataStoreFactory(new FileDataStoreFactory(new java.io.File(TOKENS_DIRECTORY_PATH)))
.setAccessType("offline")
.build();
для получения дополнительной справки, пожалуйста, посмотрите на их github для FileDataStoreFactory class , в строке 77 возникает проблема setPermissionsToOwnerOnly(dataDirectory);
, и после более глубокой копки я считаю, что нашел подсказку, почему Paths не работает внутри FDSF, потому что минимального требования SDK 'Пути были добавлены на уровне API 26'