반응형

안드로이드 개발 92

error: unreachable statement 해결 방법

android app을 개발하다보면 종종 접하는 에러입니다. 빌드 환경의 문제는 아니고 일반적으로 code flow에서 도달하지 못하는 부분이 있을때 발생합니다. 아래 간단한 설명과 해결 방법을 공유합니다. 1. 코드 (오류 포함) -. 아래 코드에서 보면 log.d ~~~ 로 시작하는 라인에서 빨간색 오류가 보입니다. 이 부분이 코드를 빌드하고 실행시켜도 도달하지 못하는 라인입니다. 바로 위 throw new IOException에서 이미 catch문안의 e.printstacktrace를 실행하고 종료되기 때문입니다. 2. 에러 로그 -. 아래처럼 unreachable statement라고 표시가 됩니다. 3. 해결 방법 -. 아주 간단히 해결이 되는 에러입니다. throw new 이후에 코드는 어차피..

The project uses Gradle 4.4 which is incompatible with Java 11 or newer.

안드로이드 개발을 하다보면 오래된 프로젝트를 gihub에서 얻어오는 가져와 재활용하는 경우가 있습니다. 이때 프로젝트가 너무 예전 세팅이라서 현재 빌드 환경에서 컴파일이 안되는 경우가 발생합니다. 이때 대처 방법을 소개합니다. 파란색으로 표시된 Upgrade Gradle wrapper 를 선택하면 아래와 같이 업그레이드를 시작하게 됩니다. 위처럼 진행해되 안된다면 아래처럼 settings메뉴에 들어가서 추가작업을 해주면 됩니다. Files -> Settings 2. Settings -> Build, Execution -> Build Tools -> Gradle 이 메뉴에 들어가면 Gradle JDK 버전을 선택하는 리스트가 있습니다. 원하는 jdk 버전을 선택해주면 됩니다. -. 아래처럼 리스트가 표시되..

Manifest merger failed with multiple errors, see logs 해결 방법

안드로이드 신규 버전을 설치하거나, github에서 프로젝트를 강제로 pull할때 발생합니다. 이 경우는 대부분 gradle version이 맞지 않는 경우입니다. 해결 방법은 간단히 기존에 잘돌아가던 앱 프로젝트를 하나 열고 gradle 설정 부분을 그대로 복사합니다. 에러가 발생하고 있는 프로젝트의 gralde 부분에 붙이기 하면 해결이 됩니다. 아주 간단히 해결이 됩니다. 1. Build.gradle (App) -. 아래 값들을 복사해서 붙여넣습니다. 위 설명대로 해결이 안되는 경우 아래 항목들을 확인해보세요. 2. Jetfier 설정 -. 위의 build.gradle (app)수정으로 대부분의 문제는 해결이 됩니다. 그외의 경우 아래를 체크해보세요. android.enableJetifier=tru..

HAXM installation failed 해결방법

안드로이드 스튜디오를 설치할때 주로 나오는 에러입니다. 특히, amd 를 사용하는 경우 자주 나오게 됩니다. 해결방법은 아래와 같습니다. 1. Hyper-v 설치 2. 안드로이드 스튜디오 설치시 선택 안드로이드 스튜디오 설치시 선택 Install haxm 항목이 있는데 누르면 설치가 된다. 3. Bios 수정 -. 1,2번항목처럼 하고 android studio를 다시 설치하면서 install haxm버튼을 눌러도 안되는 경우가 있다. 이럴때는 부팅하면서 F2 또는 del을 눌러서 bios setup으로 들어갑니다. 이후 가상화 기능을 활성화 합니다. intel은 vt모드를 활성화 하고 amd의 경우 svm mode입니다. 4. Android Developer 공식 백서 Android Emulator의 ..

Error: Activity class MainActivity does not exist 해결

이 에러는 간혹 나올때마다 당황스러운 에러이다. 실제로 코드를 수정할 필요가 전혀 없이 해결되는 에러이기 때문이다. 하지만, 단순히 에러를 보고 코드를 수정하는 삽질들을 하다보면 코드가 엉망이 되어버린다. 스파게티 코드가 되고 나서야 구글링을 통해서 해결책을 찾게 되는 경우가 많다. 만약 이 에러가 당신의 컴퓨터에서도 발생한다면, 아래처럼 해결하기 바랍니다. 1. 문제 원인 -. 연결된 단말기 (에뮬레이터 포함)에 앱이 이미 설치가 되어있고 충돌이 발생하는 경우입니다. 2. 해결책 단말기에서 usb를 뽑거나 에뮬레이터를 끄면 됩니다. -. 에뮬레이터 끄는 방법은 우선 에뮬레이터에서 앱을 삭제합니다. 아래 스크린샷에서 X 표시가 보이는데 이 버튼을 누르면 종료됩니다. 종료되는것이 확인되면 다시 빌드해서 에..

