Debug & Think

[Unity] 구글 로그인 연동 시도 -2(완료 포함) 본문

카테고리 없음

[Unity] 구글 로그인 연동 시도 -2(완료 포함)

J.Note 2025. 8. 13. 17:21



본 내용은 Unity로 구글 로그인 적용하면서 생겼던 일들을 적어두면서 진행했던 내용이다.

 

개발하면서 적은 노션형식 그대로 진행 가져와서 정리한 내용이며,

대략 1달 정도 삽질하며 노력한 것을 기록하기 위한 글이다.

 

 

연동 적용된 방법은  ⬇️ 아래 링크에서 확인할 수 있다.

Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)

 

Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)

Unity 2022.3.3 + Firebase Auth + Google Sign-In 연동 기록1. 개발 환경Unity 버전: 2022.3.3f1 (LTS)Firebase Auth Unity 패키지: FirebaseAuth_11.6.0Google Sign-In 플러그인: google-signin-plugin-1.0.4 (Parse 폴더 제외 후 임포트)빌드

debug-think.tistory.com

 


25.07.22~24

 

참고. 

https://developer-growth-history.tistory.com/82

https://b-note.tistory.com/150

본프로젝트에서 진행하다가 1주일정도 고생해서 빈프로젝트에서 다시 시작.

 

🟦 Firbase Import

1. Firebase Unity SDK 다운

 

2. Auth unitypackage import

🟦 GoogleImport

1. Google-signin-unity 다운

Release Version 1.0.4 · googlesamples/google-signin-unity

 

2. unitypackage import

프로젝트에 임포트하면 Unity.Task 관련해서 충돌 에러가 발생하는데 Assets > Parse  폴더를 지우면 해결 가능하다.

설치 후 패키지 문제 없는지 테스트 빌드를 진행

  • Enable Android Auto-resolution → enable

기본적으로 안드로이드 개발환경 자체가 다양한 종속성을 가지고 있습니다. 그래서 어떤 라이브러리를 이용하고자 한다면 그 라이브러리에 포함되어 있는 다른 라이브러리가 존재합니다. 이와 같이 다양한 라이브러리가 얽히고 섥히는 관계를 종속성이라고 하는데, 이러한 종속성을 처리하면서 유니티 안에서 실질적으로 안드로이드 배포가 가능하도록 Firebase Library를 셋팅해주는 과정이라고 생각하면 됩니다.

  • 에러

 

1. 누락된 폴더 수동으로 생성

먼저, Unity 프로젝트 폴더에서 Assets/Plugins/Android 폴더가 있는지 확인하고, 없다면 해당 폴더를 수동으로 만들어 주세요.

  1. 경로: Assets/Plugins/Android
  2. 폴더를 생성한 후, Unity 에디터에서 다시 Android Resolver를 실행하세요:

만약 위와 같이 Enable 팝업이 안뜨면 수동으로 설정

2. Gradle 템플릿 사용 설정 확인

Unity에서 커스텀 Gradle 템플릿을 사용하려면 설정을 변경해야 합니다.

  1. Unity 에디터에서 File > Build Settings로 이동한 후, Player Settings를 클릭합니다.
  2. Android 탭을 선택하고, Publishing Settings 섹션 아래에서 Custom Gradle Template 옵션을 활성화하세요.
  3. 이 옵션을 활성화하면, Unity가 mainTemplate.gradle 파일을 자동으로 프로젝트 폴더로 복사하려고 시도합니다.

다시 빌드 실행.

  • 또 에러 발생.

 

 

 

현재 안드로이드 32로 돼있는데 34 이상으로 설정해야 한다는 경고

그러고 빌드 누르면 update 하라는 팝업이 뜬다.

 

 

 

  • 또 에러 발생
  • Win32Exception: ApplicationName='powershell', CommandLine='-ExecutionPolicy Bypass -File "C:/Program Files/Unity/Hub/Editor/2022.3.3f1/Editor/Data/PlaybackEngines/AndroidPlayer/Tools\RunElevatedCommand.ps1" -ArgumentList Ignored "C:\Program Files\Unity\Hub\Editor\2022.3.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\cmdline-tools\6.0\bin\sdkmanager.bat" "C:\Program Files\Unity\Hub\Editor\2022.3.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK" ""platforms;android-36"" "C:\Users\gksmf\Desktop\GitFork\ThirdPartyConnect_Copy\Temp\AndroidSDKTool"', Native error= 지정된 파일을 찾을 수 없습니다.

sdkmanager.bat 파일을 찾을 수 없다는 것

1. sdkmanager 존재 확인.

 

2.관리자 권한으로 unity hub 실행해서 빌드해도 에러 발생.

 

3. PowerShell 실행 정책 변경

  • PowerShell관리자 권한으로 실행합니다.
    • 시작 메뉴에서 PowerShell을 검색한 후, 마우스 오른쪽 버튼을 클릭하고 **"관리자 권한으로 실행"**을 선택합니다.
  • PowerShell에서 다음 명령어를 입력하여 실행 정책을 변경합니다:
    • MachinePolicy: 시스템 전체에 대한 정책.
    • UserPolicy: 사용자에 대한 정책.
    • Process: 현재 PowerShell 프로세스에 대한 정책.
    • CurrentUser: 현재 사용자에 대한 정책.
    • LocalMachine: 로컬 머신에 대한 정책.
  • CurrentUser만 했는데 혹시 몰라서 LocalMachine도 변경

 

