Android
-
Process 'command 'git'' finished with non-zero exit value 69Android 2024. 11. 21. 09:46
안드로이드 스튜디오에서 아래의 오류가 발생하면서 gradle sync 가 안되는 문제가 있었는데Process 'command 'git'' finished with non-zero exit value 69 해결책은 간단하다 xcode EULA에서 동의를 받으면 끝이다.xcode 의 git 를 같이 쓰다보니 Mac 에서 안드로이드 스튜디오를 사용하는 사용자는 xcode 의 영향도 같이 받는것 같다.동의후에는 정상적으로 작동한다. https://stackoverflow.com/questions/40263185/gradle-sync-failed-process-command-git-finished-with-non-zero-exit-value-69 Gradle sync failed: Process 'command ..
-
Android StrictModeAndroid 2024. 4. 4. 10:27
https://developer.android.com/reference/android/os/StrictMode StrictMode | Android Developers developer.android.com StrictMode는 안드로이드에서 개발자에게 앱의 성능과 안정성을 개선하기 위한 도구를 제공합니다. 주로 디버깅 및 테스트 목적으로 사용되며, 다음과 같은 목적으로 사용될 수 있습니다: 네트워크와 디스크 작업 감시: StrictMode는 메인 스레드에서 네트워크 요청이나 디스크 I/O 작업을 감지하여 이러한 작업을 백그라운드 스레드에서 수행하도록 권장합니다. 메인 스레드에서 이러한 작업을 수행하면 앱의 응답성이 떨어지고 ANR(Application Not Responding)이 발생할 수 있습니다...
-
java.lang.IncompatibleClassChangeError: Found class...Android/Error 2023. 9. 16. 18:06
기존에 사용하는 모듈을 외부라이브러리로 분리하고 참조를 하였는데 빌드는 성공하였지만 Runtime 환경에서 해당 라이브러리를 사용하는 부분에 접근시 앱이 죽으면서 아래와 같은 에러가 발생함 java.lang.IncompatibleClassChangeError: Found class com.beust.klaxon.KlaxonJson, but interface was expected (declaration of 'com.beust.klaxon.KlaxonJson' appears in .... 분명 내부코드가 변경되거나 수정된 점이 없고 단지 모듈을 분리해서 jitpack 으로 외부라이브러리로 만들어서 사용하였는데 해당문제가 발생함 해당 문제는 사용하는 쪽의 앱과 라이브러리 모두 com.beust:klaxon..
-
Clean Architecture in AndroidAndroid 2023. 1. 30. 19:53
Android 개발은 수년에 걸쳐 크게 발전했으며 강력하고 유지 관리 가능한 앱을 빌드하기 위한 가장 중요한 방법 중 하나는 Clean Architecture입니다. 이 아키텍처 패턴은 애플리케이션의 문제를 분리하고 코드를 체계적이고 테스트 가능하며 확장 가능하도록 유지하는 데 도움이 됩니다. 이 기사에서는 클린 아키텍처의 기본 사항과 이를 Android 앱에서 구현하는 방법을 소개합니다. 클린 아키텍처란? 클린 아키텍처는 애플리케이션의 문제를 별개의 계층으로 분리하는 소프트웨어 디자인 패턴입니다. 이렇게 하면 애플리케이션이 커져도 코드를 유지 관리, 테스트 및 확장할 수 있습니다. 클린 아키텍처의 주요 계층에는 프리젠테이션, 도메인 및 데이터 계층이 포함됩니다. 프레젠테이션 계층(Presentation..
-
Modern Android App ArchitectureAndroid 2022. 12. 11. 17:55
Modern Android App Architecture https://developer.android.com/courses/pathways/android-architecture Modern Android App Architecture | Android Developers Learn about best practices and recommended Architecture for building robust, production-quality apps. developer.android.com Modern Android App Architecture 모던 안드로이드 앱 아키텍처는 최신 기술, 라이브러리, 그리고 연습을 사용하여 사용자 경험, 성능, 그리고 유지보수성을 보장하는 안드로이드 앱의 디자인과 구조를..
-
Android studio/InteliJ IDEA Code inspectionsAndroid 2022. 9. 8. 12:16
Lint에 관련해서 확인중에 IDE 에서 Code inspections라는 항목을 보고 해당 내용을 확인 하였습니다. InteliJ IDEA를 기반으로 하는 IDE 들은 모두 사용 할 수 있는것으로 보입니다. 해당 기능을 통해서 코드의 구조의 규칙이나 변경사항들을 Editor에서 확인 가능 하도록 할 수 있습니다. Code Inspections을 사용하기 위해서 Inspections 창으로 이동해야 합니다. macOS 을 기준으로 Android studio -> preference -> Editor -> Inspections 으로 이동 해당 화면에서 Editor에 표기될 경고 및 에러에 대한 표기를 조절할 수 있습니다. [Structural Search 등록] 상단 검색창 우측의 + 버튼을 클릭해서 자신..
-
Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default optionAndroid/Error 2022. 8. 17. 11:28
Inheritance from an interface with '@JvmDefault' members is only allowed with -Xjvm-default option gradle 빌드시 해당에러가 발생하는 경우가 있습니다. 해당에러가 발생하는 이유는 @JvmDefault 해당 어노테이션이 Deprecated 되면서 kotlin의 interface 의 defalut method가 생성되지 않아서 컴파일시 문제가 발생하는 현상이 었습니다. 해결방법은 -Xjvm-default 옵션을 사용하는 해결하는것 입니다. build.gradle 의 kotlinOptions 에 freeCompilerArgs = ['-Xjvm-default=enable'] 옵션을 추가하면 정상적으로 컴파일 되는것을 확인 할 수 ..
-
Jetpack Compose Modifier.onFocusChanged에서 animateScrollTo 가 작동안되는 문제Android 2022. 4. 7. 17:21
기존에 TextField 에서 onFocusChanged 가 될때 animateScrollTo를 하는 기능이 있었는데 compose 버전을 1.0.5 에서 1.1.1 로 업데이트하면서 작동이 안되는 문제가 발생하였습니다. 해당문제에 대해서 테스트를 하다보니 animateScrollTo 가 아닌 scrollTo 를 사용하면 정상적으로 스크롤 이동이 가능하여 에니메이션 관련으로 검색중에 해당문제에 대한 힌트를 아래 이슈에서 찾을 수 있었습니다. https://issuetracker.google.com/issues/212982472 Google Issue Tracker issuetracker.google.com 해당현상은 onFocusChanged 가 호출시 Focus내부 에니메이션이 실행되면서 animate..