IDE

안드로이드 스투디오에서 린트(Lint) 실행하기

린트(Lint)는 안드로이드에서 제공하는 정적 분석 툴로, 정확성, 보안, 퍼포먼스, 사용성, 접근성, 번역 등 안드로이드 프로젝트의 다방면을 분석해 준다. 안드로이드 스투디오에서 실행한다면 Project 뷰 > Alalysis > Inspect Code… 를 통해 실행할 수 있다. 안드로이드 스투디오의 code inspection은 안드로이드 린트(Lint)에서 제공하는 분석 결과 외에 오타나, XML 문법 등도 추가적으로 확인해준다. 항상 실행할 필요는 없을 것 같지만, 전반적으로 […]

안드로이드 스투디오에서 린트(Lint) 실행하기 Read More »

이클립스 워크스페이스 vs. 인텔리제이 프로젝트

이클립스(Eclipse) 개발자들이 인텔리제이(Intelli J)나 인텔리제이 기반의 안드로이드 스투디오(Android Studio)로 IDE를 옮기면서 처음에 만나는 불편함을 꼽으라면, 이클립스의 워크스페이스(workspace)가 인텔리제이에는 없다는 것일 듯 하다. 사실 인텔리제이에 이클립스의 워크스페이스에 상응하는 프로젝트라는 개념이 있지만 아래 두 가지 이유로 사람들이 눈치채기 어렵다. 이클립스 워크스페이스를 인텔이제이에서 임포트할 때 워크스페이스 내의 한 프로젝트만 임포트 된다. 프로젝트라는 개념이 이클립스에서는 워크스페이스 내의 소속되는 하위

이클립스 워크스페이스 vs. 인텔리제이 프로젝트 Read More »

이클립스 ADT 개발종료

이클립스의 ADT(Android Developer Tools)의 개발이 공식적으로 종료되었다. 안드로이드 개발자 사이트의 SDK를 받는 페이지에 가면 가운데에 떡 하니 개발이 종료되었으니, 안드로이드 스투디오로 시작해보라는 메시지가 보인다. If you’re a new Android developer, you should consider starting with Android Studio, because the ADT plugin for Eclipse is no longer in active development. 인텔리제이 기반의 안드로이드 IDE인 Android Studio의

이클립스 ADT 개발종료 Read More »

13.1.4 com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V

인텔리제이 커뮤니티 에디션을 13.1.3에서 13.1.4로 오늘 업데이트 했는데, 아래와 같은 문제가 생겼다. Error:Internal error: (java.lang.NoSuchMethodError) com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V java.lang.NoSuchMethodError: com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V at com.android.sdklib.internal.project.ProjectProperties.parsePropertyStream(ProjectProperties.java:541) at com.android.sdklib.repository.local.LocalAddonPkgInfo.parseAddonProperties(LocalAddonPkgInfo.java:370) at com.android.sdklib.repository.local.LocalAddonPkgInfo.createAndroidTarget(LocalAddonPkgInfo.java:199) at com.android.sdklib.repository.local.LocalPlatformPkgInfo.getAndroidTarget(LocalPlatformPkgInfo.java:95) at com.android.sdklib.repository.local.LocalAddonPkgInfo.getVendorId(LocalAddonPkgInfo.java:110) at com.android.sdklib.repository.local.LocalAddonPkgInfo$1.getVendorId(LocalAddonPkgInfo.java:96) at com.android.sdklib.repository.descriptors.PkgDescAddon.getVendorId(PkgDescAddon.java:93) at com.android.sdklib.repository.descriptors.PkgDesc.compareTo(PkgDesc.java:226) at com.android.sdklib.repository.descriptors.PkgDesc.compareTo(PkgDesc.java:42) at com.android.sdklib.repository.local.LocalPkgInfo.compareTo(LocalPkgInfo.java:126) at com.android.sdklib.repository.local.LocalPkgInfo.compareTo(LocalPkgInfo.java:40) at com.google.common.collect.NaturalOrdering.compare(NaturalOrdering.java:35) at com.google.common.collect.NaturalOrdering.compare(NaturalOrdering.java:26) at java.util.TreeMap.compare(TreeMap.java:1188) at java.util.TreeMap.put(TreeMap.java:531) at java.util.TreeSet.add(TreeSet.java:255) at com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.add(AbstractMapBasedMultimap.java:503) at com.android.sdklib.repository.local.LocalSdk.scanAddons(LocalSdk.java:916) at

13.1.4 com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V Read More »