2012년 1월 12일 목요일

[Android] Emulator 4.0.2 자동 업데이트;;

4.0 에뮬레이터를 사용중에 어느날 갑자기부팅 중 낯선 화면이 떴다.
뭔가 업그레이드를 한다는듯 한데;;

부팅이 끝난뒤 Setting -> About phone 에 들어가 보니,
4.0.2 로 업데이트 되어 있다;;

구글링좀 해보니 Minor 버그를 해결한 버젼이라 한다.
AVD엔 여전히 4.0으로 나온다.
API레벨도 여전히 14...

암튼 에뮬에서 업데이트를 하니 좀 신기한 경험 이었다 ㅋ

2012년 1월 4일 수요일

[Android] Activity xxx has leaked window xxxxxxx that was originally added here.

Dialog를 사용하다가 제목과 같은 에러를 만났다.
다른 경우에도 발생 할 법한 에러이긴 한데 아직 접해 본적은 없다.

일단 원인은 엑티비티에서 생성한 다이얼로그가 떠있는데,
액티비티가 종료되어 메모리 누수가 발생 했기 때문이다.

해결 방법은...
물론 액티비티가 종료될때 떠있을지 모르는 다이얼로그를 닫아 주면 되는데,

액티비티의 onPause()에서 다이얼로그의 dismiss() 를 호출 하거나,
다른 방법으로 닫아 주면 된다.

나의 경우
서비스에서 투명 액티비티를 띄워 투명액티비티상에서
다시 다이얼로그를 띄웠고 다이얼로그에서 뭔가 작업을 한뒤
다이얼로그가 닫히면서 액티비티도 종료 되는 것을 개발 하려 했는데,
실수로 액티비티만 닫히고 다이얼로그는 종료되지 않았던 것이었다.

알면 쉽지만..
이것 때문에 4시간은 해맨듯 하다.
ㅠㅠ

2011년 12월 22일 목요일

안드로이드 SDK 버전을 15로 업데이트 하고 
15버전으로 VM을 만들어 에뮬레이터를 실행해 보니 다음과 같은 에러가 나온다.

>emulator: WARNING: Unable to create sensors port: Unknown error

원인은 아직 모르겠음...
딱히 안되는건 아니라 무시중;;;

[Eclipse] Workspace가 사용중으로 나와서 열리지 않을때..

일단..
당연히 다른 이클립스가(같은 Workspace를 사용하는) 떠있는지 확인해 본다.

workspace/.metadata/.lock 파일을 지워 본다.
-> 지워지지 않으면 작업 관리자를 열어 javaw 프로세스를 강제 종료 한다.

이래도 않되면~
재부팅 또는 재설치 ㅋㅋㅋ

[Android] API Level 15 업데이트시 오류 해결법

안드로이드 4.0.3 (API Level 15)가 나와 업데이트를 하려 하는데
다음과 같은 이유로 이클립스 플러그인이 설치 되지 않는다.


Your original request has been modified.
  "Android DDMS" is already installed, so an update will be performed instead.
  "Android Development Tools" is already installed, so an update will be performed instead.
  "Android Hierarchy Viewer" is already installed, so an update will be performed instead.
  "Android Traceview" is already installed, so an update will be performed instead.
Cannot complete the install because one or more required items could not be found.
  Software being installed: Android Development Tools 16.0.1.v201112150204-238534 (com.android.ide.eclipse.adt.feature.group 16.0.1.v201112150204-238534)
  Missing requirement: Android Development Tools 16.0.1.v201112150204-238534 (com.android.ide.eclipse.adt.feature.group 16.0.1.v201112150204-238534) requires 'org.eclipse.core.runtime 3.6.0' but it could not be found


이는 이클립스의 버젼이 낮아서 이므로 이클립스를 3.6으로 업데이트 하면 해결 할 수 있다.

http://www.eclipse.org/downloads/

위 링크에서 3.6 이상의 버젼으로 업데이트 하면 된다.

2011년 9월 5일 월요일

[JAVA] DefaultHttpClient 사용시 LogFactory가 없다는 오류가 나오면?

HttpClient 를 사용하다가 다음과 비슷한 에러를 만날 수 있다.
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory 
  at org.apache.http.impl.client.AbstractHttpClient.(AbstractHttpClient.java:159)
  at org.apache.http.impl.client.DefaultHttpClient.(DefaultHttpClient.java:178) at test.main(test.java:24) 
Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
  at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
말그대로 LogFactory의 구현 클래스가 없다는 오류인데 사실 DefaultHttpClient 를 사용하려면 다음 라이브러리도 필요하다.

해당 라이브러리는
http://commons.apache.org/logging/ 
에서 받을 수 있으며
commons-logging-1.1.1.jar
파일을 라이브러리에 추가해 주면 된다.