Я пытаюсь подключиться к общедоступному c облачному хранилищу Google, используя код на основе примера, предоставленного Google по адресу https://github.com/googleapis/java-storage-nio в разделах «Быстрый запуск» и «Доступ к файлам»
Я добавил следующую строку в build.gradle модуля моего приложения (в документации Google написано, что нужно использовать 'compile', но Android Studio жалуется, что это должна быть либо реализация, либо api):
implementation 'com.google.cloud:google-cloud-nio:0.120.0-alpha'
Мой код:
try {
Path path = Paths.get(URI.create("gs://gcp-public-data-goes-16"));
List<String> lines = Files.readAllLines(path, StandardCharsets.UTF_8);
for (String line : lines) {
Log.i("bucket", line);
}
}
catch (IOException e) {
Log.e("bucket", e.toString());
}
Компилируется, развертывается в эмуляторе (API 28 с Google, x86_64), затем умирает со следующей ошибкой:
java.lang.RuntimeException: Unable to start activity ComponentInfo{pantherkitty.experiment.bucket/pantherkitty.experiment.bucket.MainActivity}: java.nio.file.FileSystemNotFoundException: Provider "gs" not installed
Я озадачен ошибкой "Провайдер" gs "не установлен" ... разве это не то, что должна делать библиотека, включенная в Gradle из google-cloud-nio? "
Если это имеет значение, сам проект был создан в Android Studio 3.5.3 как новый проект с пустым действием. Я запускаю его в эмуляторе, используя ПЗУ x86_64 Android 9 с поддержкой Google API. Документы Google создают впечатление, что единственной зависимостью, которую необходимо добавить, является ссылка Gradle на google-cloud-nio, что я и сделал.