반응형

전체 글 277

안드로이드 px, dip, dp 와 sp 차이 설명

안드로이드 개발할때 쓰는 단위가 여러가지가 있습니다. 예를들어 layout 에서 textview의 위치나 크기를 입력할때는 dp를 쓰고 있습니다. 글씨의 크기를 지정할때는 sp를 사용하고 있습니다. 이런 용어들을 정리해봤습니다. 우선 아래 예제를 보면 sp, dp, pt를 사용하는 예제를 확인할 수 있습니다. 실제 layout 정보는 아래와 같습니다. 이제 각 단위에 대해 알아보겠습니다. 1. px -. 픽셀 - 화면의 실제 픽셀에 해당합니다. 2. in -. 인치 - 화면의 물리적 크기를 기준으로 합니다. 1인치 또는 2.54센티미터 3. mm -. 밀리미터 - 화면의 물리적 크기를 기반으로 합니다. 4. pt -. 포인트 - 화면의 실제 크기를 기준으로 1/72인치입니다. 5. DP 또는 dip -...

[수정완료] FAILURE: Build failed with an exception.

안드로이드 개발중에 종종 발생하는 에러입니다. 아래처럼 android studio setting에서 Gradle User home 을 변경하면 해결이 되는 경우가 많습니다. 아래 1번 2번 3번 중 하나는 해당 문제 해결이 대부분 가능합니다. 1. gradle user home 메뉴를 이용해 해결하는 방법 File -> Settings 를 누릅니다. Build Tools -> Gradle -> Gradle User home 메뉴의 폴더 모양의 아이콘을 클릭합니다. 이후 .gradle을 현재 열려있는 프로젝트의 .gradle을 선택합니다. 2. Gradle version up 하는 방법 -. 아래의 JDK선택하는 메뉴에서 원하느 gradle 버전을 선택해서 sync up 하면 해결이 됩니다. 3. Sync..

OutOfMemoryException 해결 방법

에러 이름에서 알 수 있듯이 메모리가 부족한 상태에서 나오는 exception입니다. Exception in thread “main”: java.lang.OutOfMemoryError: Java heap spac Heap size의 부족으로 Java Object를 Heap에 할당하지 못하는 경우. Exception in thread “main”: java.lang.OutOfMemoryError: PermGen space Class나 Method 객체를 PermGen space에 할당하지 못하는 경우 발생 애플리케이션에서 너무 많은 class를 로드할 때 발생한다. 주로 잘못된 설계/구현에 의해 발생한다. -XX:PermSize, -XX:MaxPermSize Option을 이용하여 오류를 수정하기도 한다...

IOException 해결 방법

안드로이드 개발시 흔하게 보이는 에러중에 하나입니다. 보통 입출력 관련 에러에서 흔하게 발생합니다. 예를 들면 파일을 기록하거나 읽어올때 발생합니다. 사실, 개발하다보면 여러가지 경우에 발생하는게 바로 IOException입니다. 1. 에러 -. 아래는 에러 발생시의 로그입니다. error: unreported exception IOException; must be caught or declared to be thrown input.readLine(); 2. 에러 코드 (오류 포함) 3. 해결 방법 -. 위 에러의 경우는 에러 발생 가능성이 있는 부분에 throw 처리를 안하고 있기 때문입니다. 아래처럼 throw 할 수 있는 exception을 추가해주면 문제는 자연스럽게 해결이 됩니다. 4. 백서 (..

Default Activity not found 해결 방법

안드로이드 개발중에 아래처럼 Could not identify launch activity: Default Activity not found 이라는 에러 메시지를 보게 된다면 간단히 해결할 수 있는 해결 방법을 공유합니다. 1. 에러 로그 -. Could not identify launch activity: Default Activity not found Error while Launching activity Failed to launch an application on all devices 2. 에러 코드 -. java / kt 파일에선는 에러의 원인을 찾을 수 없습니다. AndroidManifest.xml에 보면 그 원인을 찾을 수 있습니다. 위 XML 파일을 보게 되면 .MainActivity를 정..

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 표시가 보이는데 이 버튼을 누르면 종료됩니다. 종료되는것이 확인되면 다시 빌드해서 에..

반응형