我正在 Android 中开发 Firebase 存储。我在初始化 FirebaseStorage 引用时遇到问题。
我的代码:
MainActivity.java
public class MainActivity extends AppCompatActivity {
private StorageReference mStorage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseStorage storage = FirebaseStorage.getInstance(); // App crash in this line
mStorage = storage.getReferenceFromUrl("my firebase storage url");
} }
应用程序类
public class FirebaseApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
Firebase.setAndroidContext(this);
Firebase.getDefaultConfig().setPersistenceEnabled(true);
}
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}}
LogCat
Caused by: java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.sample.firebase.upload. Make sure to call FirebaseApp.initializeApp(Context) first.
at com.google.firebase.FirebaseApp.getInstance(Unknown Source)
at com.google.firebase.storage.FirebaseStorage.getInstance(Unknown Source)
at com.sample.firebase.upload.MainActivity.onCreate(MainActivity.java:34)
at android.app.Activity.performCreate(Activity.java:6100)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601)
at android.app.ActivityThread.access$800(ActivityThread.java:178)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:194)
at android.app.ActivityThread.main(ActivityThread.java:5637)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:960)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
应用程序在 MainActivity 中崩溃。日志显示,Firebase 未在应用程序中初始化,但我已经在应用程序类中初始化。
请帮帮我,给我一些解决方案。
最佳答案
请确保您已在 Gradle 中添加依赖项compile 'com.google.firebase:firebase-storage:11.0.4'
(应用级别)
如果仍然存在,您将面临同样的问题。
Error: com.google.firebase.storage.FirebaseStorage.getInstance(Unknown Source)
您可能正在使用 Firebase 身份验证。通过使 firebase-auth 和 firebase-storage 版本相同可以解决该问题。
compile 'com.google.firebase:firebase-storage:11.0.4'
compile 'com.google.firebase:firebase-auth:11.0.4'
另请确保您已在 Java 文件中导入语句
import com.google.firebase.storage.FirebaseStorage;
关于android - FirebaseApp 初始化时 Firebase 存储崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40106056/