BootstrapMethodError 해결 방법

안드로이드 앱 개발시 아주 간혹 발생하는 BootstrapMethodError 이 있습니다.. 여러가지 BootstrapMethodError이 발생해서 디버깅이 쉽지가 않습니다. *. Java 버전 업데이트 -. Build.gradle (App)에서 target을 최신으로 변경해줍니다. 아래 파란색 compileoptions를 참고하세요. compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } 이후에는 아래처럼 clean build 및 rebuild 메뉴를 통해서 다시 빌드를 해주면 문제가 해결됩니다. Thrown to indicate that an invokedynam..

AssertionError 해결 방법

안드로이드 개발하면서 자주 발생하는 에러가 AssertionError 이다. 실제로는 여러가지 AssertionError이 존재해서 디버깅이 쉽지가 않다. 몇가지 시도해볼 솔루션이 있는데 가장 많이 발생하고 해결되는 순서대로 적었습니다. 1. 비정상 캐시가 남아있는 경우 -. 해결방법은 안드로이드 스튜디오에서 cache를 삭제하는 방법입니다. File > Invalidate Caches/Restart and select Invalidate and Restart 2. 안드로이드 스튜디오를 최신으로 업데이트 -. 아래 메뉴를 통해 최신으로 업데이트하며, gradle도 업데이트 합니다. 3. 메모리 사용량을 늘려봅니다. *. AssertError 백서 원문 Thrown to indicate that an as..

android.view.WindowManager$BadTokenException 해결

안드로이드 앱을 출시하고 개발자 console에서 아래와 같은 익셉션이 발생했다는 보고를 받았습니다. android.view.WindowManager$BadTokenException 이를 해결하는 간단한 방법을 소개합니다. 1. 에러 로그 (from play console) Exception android.view.WindowManager$BadTokenException: at android.view.ViewRootImpl.setView (ViewRootImpl.java:1249) at android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:404) at android.view.WindowManagerImpl.addView (WindowMa..

ArithmeticException 해결 방법

안드로이드 코딩을 하다보면 ArithmeticException이라는 에러를 마주치게 됩니다. 아주 간단히 수정이 가능한 에러이며, 아래 수정 코드를 참고하시기 바랍니다. 1. 에러 코드 (오류) - . 아래 코드에서 10 / 0을 하는 부분이 있는데, 실제 수학에서 0으로 나누는 경우는 없습니다. 이렇게 수학적으로 에러가 발생하는 경우가 문제가 됩니다. 2. 오류 코드 -. 오류 발생시 아래처럼 오류를 출력하게 됩니다. 3. 수정 코드 -. 아래 파란색으로 마킹한 부분처럼 수학적인 부분을 수정하게 되면 문제는 깔끔하게 해결됩니다. 아주 간단하지만, 실제 복잡한 코드를 구현할때는 놓치는 경우가 많은 에러입니다. *. 에러 로그 원문 FATAL EXCEPTION: main Process: com.picker..

java.lang.ClassCastException 해결 법

안드로이드 개발중에 java.lang.ClassCastException 라는 에러를 만난다면 아래처럼 간단히 해결해보세요. 1. 에러 코드 (오류) -. 아래코드는 해당 익셉션이 발생하는 코드입니다. plusNumber 함수안에서 Object를 이용해서 Integer변수 타입을 선언하였습니다. 이후 출력할때 String 타입으로 캐스팅을 하게됩니다. 이때 에러가 발생합니다. 2. 에러 로그 -. 아래처럼 java.lang.ClassCastException 이 발생하는것을 확인 가능합니다. 3. 해결 방법 -. 아래 파란색으로 마킹된 부분처럼 선언한 변수의 타입인 integer에 맞게 출력하면 해결이 됩니다. 아주 간단한 에러이지만, 실제 코딩중에는 자주 발생하는 에러입니다. *. 에러 로그 원문 FATA..

반응형