본문 바로가기

Android/오류 대응4

Serializable의 위험성을 알아보자!!! 이전 버전의 호환성을 고려한 앱 업데이트 및 이슈 대응 경험 Background 자동 로그인을 위해 Serializable로 로컬에 저장하던 데이터 클래스가 존재함. 이전 버전에서 새 버전으로 업데이트하는 과정에서 역직렬화 에러가 발생 하여 자동로그인이 되지 않음. Problem Situation 새 버전 개발 도중 데이터 클래스를 수정 했고 이전 버전에서 저장된 데이터와 새 버전에서 수정된 데이터의 형태 차이로 역 직렬화 과정에서 Exception 발생 역 직렬화 오류 Exception이 OS 버전에 따라 다르게 발생. OS 6 버전 이하 : IllegalArgumentException OS 6 버전 초과 : InvalidClassException Troubleshooting & Result OS 버전.. 2024. 2. 15.
OS14 알람 및 리와인더 권한 대응을 해보자 지난 주 월요일 저녁 퇴근 후, 급속도로 올라오는 Firebase CrashReport를 보며 무슨 일이 일어났겠구나. 라고 생각은 했지만 OS 업데이트로 인한 알람 권한 이슈가 올라 올 것이라고는 생각도 못했다... 이번 글은 지난 주에 있었던 일을 공유해보려 한다. 사건의 시작 FireBase CrashReport에 위와 같은 에러가 올라왔고 읽어보면 SecurityException이라고 되어 있는걸 보니 권한 이슈라고는 짐작했다. 그런데 이해가 안되는건 배포는 한참전에 되었는데 이제와서 갑자기??????? 일단 문제를 해결하기 위해 구글링을 해보니 아래와 같이 공식문서를 발견할 수 있었다. 공식문서 위의 내용을 간략하게 요약하면 OS14 부터 알람 권한(SCHEDULE_EXACT_ALARM)은 권한.. 2024. 1. 22.
디자인 시스템을 담당하며 겪었던 일들 https://yozm.wishket.com/magazine/detail/1846/ 디자인 시스템 구축기: ③타이포그래피와 프로젝트 관리 | 요즘IT 디자인 시스템은 디자인 원칙과 규격, 재사용할 수 있는 UI 패턴과 컴포넌트, 코드를 포괄하는 시스템을 말한다. 디지털 제품 개발 환경에서 이러한 디자인 시스템은 점점 더 중요해지고 있다 yozm.wishket.com https://medium.com/mesmerhq/designing-accessible-text-for-android-variable-font-and-screen-sizes-392fd386aea5 Designing accessible text for Android: variable font and screen sizes Designing An.. 2023. 9. 19.
에러 추척 Firebase Crashlytics Android앱을 개발하여 GooglePlayStore에 배포를 하면 많은 이용자들이 사용하게 되는데 사용자들에게서 에러가 발생하여 앱이 강제로 종료된다고 컴플레인이 들어오곤 한다. 그럴때 나는 분명 잘해서 올렸는데 이놈의 안드로이드는 수많은 기기를 대응해야 하기에 직접 확인해보지 않는 이상 알 수 가없다. 이럴때 사용하는 방법은 파이어 베이스의 크래시리틱스(Crashlytics) 라는 기능이다. 파이어 베이스에서 시키는 데로 설정을 해주고 아래와 같이 Crash 버튼을 만들어 테스트를 해보면 아래와 같이 Crash가 난 위치를 알 수 있다. 소감 : 진짜 옛날 개발자들은 어떻게 CS 처리를 한 것인가 의문이 든다....!!! 2023. 8. 14.