FileSystemNotFoundException: поставщик "gs" не установлен (Android) - PullRequest
0 голосов
/ 08 февраля 2020

Я пытаюсь подключиться к общедоступному 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, что я и сделал.

...