파이어베이스 익명로그인 강의 09:01 부분 문의
1108
27 asked
해당 부분 에서 FirebaseAuth, Firebase는 자동으로 import가 되는데 Firebase.auth 부분에서 뒤에 auth가 자동 import가 뜨질 않고 Unresolved reference:auth 에러가 계속 발생합니다. 한 번만 확인해주시면 감사하겠습니다.
// LoginActivity
package com.fitdback.userinterface
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.Button
import android.widget.Toast
import com.fitdback.pointdetection.R
import com.google.firebase.auth.FirebaseAuth
import com.google.firebase.ktx.Firebase
class LoginTestActivity : AppCompatActivity() {
private lateinit var auth: FirebaseAuth
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_login_test)
// Initialize Firebase Auth
auth = Firebase.auth
val btnAnonymousLogin = findViewById<Button>(R.id.btnAnonymousLogin)
btnAnonymousLogin.setOnClickListener {
auth.signInAnonymously()
.addOnCompleteListener(this) { task ->
if (task.isSuccessful) {
// Sign in success, update UI with the signed-in user's information
Log.d("LoginTestActivity", "signInAnonymously:success")
val user = auth.currentUser
// updateUI(user)
} else {
// If sign in fails, display a message to the user.
Log.w("LoginTesetActivity", "signInAnonymously:failure", task.exception)
Toast.makeText(
baseContext, "Authentication failed.",
Toast.LENGTH_SHORT
).show()
// updateUI(null)
}
}
}
}
}
// build.gradle(app)
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion buildConfig.compileSdk
defaultConfig {
applicationId 'com.fitdback.userinterface'
minSdkVersion buildConfig.minSdk
targetSdkVersion buildConfig.targetSdk
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
arguments '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=gnustl_static'
cppFlags "-std=c++11","-frtti", "-fexceptions"
}
}
ndk {
abiFilters 'armeabi-v7a'
}
}
// externalNativeBuild {
// cmake {
// path "CMakeLists.txt"
// }
// }
lintOptions {
abortOnError false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
aaptOptions {
noCompress "tflite"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
repositories {
maven {
url 'https://google.bintray.com/tensorflow'
}
flatDir {
dirs 'libs'
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(':openCVLibrary341')
implementation deps.kotlin.stdlib.jdk
// implementation(name:'tensorflow-lite', ext:'aar')
implementation deps.android.support.appcompatV7
implementation deps.android.support.constraintLayout
implementation deps.android.support.design
implementation deps.android.support.annotations
implementation deps.android.support.supportV13
implementation deps.timber
implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly'
implementation 'org.tensorflow:tensorflow-lite-gpu:0.0.0-nightly'
// Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:29.2.1')
// Declare the dependency for the Firebase Authentication library
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-auth-ktx'
testImplementation deps.junit
androidTestImplementation(deps.android.test.espresso, {
exclude group: 'com.android.support', module: 'support-annotations'
})
}
Answer 4
0
Build -> Clean Project / Rebuild Project 실행 후 다시한번 시도해보세요.
0
선생님께서 말씀해주신 방법대로 전부해보았으나 역시 '.auth' 부분을 인식할 수 없다고 뜹니다 ㅠㅠ
e: C:\Projects\Android\Lec_Firebase_LoginEX\app\src\main\java\com\preferkim\lec_firebase_loginex\MainActivity.kt: (22, 25): Class 'com.google.firebase.auth.ktx.AuthKt' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.6.0, expected version is 1.4.2.
The class is loaded from C:/Users/shine/.gradle/caches/transforms-2/files-2.1/5ffb82c9e1b94a920f4ac7f686cb7b1d/jetified-firebase-auth-ktx-21.0.2-api.jar!/com/google/firebase/auth/ktx/AuthKt.class
위는 에러 전문이고 해결법이 보통 1.4.32 코틀린 버전을 쓰라는 것인데
이미 1.4.32를 쓰고 있는 중입니다.. 스튜디오가 4.1.3이라서 그런 걸까요...?
또, 급한대로 일단 프로젝트에서는
firebaseAuth = FirebaseAuth.getInstance()
방식으로 대체해서 쓰고 있는 중인데 파이어베이스에서도 잘 인식이 되서(로그인 정보가 보입니다) 그냥
' .auth ' 방식을 쭉 대체해서 써도 괜찮을까요..?
주말에도 답변해주셔서 정말 감사드립니다! (꾸벅)
0
안드로이드 스튜디오 최신 정식 릴리즈 버전(범블비),
코틀린 1.6.20 에서는 정상 작동하는 것을 확인했습니다.
대체 1.4.32에서는 왜 안되는 건지... 😥
선생님꼐서는 혹시 코틀린 버전 상관없이 잘 되시는 건가요..?
0
기존 프로젝트에서 사용하던 라이브러리들이 1.6 이상에서는 바뀐 문법 때문인지 에러가 계속 발생해서요 ㅠㅠ
'firebaseAuth = FirebaseAuth.getInstance()'
선생님 혹시 대신에 위 방식으로 쭉 대체해서 써도 괜찮을까요..? 나중에 Firebase DB도 사용하고 그럴텐데 혹여 나중가서 문제가 발생할 지 않을 지 걱정이 됩니다.. 🤣🤣🤣
0
넵 말씀해주신대로 이전 버전을 사용하시면 문제가 발생할 가능성이 있습니다.
기존 라이브러리를 변경하기 어려우시면, 이전 버전으로 다운그레이드 하셔서 사용하시고 생기는 트러블을 처리하셔야 할 것 같습니다 :)
0
안녕하세요
코드를 보니, 개인 프로젝트와 코드가 이것저것 섞인 것 같은데
Firebase로그인 부분만 별도로 만들어서 공유해주시겠어요?
새롭게 프로젝트를 만드셔서 MainActivity에 Firebase Auth부분만 구현하셔서 깃허브에 올려주시면 살펴보겠습니다.
0
말씀하신대로 올렸습니다! 살펴봐주셔서 감사합니다!!
// 추가
아래 플러그인을 추가해봐도 같은 증상입니다..!
'com.google.gms.google-services'
0
저도 .auth를 인식하지 못해서 rebuild해보니
동일한증상이 발생하여 좀찾아봤는데 코틀린 버전을 올려주니까되네요.
에러메세지는 아래와같구요
java.com.google.android.libraries.firebase.firebase_analytics_ktx_granule.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.0.
프로젝트 build.gradle고치고 sync맞춘다음 rebuild하면 잘됩니다.
이문제가맞나 싶어서 해당부분만 다시 지우고 rebuild하면 똑같은 에러가 뜨네요.ㅎㅎ
ext.kotlin_version ="1.8.0"하고
dependencies안에 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
이부분만 추가했습니다.
haero님은 에러메세지를보니 1.6.0으로 하시면되지않을까 싶네요
buildscript {
ext.kotlin_version = '1.8.0'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.google.gms:google-services:4.3.15'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
주사위앱 소개 및 레이아웃 설정 문제
0
59
2
안드로이드 에뮬레이터가 실행이 안 되요...ㅠ
0
105
2
30 강 소스 좀 올려 주십시요
0
80
2
onBackPressed 함수가 동영상 하고 다르게 동작합니다.
0
89
2
ListView 초기 실행 안됩니다.
0
94
2
코딩을 완료하고난후 앱 실행시 자동 종료
0
71
2
datavinding에서 오류가 납니다.
0
51
1
안드로이드 스튜디오 버전 차이로 초기 empyt activity 선택하면 안됩니다.
0
108
2
context의 구별에 대하여
0
69
2
"프롤로그에서 ..." 오류 관련해 직전 질문에 대한 추가 질문입니다.
0
67
2
"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류
0
156
3
해결완료
1
186
2
databinding 설정후 run하면 에러(해결)
0
222
2
databinding 설정 이후 실행시 에러
0
268
4
안드로이드 입문하는 사람입니다.
0
70
1
Firebase uid
0
75
3
activity_main 화면 다름
0
114
2
강의화면과 다른데 맞게진행되는것인가요...????
0
105
2
파이어베이스 질문
0
74
2
ActivityMainBinding에 오류가 납니다
0
134
2
선생님 onBackPressed 작동이 안되는거 같습니다
0
118
2
>app>res>layout 이 존재하지 않습니다.
0
119
2
안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐
0
747
2
안드로이드 스튜디오 오류 발생 시 대처 방법은 요?
0
289
2


