Firebaseストレージを使用して画像/動画/音声を保存しています。デバッグとリリースの両方のAPIキーがあります。電話でアプリケーションを実行すると、すべてが正常に機能します。ただし、リリースapkを生成すると、正常に機能する場合と機能しない場合があります。
何がそれを引き起こす可能性があるかについてのアイデアはありますか?
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());
}
});
ありがとう、
非常に多くのデバッグを行った結果、問題はFirebaseによるものではないことが判明しました。それは実際にはactive-androidによるものでした。リンクをローカルにキャッシュするために使用していたライブラリ。
したがって、この問題に直面している人は、最初に次のことを確認してください:developer.android.com/studio/build/shrink-code.html
私の場合、activeandroidの代わりにsugar ORMを使用しましたが、問題は解決しました。
がんばろう
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加