当前位置: 首页 > 知识库问答 >
问题:

应用程序在模拟器上工作得非常好,但在我的设备上运行时,它不会登录/注册

邢灿
2023-03-14

我没有太多的信息可以提供,因为我不知道问题是什么。当我在模拟器上运行它时,它工作得很好,但是当我试图在我的设备上运行它时,我无法通过登录/注册。这是我的登录代码,非常直接,注册是几乎相同的,所以我不会费心去发布它:

class LoginActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_login)

        login_button.setOnClickListener {

            performLogin()

        }

    }


    fun backToRegistration (view : View) {
        val registerIntent = Intent (this, RegisterActivity::class.java)
        startActivity(registerIntent)
    }

    private fun performLogin(){

        val logEmail = login_email.text.toString()
        val logPass = login_password.text.toString()

        Log.d("Main", "email is $logEmail")
        Log.d("Main", "pass is $logPass")

//        Patterns.EMAIL_ADDRESS.matcher(logEmail).matches()  <--- this method was used before for the if statement but I've replaced it as I kept getting the invalid email error for some reason.

        if (logEmail.contains("@") && logEmail.contains(".")) {

            if (logPass.length > 5) {

                FirebaseAuth.getInstance().signInWithEmailAndPassword(logEmail, logPass).addOnCompleteListener {
                    if (it.isSuccessful) {
                        Log.d("Login", "Successfully logged a user in using uid: ${it.result?.user?.uid}")
                        val intent = Intent(this, MainActivity::class.java)
                        intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
                        startActivity(intent)
                        return@addOnCompleteListener
                    }
                    //else if successful
                    Log.d("Login", "Failed to log in a user")

                }.addOnFailureListener {
                    Log.d("Main", "Failed to create user : ${it.message}")
                }
            } else {
                Toast.makeText(this, "Your password needs to be at least 6 characters long", Toast.LENGTH_LONG)
                    .show()
            }


        } else {
            Toast.makeText(this, "Please enter a valid email address", Toast.LENGTH_LONG).show()
        }

    }


}

这是我尝试登录后的logcat(级别设置为错误):

2019-03-12 17:23:56.496 730-17078/? E/voice: voice_is_in_call:in_call 0
2019-03-12 17:23:56.496 730-17078/? E/voice: voice_is_in_call:in_call 0
2019-03-12 17:23:56.496 730-17078/? E/voice: voice_is_in_call:in_call 0
2019-03-12 17:23:56.497 730-17078/? E/msm8974_platform: platform_check_backends_match: Invalid snd_device = 
2019-03-12 17:23:56.497 730-17078/? E/soundtrigger: audio_extn_sound_trigger_update_stream_status: invalid input device 0x0, for event 3
2019-03-12 17:23:57.290 3268-12575/? E/Volley: [2631] BasicNetwork.performRequest: Unexpected response code 400 for https://www.googleapis.com/identitytoolkit/v3/relyingparty/verifyPassword?alt=proto&key=AIzaSyDVSMXQ9fymqlaJiaDogQt7i6-5j3xUbmY
2019-03-12 17:23:57.370 884-1070/? E/libc: Access denied finding property "sys.thermal.para"
2019-03-12 17:23:58.028 912-976/? E/storaged: getDiskStats failed with result NOT_SUPPORTED and size 0
2019-03-12 17:23:59.683 730-5610/? E/soundtrigger: audio_extn_sound_trigger_update_stream_status: invalid input device 0x0, for event 2
2019-03-12 17:24:02.371 884-1070/? E/libc: Access denied finding property "sys.thermal.para"
2019-03-12 17:24:07.379 884-1070/? E/libc: Access denied finding property "sys.thermal.para"
2019-03-12 17:24:12.380 884-1070/? E/libc: Access denied finding property "sys.thermal.para"

共有1个答案

韩明德
2023-03-14

对于任何面临同样问题的人,根据你的情况,这里有两种可能的解决方案

>

  • 如果你的应用程序在app store上,并且你遇到了这个问题,请参考此处发布的答案谢谢@Swati将其提交给我。

    如果您只是试图在手机上运行它进行测试,请确保您在Firebase项目中提供了SHA证书指纹。如果你不确定这意味着什么,去你的项目设置-

    您需要输入两个SHA-1

    要让他们进入你的Android项目,点击窗口右上角的“Gradle”选项卡(使用windows,不确定mac)。

    然后导航到您的项目-

    它应该在你的窗口底部运行一些行,你的日志猫通常在那里,在它们中你会发现SHA-1和SHA256

  •  类似资料:
    • 我正在尝试在我的android项目中使用j汤。我以这种方式将我的j汤添加到我的项目中: 在我的项目根目录中创建了一个名为libs的文件夹,并将我的jar文件放在那里。然后,我转到 Java 构建路径下的项目属性 一切都很好,但当我试图在模拟器上运行它时,应用程序说[不幸的是,Weather BD已经停止],它显示了以下错误:LogCat 我的Jsoup代码(我在扩展片段的类下创建了一个内部类Asy

    • 我正在开发一个颤抖应用程序,其中包括谷歌登录火库。Google登录在模拟器上可以正常工作,但是当我导出签名捆绑包并在物理设备上进行测试时。它不起作用。我需要在 gradle 文件中添加任何内容吗?有人可以指导我吗?

    • 我的Android Studio应用程序使用了OpenCV和NDK。apk太大了,所以我决定不支持x86设备(我只想支持armeabi-v7a和arm64-v8a),因此C++开发人员删除了对x86 ABI的支持,他不再可用。在我的应用程序分级中,我有: abiFilters'ARMEABI-V7A'、'ARM64-V8A' 然而,现在,该应用程序将在Google Pixel真实设备(或真实设备)

    • 它可以在仿真器和真实设备(android版本4)上工作,但不能在真实设备(android版本7.0)上工作 相关代码: logcat: 05-23 10:31:39.464 173 42-17342/laftel.net.laftel E/AndroidRuntime:致命异常:主进程:laftel.net.laftel,pid:17342 java.lang.nullPointerExcepti

    • 我不太清楚为什么会发生这种情况。我一直在做一些研究,但情况太模糊了,我甚至很难找到解决办法。 我使用Android Studio创建了一个应用程序,并一直在一个虚拟仿真器上运行,其中< code>Toast功能使用这两行简单的代码运行良好 但当我在手机上运行这个应用程序时,它一直死机。我有Galaxy Grand Prime,甚至不确定它是否重要。

    • 我正在为我的Android应用程序使用Firebase身份验证和数据库。所有的一切都可以在一个仿真器上运行(Nexus 5X API 26、Nexus 6 API 26、Galaxy Nexus API 24)。当我在我的个人Galaxy S6 Edge API 24上启动应用程序时,我的Firebase相关项目都没有工作。 没有崩溃错误。 很抱歉写了这么长的日志,我似乎弄不明白问题所在。请让我知