Tips 72

Android 로그 자동 저장하는 법

tee가 실행 안된다... 걍 cygwin bash에서 아래 명령어로 저장하자. $ adb logcat -v time | tee . logcat.txt $ adb shell cat proc/kmsg | tee . kmsg.txt 참고: 원문: http://blog.daum.net/bluebread/8 저는 보통 ddms보다는 logcat을 사용하는데요. 로그를 실시간으로 보면서 자동저장할 수도 있다는 점에서 ddms보다 훨씬 강력합니다. logcat.pl 첨부한 파일은 자동으로 로그파일명에 날짜_시간 형식의 t imestamp를 붙여서 저장하도록 한 perl script 입니다. 실행하면 다음과 같이 cmd 창에 메시지가 스크롤됩니다. 동시에 로그파일 디렉토리에 다음과 같이 파일이 생성되어 있게 됩니다...

Tips/Android 2013.02.24

ResolverActivity - 여러 개의 Activity가 Intent에 매칭될 때

Default로 설정할 때 ResolverActivity.OnClick() { ..... if (filter != null) { final int N = mAdapter.mList.size(); ComponentName[] set = new ComponentName[N]; int bestMatch = 0; for (int i=0; i bestMatch) bestMatch = r.match; } getPackageManager().addPreferredActivity(filter, bestMatch, set, intent.getComponent()); } } Default 해제 할 때 (Settings>Launch by default>Clear defaults) InstalledAppDetails.onCl..

Tips/Android 2013.02.24

Remote debug를 이용한 target debugging

1. 사전 빌드 시 해당 모듈의 AndroidManifest.xml 파일의 application 속성에서 debuggable을 true로 설정2. Existing Project로 소스에 있는 app 불러오기 (compile error가 있어도 상관없음)3. Run -> Debug Configurations4. 왼쪽 탭의 Remote Java Application선택->오른쪽 마우스버튼->New5. name에 이름설정6. project에 android 프로젝트이름7. Host = localhost, port = 8700 (DDMS에서 각 process를 8700으로 forwarding시켜줌)8. click Debug9. eclipse의 perspective를 debug로 전환10. Debug 모드에서 br..

Tips/Android 2013.02.24

proguard - 타겟 빌드 시 ClassNotFoundException, NoClassDefFoundError 가 나는 경우

App. 개발팀으로 자리를 옮기고 개발환경을 꾸미다가 삽질을 해서 정리합니다. 안드로이드 타겟 빌드할 때 분명히 클래스파일이 있고, 컴파일도 제대로 된 것 같은데 ClassNotFoundException, NoClassDefFoundError가 발생하는 경우가 있습니다. 컴파일러가 코드를 최적화하는 과정에서 링크를 빼버리는 것 같습니다. 이때는 다음처럼 해 주면 잘 동작합니다. 1. Adroid.mk파일에 다음 옵션을 추가 LOCAL_PROGUARD_FLAG_FILES := proguard.flags 2. proguard.flags 파일에 아래 내용을 기술 -dontshrink 원래는 Proguard(컴파일러가 최적화 시키지 못하도록) 하는 부분을 기술해줘야 하는데 위와 같이 하면 무조건 최적화 옵션을 ..

Tips/Android 2013.02.24