firebase 身份验证(访问被拒绝)"generate release signed APK"
firebase authentication (Access is denied) "generate release signed APK"
我正在使用 Firebase 身份验证电子邮件和密码进行登录。使用数据库设置 “以测试模式启动” 并将读写规则更改为“true”。通过 USB 调试,它确实可以完美运行。但是当我为发布签名的 APK 生成时,它在构建输出中显示错误,消息如下,
C:\Users\Public\MyAppName\app\firebase-database (Access is denied)
我也试过这个firebase-authentication-not-working-in-signed-apk
但仍然对我不起作用。
有什么解决办法吗?
我的代码:
class LoginActivity : AppCompatActivity() {
lateinit var auth: FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
supportActionBar!!.hide()
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
window.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
auth = FirebaseAuth.getInstance()
val curretuser = auth.currentUser
if (curretuser != null) {
startActivity(Intent(this@LoginActivity, ProfileActivity::class.java))
finish()
}
login()
}
private fun login() {
bt_loginbuttonLogin.setOnClickListener {
if ( TextUtils.isEmpty(et_usernameinputLogin.text.toString())){
et_usernameinputLogin.setError("Masukan User Name")
return@setOnClickListener
}
else if ( TextUtils.isEmpty(et_passwordinputLogin.text.toString())){
et_passwordinputLogin.setError("Masukan password")
return@setOnClickListener
}
auth.signInWithEmailAndPassword(et_usernameinputLogin.text.toString(), et_passwordinputLogin.text.toString())
.addOnCompleteListener {
if (it.isSuccessful) {
Toast.makeText(this@LoginActivity, "login berhasil", Toast.LENGTH_LONG).show()
startActivity(Intent(this@LoginActivity, ProfileActivity::class.java))
finish()
} else {
Toast.makeText(this@LoginActivity, "Email Atau Pasword Salah", Toast.LENGTH_LONG).show()
}
}
}
tv_registertextLogin.setOnClickListener{
startActivity(Intent(this@LoginActivity, RegistrationActivity::class.java))
}
}
用这个视频解决了,
感谢互联网。
我将 SHA 证书指纹添加到我的 firebase 控制台是错误的。
现在我可以生成发布签名的 APK。
我正在使用 Firebase 身份验证电子邮件和密码进行登录。使用数据库设置 “以测试模式启动” 并将读写规则更改为“true”。通过 USB 调试,它确实可以完美运行。但是当我为发布签名的 APK 生成时,它在构建输出中显示错误,消息如下,
C:\Users\Public\MyAppName\app\firebase-database (Access is denied)
我也试过这个firebase-authentication-not-working-in-signed-apk
但仍然对我不起作用。
有什么解决办法吗?
我的代码:
class LoginActivity : AppCompatActivity() {
lateinit var auth: FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login)
supportActionBar!!.hide()
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
window.addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS)
auth = FirebaseAuth.getInstance()
val curretuser = auth.currentUser
if (curretuser != null) {
startActivity(Intent(this@LoginActivity, ProfileActivity::class.java))
finish()
}
login()
}
private fun login() {
bt_loginbuttonLogin.setOnClickListener {
if ( TextUtils.isEmpty(et_usernameinputLogin.text.toString())){
et_usernameinputLogin.setError("Masukan User Name")
return@setOnClickListener
}
else if ( TextUtils.isEmpty(et_passwordinputLogin.text.toString())){
et_passwordinputLogin.setError("Masukan password")
return@setOnClickListener
}
auth.signInWithEmailAndPassword(et_usernameinputLogin.text.toString(), et_passwordinputLogin.text.toString())
.addOnCompleteListener {
if (it.isSuccessful) {
Toast.makeText(this@LoginActivity, "login berhasil", Toast.LENGTH_LONG).show()
startActivity(Intent(this@LoginActivity, ProfileActivity::class.java))
finish()
} else {
Toast.makeText(this@LoginActivity, "Email Atau Pasword Salah", Toast.LENGTH_LONG).show()
}
}
}
tv_registertextLogin.setOnClickListener{
startActivity(Intent(this@LoginActivity, RegistrationActivity::class.java))
}
}
用这个视频解决了, 感谢互联网。
我将 SHA 证书指纹添加到我的 firebase 控制台是错误的。 现在我可以生成发布签名的 APK。