Android Studio Bumblebee 가 되면서 Gradle이 기존과 약간 다르게 변했는데 그로 인해 Firebase 연동 시 튜토리얼과 차이가 생겨 적용하면서 시행착오가 있었다.
그래서 같은 문제를 겪는 다른 사람들도 있을 것 같아 글로 남겨 두려고 한다.
1. Firebase 사이트에서 프로젝트 생성
Firebase 프로젝트 생성
https://console.firebase.google.com/u/0/?hl=ko
위 사이트로 접속해서 프로젝트 추가를 누른다.
프로젝트 이름 지정
간단하게 TEST로 이름을 지정하고 계속
프로젝트 만들기
필자는 애널리틱스 사용 안함으로 체크하고 진행
만들기까지 클릭
2. 안드로이드 스튜디오에서 테스트용 프로젝트 생성
프로젝트 생성
Empty Activity 클릭 후 Next
앱 기본정보 입력
Finish로 생성
3. Firebase 사이트에 앱 연결
안드로이드 앱 등록
Firebase 프로젝트 메인 화면에서 안드로이드 아이콘을 클릭해서 앱 추가
앱 등록
안드로이드 스튜디오에서 생성한 정보와 동일하게 입력
디버그 서명 인증서는 Windows 사용자 기준으로 CMD를 열어서
keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
위 내용을 입력 후에 비밀번호로 android 를 입력하면 아래와 같이 내용이 나온다.
SHA1에 해당하는 부분을 복사 후에 디버그 서명 인증서에 붙여 넣으면 된다.
구성 파일 다운로드
다운로드 버튼을 눌러 파일을 다운로드 받아준다.
안드로이드 스튜디오를 프로젝트 보기로 전환
APP 내부 최상위에 해당 파일을 넣어준다
Firebase SDK 추가
이 부분이 현재 최신 안드로이드 스튜디오와 내부 구조가 살짝 달라서 애먹었던 부분이다.
튜토리얼은 무시하고 아래에 추가해둔 코드 뭉치를 참고하면 된다.
프로젝트 수준의 build.gradle는 아래와 같이 buildscript 부분을 추가해주면 된다.
// 이 부분 추가
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.10'
}
}
// 이 아래는 프로젝트 생성시에 존재하는 기본 코드
plugins {
id 'com.android.application' version '7.1.2' apply false
id 'com.android.library' version '7.1.2' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
그다음 앱 수준의 build.gradle에는 아래와 같이 추가한다.
주석이 되어있는 줄 이외는 프로젝트 생성 시 기본적으로 생성되는 코드들이다.
plugins {
id 'com.android.application'
id 'com.google.gms.google-services' // 이 부분 추가
}
android {
compileSdk 32
defaultConfig {
applicationId "com.example.test"
minSdk 21
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:29.2.1') // 이 부분 추가
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
gradle을 변경한 후에는 항상 Sync now를 통해 필요한 파일들을 동기화 해주자 !
설정 종료
위와 같이 설정하면 안드로이드 스튜디오와 Firebase의 기본적인 연동은 종료된다.
'Mobile > Android' 카테고리의 다른 글
안드로이드 헤드업 알림 구현하기 (0) | 2022.04.04 |
---|