FileSystemNotFoundException:提供程序;gs";未安装(Android)

FileSystemNotFoundException:提供程序;gs";未安装(Android),android,google-cloud-storage,Android,Google Cloud Storage,我正在尝试连接到一个公共的Google云存储桶,使用的代码基于Google在“快速启动”和“访问文件”下提供的示例 我在我的应用程序模块的build.gradle中添加了以下内容(谷歌的文档称使用“编译”,但Android Studio抱怨它必须是“实现”或“api”): implementation'com.google.cloud:googlecloud-nio:0.120.0-alpha' 我的代码: try { Path path = Paths.get(URI.create("

我正在尝试连接到一个公共的Google云存储桶,使用的代码基于Google在“快速启动”和“访问文件”下提供的示例

我在我的应用程序模块的build.gradle中添加了以下内容(谷歌的文档称使用“编译”,但Android Studio抱怨它必须是“实现”或“api”):

implementation'com.google.cloud:googlecloud-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());
}
我被“提供商'gs'未安装”错误搞糊涂了。。。这难道不是谷歌云nio的Gradle提供的库应该做的吗


如果重要的话,项目本身是在Android Studio 3.5.3中创建的,作为一个新项目,活动为空白。我使用x86_64 Android 9 ROM和Google API支持在模拟器中运行它。谷歌的文档给人的印象是,唯一需要添加的依赖项是对谷歌云nio的Gradle引用,我也这么做了。

在Android上访问云存储桶的首选方式是通过Firebase SDK。这可能是“首选”方式,但实际上这是唯一的方式吗?或者谷歌的官方Java库至少在理论上应该与Android一起工作(或者毫无疑问不与Android一起工作)。我读过几十篇恐怖故事,涉及到一些开发人员,他们随意将Firebase添加到Android项目中,使用了其功能的某些方面,却没有完全理解与之相关的每一个细节,然后,他们发现自己突然受到威胁,因为谷歌的一些默认/隐含的框架行为被判死刑,这些行为甚至不一定是显而易见的,更不用说恶意了。那太可怕了。你愿意分享这几十个故事中的几个吗?Firebase团队处理的大多数问题通常是用户错误。我从来没有听说过云存储有问题。这通常是对其他产品的误解,特别是数据库产品被错误地使用。Firebase支持通常会为那些有误解的人提供临时积分,以便他们能够以新的、正确的理解继续工作。
java.lang.RuntimeException: Unable to start activity ComponentInfo{pantherkitty.experiment.bucket/pantherkitty.experiment.bucket.MainActivity}: java.nio.file.FileSystemNotFoundException: Provider "gs" not installed