2016-12-31 8 views
0

Firebaseストレージを使用して画像/動画/オーディオを保存しています。私は両方のAPIキーを持っています:デバッグとリリース。私は電話でアプリケーションを実行すると、すべて正常に動作します。しかし、私がリリースapkを生成すると、時にはうまく動作し、他の時には単純に動作しません。Firebaseストレージにデータが表示されない

何が原因なのでしょうか?

FirebaseStorage storage = FirebaseStorage.getInstance(); 
     StorageReference storageRef = storage.getReferenceFromUrl("gs://manager-plus.appspot.com"); 
     StorageReference riversRef = storageRef.child("media/" + mediaDataList.get(i).name+SystemClock.elapsedRealtime()); 
     Uri uri; 
     if (mediaDataList.get(i).type == 1) 
      uri = Uri.fromFile(LoadBitmaps.saveBitmap(LoadBitmaps.decodeSampledBitmap(new File(mediaDataList.get(i).url), 100, 100))); 
     else uri = Uri.fromFile(new File(mediaDataList.get(i).url)); 
     uploadTask = riversRef.putFile(uri); 
     uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
        Long size = Long.parseLong(mediaDataList.get(i).size) + Prefs.getInstance(getApplicationContext()).getSize(); 
        if (Double.parseDouble(formatSize(size)) <= 2.0) { 
         Prefs.getInstance(getApplicationContext()).setSize(Long.parseLong(mediaDataList.get(i).size) + Prefs.getInstance(getApplicationContext()).getSize()); 
         DataOnline dataOnline = new DataOnline(); 
         dataOnline.link = String.valueOf(taskSnapshot.getDownloadUrl()); 
         dataOnline.type = mediaDataList.get(i).type; 
         dataOnline.name= mediaDataList.get(i).name; 
         dataOnline.save(); 
        } else { 
         Toast.makeText(getApplicationContext(), "Please subscribe to the paid version", Toast.LENGTH_SHORT).show(); 
        } 
       } 
      } 
     }) 
       .addOnFailureListener(new OnFailureListener() { 
        @Override 
        public void onFailure(@NonNull Exception exception) { 
         Toast.makeText(getApplicationContext(), exception.getMessage(), Toast.LENGTH_LONG).show(); 
        } 
       }) 
       .addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() { 
        @Override 
        public void onProgress(UploadTask.TaskSnapshot taskSnapshot) { 
         //calculating progress percentage 
         double progress = (100.0 * taskSnapshot.getBytesTransferred())/taskSnapshot.getTotalByteCount(); 
         build.setProgress(100, (int) progress, false); 
         notificationManager.notify(101, build.build()); 
        } 
       }); 

おかげで、そんなにデバッグ後

+0

、「時にはそれが単にない罰金と他の回作品」あなたは何の例外を得ていますか? – riggaroo

+0

私には例外がありません。私はアンドロイドスタジオからアプリケーションを実行しているすべてが完全に動作します。クラウド上のすべてをアップロードしてプレビューできます。ただし、署名付きapkを生成すると、クラウドに何かをアップロードするとアップロードされ、ストレージセクションで見ることができますが、アプリでプレビューしようとすると表示されません。 –

+0

コードを表示する、データを取得するノードを管理する方法 – Rahul

答えて

1

が、それは問題が原因firebaseではなかったことが判明しました。それは実際にはアクティブアンドロイドに起因していました。リンクをローカルにキャッシュするために使用していたライブラリ。

したがって、この問題に直面して誰のため: してください最初のチェック: developer.android.com/studio/build/shrink-code.html

は、私の場合は、砂糖の代わりにORMのactiveandroidを使用して、私の問題は解決されました。

あなたの声明により多くの情報を提供しなければならない幸運

関連する問題