原创

Android でファイルを google-cloud-storage にアップロードするにはどうすればよいですか? Android からクラウド ストレージにアクセスする Google クラウド ストレージの Android の例

温馨提示:
本文最后更新于 2024年04月12日,已超过 47 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

私のバケットはパブリックで、gsutil でテストしました。ファイルのアップロードは成功しました。

gsutil cp demo.mp4 gs://bucketname

私の Android プロジェクトでは、google-cloud-storage のバージョンは 2.36.1 です。

implementation "com.google.cloud:google-cloud-storage:2.36.1"

インターネット許可を付与しました。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

これはアップロードコードです。

Thread {
    val storage: Storage = StorageOptions.getDefaultInstance().service
    val file = Paths.get(getAbsolutePathFromUri(event.outputResults.outputUri))
    val bucketName = "backetname"
    val blobName = file.fileName.toString()
    val bucket = storage.get(bucketName)
    bucket.create(blobName, Files.readAllBytes(file))
}.start()

アプリがクラッシュするのは、val bucket = storage.get(bucketName)

エラーは次の正確です:

java.lang.IllegalAccessError: メソッド 'java.util.stream.Collector com.google.common.collect.ImmutableList.toImmutableList()' はクラス 'com.google.cloud.storage.UnifiedOpts$Opts' にはアクセスできません (' の宣言)「com.google.cloud.storage.UnifiedOpts$Opts」は /data/app/~~k3FPbsvDs05Ol9WHS7nIQA==/com.android.example.camerax.video-Yn9EyF9sDYOAtVY7XEmMUw==/base.apk!classes8.dex に表示されますます)

じゃあ gsutil は成功するのに Android は失敗するのでお願いしますか? Android でアップグレードしたらどうですか?

正文到此结束
热门推荐
本文目录