4. 그래도 에러 발생

돌이켜보니 sdkmanager.bat 를 찾으려고 하는건데 Unity에서는 경로가 SDK까지만 돼있었고,

 

 

실제 파일은 더 하위에 있는것을 확인

 

 

경로 바꿔주고

 

 

 

 

 

5. 그래도 에러 발생

unity 에서 자동으로 api 다운받게 하고 싶어서 1,2,3번 다 해봤지만 도저히 안되길래

4번 PowerShell로 직접 실행해서 다운 완료.

체크리스트 설명

체크리스트  설명
1. RunElevatedCommand.ps1 존재 여부 Tools 폴더에 없으면 Android Build Support 재설치
2. cmdline-tools/latest/bin/sdkmanager.bat 중첩되지 않도록 정확히 구성해야 함
3. Unity 관리자 권한으로 실행 경로 접근 및 PowerShell 실행 오류 방지
4. PowerShell 직접 실행 경로가 제대로 되었는지 확인 가능

 

 

 

 

이후 다시 빌드 실행. 또 에러 발생

cd "C:\Users\{사용자이름}\AppData\Local\Android\Sdk\cmdline-tools\latest\bin"
sdkmanager.bat --list

 

🔍 문제 요약

Unity가 내부적으로 사용하는 Android 빌드 도구(sdkmanager, build-tools, gradle 등)는 Java 17 이상의 버전이 필요합니다.

하지만 현재 시스템에 설치된 Java 버전이 17 미만이라 발생하는 에러입니다.

✔️ 1. Java 17 설치

공식 OpenJDK에서 Java 17을 설치합니다:

  • OpenJDK 17 다운로드 (Adoptium)

설치 시 환경변수 PATH에 자동으로 추가됩니다.

설치 후 PowerShell이나 명령 프롬프트에서 아래 명령어로 확인합니다:

java -version

 

Unity Android JDK 경로 변경

❌ 오류 내용 요약:

"Incompatible Java version '17'"

Unity의 Android 빌드는 JDK 11 (64비트)만 지원하며,

현재 설정한 JDK 17은 지원되지 않아서 거부된다는 뜻입니다.

⚠️ 주요 포인트

  • Unity 2022.3.3f1 기준:
  • 그리고 JRE만 설치된 경우도 안 됩니다. 반드시 JDK가 설치되어야 합니다.

✅ 해결 방법

1. JDK 11 설치하기

가장 안정적인 방법입니다:

  • Eclipse Temurin (Adoptium) JDK 11 64bit 다운로드
    • 설치 시: "JDK (not JRE)" 선택
    • 설치 경로 예시: C:\Program Files\Eclipse Adoptium\jdk-11.0.22.7-hotspot

2. Unity에 JDK 11 경로 지정

  • Unity Editor > Edit > Preferences > External Tools
  • "JDK" 체크 해제
  • 직접 설치한 JDK 11 경로 지정

💡 참고

  • Unity가 내장 OpenJDK를 제공하긴 하지만, 외부 JDK 11이 필요한 상황이라면 수동 설정이 필요합니다.
  • JDK 17은 Gradle 단독 사용이나 일부 최신 Android Studio에서만 권장됩니다.

✅ 결론:

JDK 17은 현재 Unity에서 Android 빌드용으로 호환되지 않습니다.

JDK 11 (64bit, JDK 전체) 를 설치하고 Unity에 연결하세요.

✅ 올바른 버전 조합

🔧 Firebase Unity SDK

  • 버전 12.8.0 또는 12.7.0을 사용하세요.

🔧 Google Sign-In Plugin

  • google-signin-plugin‑1.0.3.unitypackage 사용을 권장합니다.

🔧 External Dependency Manager (Play Services Resolver)

  • v1.2.177 이상 사용하세요. Firebase SDK 12.x에 포함되어 있으니 따로 추가 설치하지 않아도 됩니다.

📦 구성 정리

항목
권장버전
Firebase Unity SDK
12.8.0
Google Sign-In Plugin
1.0.3
External Dependency Manager
1.2.177+
Unity Android 빌드 JDK
JDK 11 (64-bit)

 


 


적용 완료된 방법은  ⬇️ 아래 링크에서 확인할 수 있다.

Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)

 

Unity 구글 로그인 연동 적용(Google Sign-In, Firebase Auth)

Unity 2022.3.3 + Firebase Auth + Google Sign-In 연동 기록1. 개발 환경Unity 버전: 2022.3.3f1 (LTS)Firebase Auth Unity 패키지: FirebaseAuth_11.6.0Google Sign-In 플러그인: google-signin-plugin-1.0.4 (Parse 폴더 제외 후 임포트)빌드

debug-think.tistory.com