Samsung Recovery를 사용해서 초기화를 시키니 윈도우10 인가 하여튼 엄청 낮은 버전으로 다운그레이드 되버리고 ㅜㅜ

드라이버도 다 날아가서 멘붕.

아는 분에게 부탁해서 윈도우11로 설치해뒀는데 오디세이가 날아갔고 키보드 백라이트가 나오지 않는 문제가 생겼다...

차근차근 해결해보자

 

키보드 백라이트가 안 나오는 거는 Samsung Settings가 날아가서 인식이 안되는 심플한 문제이다.

아래 문서를 참고해서 해결했다.

 

Win10, 11에서 삼성 세팅(Samsung.. : 네이버블로그

 

Win10, 11에서 삼성 세팅(Samsung Settings) 강제 설치하는 방법

이전 이전에 Samsung Update(UWP 기반) 프로그램을 Windows 11에서 강제로 인식하게 만드는 방법에 ...

blog.naver.com

 

 

어쩌다 한번씩 필요하게 될 때가 있더라구요..

앱에 Firebase SDK를 추가해야한다.

Firebase에서 새로운 프로젝트를 생성하고, 프로젝트 개요(홈)으로 나가서 앱 추가를 누른다.

단계를 친절하게 설명해주니 따라하면 된다.

 

그 다음 프로젝트 설정 > 내 앱으로 가서 디버그용 SHA-1 키를 등록해준다. SHA-256도 있어서 그냥 추가해줬다.

 

그 다음 Firebase Authentication 시작하기 > 로그인 방법 > 로그인 제공업체 >  Google 사용 설정 해준다.

 

 

이제 https://console.cloud.google.com/apis/credentials 으로 가서 내 프로젝트 선택 후 

API 및 서비스 > 사용자 인증 정보 > OAuth 2.0 클라이언트 ID > Web client (auto created by Google Service)

클라이언트 ID를 복사해준다.

 

복사한 ID를 res/values/strings.xml 에 붙여넣기한다.

<resources>
    <string name="app_name">Schatz</string>
    <string name="default_web_client_id">여기에 클라이언트 아이디</string>
</resources>

 

마지막으로 필요한 의존성을 추가해준다.

implementation("com.google.firebase:firebase-auth-ktx:23.2.1") // 1번
implementation("com.google.android.gms:play-services-auth:21.4.0") // 2번

 

1번은 firebase authentication sdk 이고

2번은 Google 로그인 UI를 띄우고 결과를 받아오기 위한 라이브러리다. 화면 화단에 로그인 전용 팝업을 띄우는 역할을 한다.

 

 

앱 아이콘 바꾸기

res (우클릭) > New > Image Asset 누르면 Launcher Icons (Adaptive and Legacy) 를 새로 설정할 수 있다.

Path만 바꿔서 원하는 이미지 선택하고 크기 배율 조정만 해주면 바꿀 수 있다.

Background Layer도 단색 이미지로 바꿔서 깔끔하게 하자.

 

mipmap의 파일이 변경된다.

 

SplashScreen 설정하기

gradle(module: app) > dependencies 에 splashscreen library 추가한다.

implementation("androidx.core:core-splashscreen:1.0.1")

 

app > manifests > AndroidManifest.xml 을 수정한다.

<activity
    android:name=".MainActivity"
    android:exported="true"
    android:theme="@style/Theme.App.Starting">  <!-- ★ 1번 -->
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" /> <!-- ★ 2번 -->
    </intent-filter>
</activity>

 

1. (★ 2번) 운영체제는 LAUNCHER 카테고리가 있는 MainActivity를 찾아 앱의 첫 시작점으로 인식한다.

2. (★ 1번) 그리고 MainActivity를 실행하기 전에, android:theme에 지정된 @style/Theme.App.Starting을 화면에 먼저 보여준다. 이것이 바로 스플래시 스크린이 된다.

 

res > values > themes.xml

<style name="Theme.App.Starting" parent="Theme.SplashScreen">
    <item name="windowSplashScreenBackground">@android:color/white</item>
    <item name="windowSplashScreenAnimatedIcon">@mipmap/ic_launcher</item> <!-- ★ 3번 -->
    <item name="postSplashScreenTheme">@style/Theme.Schatz</item> <!-- ★ 4번 -->
</style>

 

3.(★ 3번) AndroidManifest.xml이 지정한 Theme.App.Starting 테마는 @mipmap/ic_launcher를 아이콘으로 사용하는 스플래시 화면을 만든다. 이 화면은 앱의 코드가 실행되기도 전에 시스템이 직접 보여주므로 매우 빠르다.

4.(★ 4번) 이 테마는 스플래시 화면이 끝난 후에 적용할 테마로 @style/Theme.Schatz를 지정해 둔다.

 

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        installSplashScreen() // ★ 5번
        super.onCreate(savedInstanceState)
        setContent { // ★ 6번
            ######Theme {
                ...
            }
        }
    }
}

 

