我正在使用 firebase Admin SDK 并且我在运行时收到此错误:
Error:(22, 36) java: cannot access com.google.auth.Credentials
class file for com.google.auth.Credentials not found
Run Code Online (Sandbox Code Playgroud)
这是抛出错误的构造函数
import com.google.auth.oauth2.GoogleCredentials;
import com.google.firebase.FirebaseApp;
import com.google.firebase.FirebaseOptions;
import com.google.firebase.database.*;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
class Database{
private FirebaseDatabase firebaseDatabase;
Database(){
InputStream serviceAccount = Database.class.getResourceAsStream("reading-incentive-firebase-adminsdk-n556s-1b742e4b58.json");
FirebaseOptions options;
try {
options = new FirebaseOptions.Builder()
.setCredentials( GoogleCredentials.fromStream(serviceAccount))
.setDatabaseUrl("https://reading-incentive.firebaseio.com")
.build();
FirebaseApp.initializeApp(options);
} catch (IOException e) {
e.printStackTrace();
System.out.println("Error loading database");
}
firebaseDatabase = FirebaseDatabase.getInstance();
}
}
Run Code Online (Sandbox Code Playgroud)
这是第 22 行
.setCredentials(GoogleCredentials.fromStream(serviceAccount))
我在 IntelliJ 中使用 java sdk 1.8 …
我一直主要在 API 26 和 27 上测试我的应用程序,这是我现在正在学习的一个大错误。该应用程序在 API 24、25、26 和 27 中启动时没有崩溃。Google 的发布前报告随后引起了我对 API 23 及以下版本的崩溃的注意。日志有关于菜单的列表,所以我调试它并发现它在我调用时崩溃
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.actionbar_menu, menu);
这是之后返回的错误:
android.content.res.Resources$NotFoundException: Resource ID #0x7f06006b
at android.content.res.Resources.getValue(Resources.java:1351)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:328)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:193)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:186)
at android.support.v7.content.res.AppCompatResources.getDrawable(AppCompatResources.java:100)
at android.support.v7.view.menu.MenuItemImpl.getIcon(MenuItemImpl.java:491)
at android.support.v7.view.menu.ActionMenuItemView.initialize(ActionMenuItemView.java:125)
at android.support.v7.widget.ActionMenuPresenter.bindItemView(ActionMenuPresenter.java:210)
at android.support.v7.view.menu.BaseMenuPresenter.getItemView(BaseMenuPresenter.java:187)
at android.support.v7.widget.ActionMenuPresenter.getItemView(ActionMenuPresenter.java:196)
at android.support.v7.widget.ActionMenuPresenter.flagActionItems(ActionMenuPresenter.java:505)
at android.support.v7.view.menu.MenuBuilder.flagActionItems(MenuBuilder.java:1164)
at android.support.v7.view.menu.BaseMenuPresenter.updateMenuView(BaseMenuPresenter.java:95)
at android.support.v7.widget.ActionMenuPresenter.updateMenuView(ActionMenuPresenter.java:229)
at android.support.v7.view.menu.MenuBuilder.dispatchPresenterUpdate(MenuBuilder.java:291)
at android.support.v7.view.menu.MenuBuilder.onItemsChanged(MenuBuilder.java:1051)
at android.support.v7.view.menu.MenuBuilder.startDispatchingItemsChanged(MenuBuilder.java:1078)
at android.support.v7.app.AppCompatDelegateImplV9.preparePanel(AppCompatDelegateImplV9.java:1419)
at android.support.v7.app.AppCompatDelegateImplV9.doInvalidatePanelMenu(AppCompatDelegateImplV9.java:1657)
at android.support.v7.app.AppCompatDelegateImplV9$1.run(AppCompatDelegateImplV9.java:134)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at …Run Code Online (Sandbox Code Playgroud)