본문 바로가기

Android Error

(4)
[Error] Program type already present 에러 처리 프로젝트 개발 중, 광고 SDK jar 파일을 libs 디렉토리에 추가해서 사용하고 있었다. 몇 일전 SDK의 버전을 높여달라는 요청이 와서 새로운 버전의 jar를 받아 파일을 교체하였다. 프로젝트 싱크 과정에서는 문제가 없었지만, APK를 뽑는 과정에서 Program type already present: [class path] 라는 에러가 발생했다. 이 에러는 클래스가 중복되어 발생되는 종속성 문제로 생각됐다. 구글에 검색을 해봐도 종속성을 제거하라는 해결 방법이 다수를 차지하고 있었다. 하지만, 이 프로젝트의 경우 라이브러리 파일을 교체하다가 발생했기 때문에 찾아본 방법들로 해결되지 않았다. Android Studio에 Build 창에 표시된 에러 내역을 보았다. com.android.builder..
[Error] Failed to resolve: com.android.support:support-v4:26 이번에 새로운 안드로이드 서포트 라이브러리 26이 공개가 되었다.이것저것 기능들이 많이 추가 되었는데 새 프로젝트에서 26버전을 사용해보기로 했다.build.gradle에 라이브러리를 추가하니 Gradle Sync 에러가 발생하였고 에러의 내용은 다음과 같았다. 보통 이 상황에서 Install Repository and sync project를 선택하면 알아서 해결되는 경우가 많다.하지만 아무리 해도 에러는 사라지지 않았고 해결방법을 찾았다. project 단위의 build.gradle로 이동하여 repositories 스코프에 google의 maven 저장소를 추가해주어야 한다. maven { url "https://maven.google.com" }결과는 아래처럼 될 것이다.allprojects { ..
[Error] Execution failed for task ':app:transformClassesWithDexForDebug' · Execution failed for task ':app:transformClassesWithDexForDebug' Android Studio에서 테스트용 앱을 새로 만들다가 에러가 발생했다!! 1 무슨 에러인가? 내가 겪은 상황은 아래 스크린샷과 같다. 문제의 원인은 Android는 메소드의 갯수의 제한이 있다. 메소드의 ID를 지정하게 되는데 그 아이디는 0~0xffff 까지 지정이 된다.그 갯수가 65536개이고 지금 현상은 그 수를 넘은것이다.위치 테스트를 하기 위해서 googlePlayService 라이브러리를 추가한것이 문제를 야기했다.googlePlayService 뿐만아니라도 다른 라이브러리를 여러개 추가해 사용하면 충분히 발생할 수 있는 문제이다. 2 해결 - 문제가 된 라이브러리 c..
[Error] Execution failed for task ':app:compileDebugJavaWithJavac' · Execution failed for task ':app:compileDebugJavaWithJavac' Android Studio에서 앱 디버그를 하다가 다음과 같은 에러가 떴다.Execution failed for task ':app:compileDebugJavaWithJavac'검색 결과도 별로 없고 막막했는데 해결한 결과를 작성하겠다. 1 무슨 에러인가? Execution failed for task는 뻔하지만 결국 실행 오류라는 말이다. 내가 겪은 상황은 아래 스크린샷과 같다. 2 해결 문제는 저 jarSnapshots.bin 파일에 문제가 생겨서 발생한 에러이다.동일하지는 않지만 비슷한 문제를 겪은 글을 보았고 캐시가 꼬였다고 판단하여 저 폴더를 지워버렸다.c:/사용자/계정/ 아래에 위치한..