5.(★ 5번) 스플래시 화면이 표시되는 동안, MainActivity의 onCreate가 실행된다.

installSplashScreen() 코드는 "이제부터 스플래시 화면은 내가 관리할게"라고 시스템에 알려주는 역할을 한다.

6.(★ 6번) setContent 블록 안에서 Greeting 같은 Composable 함수를 통해 실제 앱의 UI를 그리기 시작한다. 

UI가 준비되면 installSplashScreen()이 자동으로 스플래시 화면을 숨기고 themes.xml에 지정했던 메인 테마(Theme.######)를 적용하며 자연스럽게 메인 화면으로 전환한다.

터미널에서 명령어를 사용한다

.\gradlew -singingReport

또는

gradlew -signingReport

 

정상적으로 작동하면 이렇게 나온다.

> Task :app:signingReport
Variant: debug
Config: debug                                                                                                                                                                                           
Store: C:\Users\######\.android\debug.keystore                                                                                                                                                           
Alias: AndroidDebugKey                                                                                                                                                                                  
MD5: 95:######                                                        
SHA1: 9B:######
SHA-256: C8:######
Valid until: 2055??10??17???쇱슂??[39m                                                                                                                                                                  
----------
Variant: release                                                                                                                                                                                        
Config: null                                                                                                                                                                                            
Store: null                                                                                                                                                                                             
Alias: null                                                                                                                                                                                             
----------
Variant: debugAndroidTest                                                                                                                                                                               
Config: debug                                                                                                                                                                                           
Store: C:\Users\######\.android\debug.keystore                                                                                                                                                           
Alias: AndroidDebugKey                                                                                                                                                                                  
MD5: 95:######
SHA1: 9B:######
SHA-256: C8:######
Valid until: 2055??10??17???쇱슂??[39m                                                                                                                                                                  
----------

BUILD SUCCESSFUL in 3s
1 actionable task: 1 executed

 

한편 이전에 내가 마주쳤던 오류: java 버전 오류

원인: 

데스크탑을 새로 얻어서 초기 상태였는데 android studio만 깔고 시작하려고 했는데

뭔가 그 전에 java 를 깔고 싶은 마음이 생겨서 25 LTS 버전을 설치 해놨는데 거기서 문제가 터진거다.

 

Settins > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK

확인해보면 안드로이드 스튜디오의 로컬 자바홈을 쓰고 있는데,

나는 JAVA_HOME 변수값이 jdk-25 경로로 설정되어 있어서 버전 오류가 난 것이다.

 

 

지금 데스크탑에서는 다른 java 사용을 안 해서 그냥 이걸로 바꿔주고,

Path도 jdk-25 절대경로 였는데 상대경로 참조하는 걸로 바꿔줬다.

 

 

이렇게 변경하고 재부팅 했더니 해결되었다.

라섹도 하고.. .아직도 눈 흐리긴 하지만

이것저것 다른 거 하느냐 거의 java든 개발이든 좀 놓고 있었다

문법이 가물가물해질 거 같아서

프로그래머스 다시 복습.. 고고링

+ Recent posts