본문 바로가기

분류 전체보기

[ Android ] Native단 Logcat에서 Log 출력 Java 소스 에서는 손쉽게 Log 클래스만 불러오면, 어디서든 Logcat으로 결과 값을 출력할 수 있습니다. 하지만, Native 단에서는 다른 방법으로 해줘야 합니다. 그 방법을 공유하고자 합니다. 1. Log를 출력하는 소스가 위치하는 Android.mk 파일에 LOCAL_SHARED_LIBRARIES += liblog 위와 같이 Library 추가. (참고 : static 이든 shared 이든 Log 출력하고자 하는 소스에 전부 추가시켜주세요.) 2. Log를 출력하는 소스에 header와 Log 함수 추가. #include … __android_log_print(ANDROID_LOG_INFO, "LogCatTag" , "%s:%d :: Log "\n", __FUNCTION__, __LINE_.. 더보기
[ Android.mk ] Android.mk Setting 후, Compile이 안되는 현상. Android.mk 파일은 현재 폴더에서 어떤 소스를 어떤 용도로 빌드할지 지정해주는 Makefile이죠.다름이 아니라, 분명 Android.mk의 Setting이 완벽한데 Compile이 일어나지도 않고,Library 파일도 생성이 안되는 경우가 있습니다. 경험에서 얻은 정본데요. Android.mk파일을 추가하고 Src를 Setting했다고 Library로 바로 생성해 주지 않습니다.꼭!!! 그 생성하고자 하는 Library 모듈을 사용하는 곳이 있어야만 빌드가 진행됩니다. 예를 들어,Android.mk 에...LOCAL_MODULE := TestModule...include $(BUILD_SHARED_LIBRARY)모듈을 생성하고, 어딘가에서 위 Shared Library를 호출해야만 Build가 .. 더보기
[ Kernel ] system 디버깅 printk라는 함수를 사용하여 kernel단에 디버깅을 한다. 이 로그를 보기 위해서는 다음과 같이 하면 된다. 1)prompt창 띄운 후 adb shell -> dmesg 를 하면 부팅 후 현재까지의 로그를 전부 보여줌2)adb shell -> dmesg -c 를 하면 현재까지 다 보여주고 로그 버퍼 삭제 -> dmesg3)adb shell -> cat /proc/kmsg 실시간 로그 보여줌 ( path가 안되어 있을 경우, sdk/platform-tools 에 보면 있다.) 더보기
[ Kernel ] System call 추가 방법 ( ICS ) 안드로이드에 Systemc call을 추가하여 user 단에서 사용 하는 법을 해볼까 한다.이 내용은 ICS를 기초로 하는 거다. 참고로, 대부분의 안드로이드 폰이 arm기반으로 되어있기 때문에 아래 추가내요은 x86이 아닌 arm에서의 추가방법임. 그럼 차근차근 하나씩 수정해보도록 해보겠다.1. System Call 등록 - Unistd.h에 System Call 번호 추가 위치 : android/kernel/arch/arm/include/asm/unistd.h#define __NR_sendmmsg (__NR_SYSCALL_BASE+374)#define __NR_setns(__NR_SYSCALL_BASE+375)#define __NR_set_add_function(__NR_SYSCALL_BASE+376.. 더보기
[ C언어 ] 기초 공부 저희 회사 차장님한테 수업을 들었는데...기초중의 기초도 대답을 제대로 말 못했던 적이 많았던 것 같아요.그래서 그 순간 혼났던 내용들을 적어볼까 합니다. 먼저 2의 0승은??????????? 1이죠...( 전 이걸 몰랐다능;;; 진짜 제가 한심스럽더군요;;)그럼 2의0승 부터 16승까지 나열하실 수 있으신분??? 0 5 10 151 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536 그다음...IDE(Integrated Development Environment) 란??(Compiler + Debugger + Editor )와 같이 개발을 하기 위한 통합 환경을 말합니다. 안드로이드 같은 경우 , java Compiler + vm + ec.. 더보기
[ Virutal Box ] 사용시 메모리 에러 VirtualBox를 사용하다가 가장 많이 본 에러가 메모리 관련 오류 였던 것 같다. 너무 사용량이 많아 돌릴 수 없다는 내용이었다. 현재 8기가 램을 사용하지만, 보안 때문에 32Bit를 깔아놓았더니.... 4기가밖에 제어가 되지 않는 상황이다. [ 메모리 오류가떳을 경우 ]Virtualbox의 [Ubuntu 선택] -> [설정] -> [시스템 탭] -> [마더보드] 에서 기본 메모리를 녹색으로 위치 시킵니다. 기본적으로 OS에서도 사용하는 메모리와 충돌이 나서 오류가 자주 발생하는 것으로 보입니다. 현재, Android 소스를 공유폴더로 cp를 통해 옮길 때 , 위 메모리 오류가 발생 해서 기본 메모리를 낮췄더니 문제없이 돌아갑니다. 참고하시면 될듯^^ 더보기
[ Ubuntu ] Android 개발 환경 설정. 기본 적으론http://source.android.com/source/initializing.html 위 사이트에 들어가서 그대로 따라하시면 됩니다. 1. JDK6.0 설치sudo add-apt-repository ppa:sun-java-community-team/sun-java6sudo apt-get updatesudo apt-get install sun-java6-jdk 2. Android 설치 명령어 설정 (Ubuntu 10.04)$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \ x11proto-core-dev l.. 더보기
[ Ubuntu ] VirtualBox에 Ubuntu10.04 설치하기. 1. VirtualBox 다운로드http://www.virtualbox.org/wiki/Downloads 2. Ubuntu 다운로드http://releases.ubuntu.com/lucid/ ( 10.04버전 다운로드 )http://www.ubuntu.com/download(최신 버전 다운로드) - 주의 사항 Ubuntu는 32bit 10.04로 설치 메모리를 2048MB 이상 셋팅 하드 용량은 60GB 이상 셋팅 ( Android 전체 소스량이 16GB 정도 ) 3. Ubuntu 설치http://thdev.net/237 더보기