如何初始化Firebase存储?
问题描述:
引起:java.lang.IllegalStateException:默认FirebaseApp在此进程中未初始化com.augmentedreality.projectar。确保首先调用FirebaseApp.initializeApp(Context)。如何初始化Firebase存储?
对于过去的48小时里,我一直停留在这个例外,并且至今没有线索什么可能会造成这一点,我提到的所有这些问题的答案:
- Default FirebaseApp is not initialized
- Getting “Default FirebaseApp is not initialized in this process” despite initializing FirebaseApp while using FirebaseStorage
- FirebaseApp not initializing despite FirebaseApp.initializeApp() being called in Application class
- How can I solve the Android Firebase error “Default FirebaseApp is not initialised in this process”?
但问题仍然存在。我正在使用Firebase存储以及Firebase数据库。我使用Firebase存储使用Service
下载图像。 Service
与Github [here]的Firebase快速入门示例相同。
现在,除了在该行抛出:
mStorageRef = FirebaseStorage.getInstance().getReferenceFromUrl("https://firebasestorage.googleapis.com/v0/b/xxxxxxx-xx-xxxxxx.appspot.com/o/Coca-Cola.jpg?alt=media&token=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
基于对上述提到的问题的答案,我已经做了以下修改:
1)AppMain.java
public class AppMain extends Application {
@Override
public void onCreate() {
super.onCreate();
FirebaseApp.initializeApp(this);
Firebase.setAndroidContext(this);
//if(!FirebaseApp.getApps(this).isEmpty()) {
// FirebaseDatabase.getInstance().setPersistenceEnabled(true);
//}
}
}
2)依赖关系
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.google.firebase:firebase-core:9.6.1'
compile 'com.google.firebase:firebase-database:9.6.1'
compile 'com.firebase:firebase-client-android:2.5.2+'
compile 'com.google.firebase:firebase-storage:9.6.1'
compile 'com.google.android.gms:play-services:10.0.0'
}
问题:如何解决这个问题?
答
删除
FirebaseApp.initializeApp(this);
Firebase.setAndroidContext(this);
compile 'com.firebase:firebase-client-android:2.5.2+'
你不需要他们..
使用
compile 'com.google.firebase:firebase-core:10.0.1'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.google.firebase:firebase-storage:10.0.1'
compile 'com.google.android.gms:play-services:10.0.1'
private DatabaseReference mDatabase;
// ...
mDatabase = FirebaseDatabase.getInstance().getReference();
代替, 为完整的说明 - Firebase Docs
答
而不是通过修改这个代码, 你sh应该更新Android Studio版本。可能是你的问题会解决。
您可以下载整个快速入门应用程序,并将自己的代码移入其中,而不必将其拉开以使用自己的代码。 https://github.com/firebase/quickstart-android/tree/master/storage –