让Firebase使用java而不是Android

Jim*_*ski 6 java libgdx firebase

我试图启动并运行libgdx项目,我想要用户登录firebase.我发现SimleLogin类依赖于Android.jar.有没有办法解决这个问题,因为我希望桌面java应用程序和android一样运行.

以下是导致此问题的代码:

SimpleLogin authClient = new SimpleLogin(myRef);;

authClient.createUser("myuser@gmail.com", "much wow",
        new SimpleLoginAuthenticatedHandler() {

            @Override
            public void authenticated(FirebaseSimpleLoginError error,
                    FirebaseSimpleLoginUser user) {
                if (error != null) {
                    System.out.println(error);
                } else {
                    System.out.println(user);
                }

            }
        });
Run Code Online (Sandbox Code Playgroud)

而这在运行时会发生这种情况:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoClassDefFoundError: android/net/Uri
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)
Caused by: java.lang.NoClassDefFoundError: android/net/Uri
    at com.firebase.simplelogin.SimpleLogin.makeRequest(SimpleLogin.java:634)
    at com.firebase.simplelogin.SimpleLogin.createUser(SimpleLogin.java:417)
    at com.mygdx.game.MyGdxGame.create(MyGdxGame.java:63)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136)
    at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
Caused by: java.lang.ClassNotFoundException: android.net.Uri
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 5 more
Run Code Online (Sandbox Code Playgroud)

我是在谈论这个还是他们声称支持的Java平台真的只是android?

mim*_*ing 5

Firebase的Java产品分为两个部分,每个部分都有不同的依赖关系:

Firebase Java客户端库 - 使用此访问Firebase实时数据库.

文档稍微倾向于Android,但它在Java和可以调用Java的语言(例如Groovy)中运行良好

Firebase简单登录库 - 这使auth更容易,但如果您愿意,您可以自己处理身份验证.

这个库只适用于Android.通常,身份验证通常会以一堆特定于平台的技巧结束.这个库专注于那些技巧的Android集.

听起来你想在libgdx中使用auth.您是否可以扩展您的问题,以便更多地了解您的预期用例?

(复制自@ Ossama上面的评论)