전체 글103 [오류] app:minifyReleaseWithR8 FAILED / AGPBI: {"kind":"error","text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in 이번 오류 포스팅은 debug 모드로 빌드했을 때는 문제가 없었는데 release 모드로 빌드하니 오류 발생에 대해 해결방법을 포스팅해 보겠다. 물론 다른 경우에 따라 이 해결방법이 아닐 수도 있지만 나에 경우는 이 오류였기 때문에 혹시나 나랑 같은 분이 계실까 봐 공유를 한다.# 오류 발단기존 프로젝트에서 Active Build Variant를 release로 바꾸고 빌드하니 아래와 같은 오류가 발생했다. AGPBI: {"kind":"error", "text":"Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in /Users/(폴.. 2024. 6. 19. [Kotlin-Coroutine] coroutine Mutex(상호배제) 예제를 통한 사용법 이번 포스팅은 이전 개발자분이 만들어 놓은 코드 분석 중 처음 접한 Coroutine의 Mutex를 사용한 코드가 있어 알아둬야겠다고 생각해서 적어본다. 우선 아래 정리를 통해 Mutex대해 알아보자!# Mutex란? (특징)- Mutual Exclusion의 약자로 "상호 배제"를 의미한다. ("상호 배제"에 관해서는 시간이 난다면 따로 블로그 포스팅을 해야겠다..) - 여러 코루틴이 동시에 공유 자원에 접근하지 못하게 하여 데이터 일관성을 유지시켜 준다. - 한 코루틴이 Mutex를 획득하면, 다른 코루틴은 해당 Mutex가 해제될 때까지 대기하게 된다.# Mutex 사용 이유그럼 Mutex는 왜 사용하냐? 위 Mutex에 특징과 거의 비슷한데 간단하게 정리하면 이유는 아래와 같다여러 코루틴이 동시에.. 2024. 6. 9. [책 리뷰] 러닝 깃허브 액션 - 한빛미디어 / 브렌트 레스터(지은이), 정희영, 정한결 (옮긴이) # 한 줄 소개 "GitHub Actions를 활용한 CI/CD 구축과 자동화의 모든 것을 다루는 실용적인 안내서." # 추천하는 대상- 깃허브 액션에 관심 있는 개발자: 깃허브 액션을 처음 접하는 개발자부터 고급 사용자까지, 효율적인 CI/CD 파이프라인을 구축하고자 하는 모든 이들에게 적합하다.- 자동화된 배포와 테스트를 도입하고 싶은 개발자: 반복적인 작업을 자동화하고 배포 과정을 간소화하여 개발 속도를 높이고 싶은 개발자에게 유용한 지침을 제공한다.- DevOps 실천에 관심 있는 개발자 및 팀: DevOps 문화를 이해하고 실천하고자 하는 개발자 및 팀에게 깃허브 액션을 활용한 실제 사례와 팁을 제공한다.# 책을 읽고 얻을 수 있는 것- GitHub Actions의 기본부터 심화까지: 깃허브 액.. 2024. 6. 9. [책 리뷰] 켄트 벡의 Tidy First? - 한빛미디어 / 켄트 벡 (지은이), 안영회 (옮긴이) # 한 줄 소개"코드를 깔끔하게 유지하면서 효과적인 소프트웨어 개발 방법을 탐구하는 켄트 벡의 실용적 안내서."# 추천하는 대상- 코드의 가독성과 유지보수성을 중시하는 개발자: 깨끗한 코드 작성의 중요성을 이해하고 실천 방법을 배우고자 하는 개발자에게 적합하다. - 애자일 및 익스트림 프로그래밍에 관심 있는 개발자: 애자일과 익스트림 프로그래밍의 선구자인 켄트 벡의 철학과 기법을 깊이 있게 이해하고자 하는 이들에게 추천한다. - 리팩토링과 테스트 주도 개발(TDD)을 실천하고 싶은 개발자: 코드 품질을 높이면서 개발 속도도 유지하고 싶은 개발자들에게 유용한 지침을 제공한다. # 책을 읽고 얻을 수 있는 것- 깨끗하고 유지보수하기 쉬운 코드 작성 기법: 코드를 처음부터 깔끔하게 유지하는 방법과 리팩토링 .. 2024. 5. 12. [Android] 안드로이드 위젯 알아보기 3편 - Glance, Compose, Kotlin (Android Compose Glance Appwidget) 상호작용 지난 2편에서는 간단한 앱 위젯을 만들어봤다면 이번 3편에서는 액티비티 실행, 서비스 실행 등 앱 위젯 상호작용에 대해서 알아보자!# 상호작용 종류- 활동 실행 (Activity)- 서비스 실행- 브로드캐스트 이벤트 전송- 콜백 실행 상호 작용이 가능한 종류로는 위 4가지가 있다.위 종류에 대한 작업을 실행하려면 GlanceModifier.clickable 메서드를 사용하거나 Button의 onClick 메서드처럼 Action클래스에서 정의해 주면 된다. 하나하나 살펴보자!## 활동 실행 (Activity)만약 어떠한 Action이 들어왔을 때 액티비티를 띄워주고 싶다면 아래와 같이 actionStartActivity라는 메서드를 사용한다. actionStartActivity에는 총 3가지를 제공할 수 .. 2024. 5. 3. [Android] 안드로이드 위젯 알아보기 2편 - Glance, Compose, Kotlin (Android Compose Glance Appwidget) 지난 1편에서 위젯에 대한 개념을 알아봤다면 이제 2편에서는 위젯을 만드는 법에 대해서 알아볼 것이다. 들어가기 전 본 포스팅은 Xml 개발이 아닌 Compose로 개발을 진행할 것임으로 Xml으로 개발을 원한다면 공식문서를 보길 바란다. 우선 위젯을 Kotlin과 Compose를 사용하여 빌드하려면 Jetpack Glance라는 것을 이용해야 한다.차근차근 알아보자!# Glance란?공식문서에서는 아래와 같이 말하고 있다.Jetpack Glance는 Jetpack Compose 런타임을 기반으로 빌드된 프레임워크로, Kotlin API를 사용하여 앱 위젯을 개발하고 설계할 수 있습니다.Glance는 적은 코드로 홈 화면의 반응형 위젯을 빠르게 빌드하는 데 도움이 되는 컴포저블 세트를 제공합니다. 정리하.. 2024. 5. 2. 이전 1 2 3 4 5 6 7 ··· 18 다음