전체 글

공부, 일상
Android

Android White Screen Before Splash Screen Resolved

이번 글은 저사양 기기를 타겟팅하여 개발하던중 발견하게된 이슈이다.문제의 시작권한 처리를 위해 회사 로고가 중앙에 들어간 스플래시 화면을 추가했다.해당 앱은 기기 설정에 상관없이 다크 테마 색상이 적용된 것처럼 color resource가 설정되어 있었다.(스플래시 화면도 마찬가지이다.)그런데 앱을 시작하면 흰색 화면이 보이고 나서 스플래시 화면이 보였다.문제 해결가장 먼저 해결법을 찾게된 글은 아래 링크였다.https://github.com/crazycodeboy/react-native-splash-screen/issues/338 White screen before splash screen · Issue #338 · crazycodeboy/react-native-splash-screenAfter sev..

Android

Android APK Decompile(Proguard 적용 확인)

필요해진 배경“요즘 다 앱 번들(.aab)로 배포하고 테스터 초대하지 않나?”라고 생각할 수 있지만 나는 이번에 APK 형태로 업체에 설치파일로만 배포하는 상황이 생겼다.그래서 스플래시 화면에서 설치 비밀번호가 없으면 다음 화면으로 넘어가지 않도록 했고이와 더불어 멋대로 Decompile 되지 않도록 Proguard 난독화를 사용했다.물론 난독화 설정을 켜고 릴리즈 빌드를 하면 적용이 될 거라 생각했지만 혹시 모르니 확인하는 과정을 거쳤다.이제 시작해보자.가장 먼저 내가 참고한 블로그 링크를 첨부한다.https://chelsea-kbj.tistory.com/9 [Mac] 안드로이드 APK 파일 Decompile 하기저는 주로 쇼핑몰 앱 개발 및 운영을 하는 아이폰/안드로이드 앱 개발자입니다. 요즘 보안에..

Language/Kotlin

Implement Coroutines Retry

이번에는 코루틴으로 재시도하는 동작을 구현해보려한다. 주로 "API 요청을 보내고 정상적인 응답이 오지 않으면 최대 n회 재시도한다" 같은 시나리오에 유용하게 사용할 수 있다. 샘플 코드와 함께 살펴보자. viewModelScope.launch { val retryNumber = 2 try { repeat(retryNumber) { try { loadRecentVersion() return@launch } catch (e: Exception) { e.printStackTrace() } } loadRecentVersion() } c..

BonusTrack02.dev
BonusTrack02.dev