본문 바로가기

개발 개발/Android

안드로이드 소스의 버전을 볼려면 어떤 파일을 봐야 하는가? 안드로이드 프레임워크 mydroid/build/core/version_defaults.mk 열어보면 39 ifeq "" "$(PLATFORM_VERSION)" 40 # This is the canonical definition of the platform version, 41 # which is the version that we reveal to the end user. 42 # Update this value when the platform version changes (rather 43 # than overriding it somewhere else). Can be an arbitrary string. 44 PLATFORM_VERSION := 2.3.5 45 endif 커널 버전 kernel/and.. 더보기
전체 소스에서 일부만 다시 빌드 - mmm 커맨드 출처 : http://www.androidpub.com/3715 전체 소스를 http://source.android.com/download 에서 하라는데로 다운로드 받고 한번 빌드하는 것까지는 다들 쉽게 따라하셨을 것이라 생각합니다. 그 이후에 특정부분만 다시 빌드하고 싶을 때는 다시 make를 할 필요없이 mmm이라는 커맨드를 사용하면 됩니다. $. build/envsetup.sh 을 실행한 후 $ mmm packages/apps/Contacts 와 같이 시행하면 Contacts부분만 다시 빌드됩니다. Android.mk가 존재하는 Path만 적용할 수 있습니다. $ make snod 를 실행하면 위에서 빌드한 Contacts를 적용한 system.img 를 다시 빠르게 생성합니다. 그리고 한글등이 들.. 더보기
Android에서 4gb 이상 비디오 돌리기 안드로이드는 SD Card를 FAT32 까지만 인식을 한다. 문제는 FAT32 파일시스템은 단일 파일 4gb 까지만 인식을 한다. 따라서 exFAT나 NTFS or EXT2 (or3,4) 를 써야만 한다. 라이센스 문제로 exFAT NTFS는 지원하지 않고 EXT2도 공식 지원하지 않는 커널이 많다. 방법은 2가지 - NTFS 사용 : fuse 모듈을 올리면 NTFS 파일시스템을 읽을수 있다. - EXT2 사용 : 커널에서 ext2를 지원해야 한다. (테크라크 커널등) 어째든 둘다 자동 미디어 스캐닝은 안된다 ㅜ.ㅠ 탐색기 어플로 들어가서 재생해서 재생 가능함. or vital player 같이 파일을 탐색해서 재생하는 어플 사용. ext2로 포맷할경우 컴터(윈도우)에서 인식은 못하므로 http://do.. 더보기
ICS (IceCream Sandwitch) 소스가 나왔다. 소스받기 : http://source.android.com/source/downloading.html 빌드하기 : http://source.android.com/source/building.html 소스 받기 repo가 업데이트 되었으므로 기존꺼 지우고 새로받아야 한다. Downloading the Source TreeInstalling RepoRepo is a tool that makes it easier to work with Git in the context of Android. For more information about Repo, see Version Control. To install, initialize, and configure Repo, follow these steps: Make s.. 더보기
objdump 출처 : http://smilk.egloos.com/486882 시작질문은 간단하다. 리눅스는 어떻게 내가 만든 main()을 실행하나? 이 글은 아래 간단한 C 프로그램을 예로 삼아 설명한다. 이를 "simple.c"라 하자. main() { return(0); } 컴파일 gcc -o simple simple.c 실행파일에는 무엇이 들어있나?실행파일에 무엇이 있는지 보기위해 "objdump" 도구를 사용하자. objdump -f simple simple: file format elf32-i386 architecture: i386, flags 0x00000112: EXEC_P, HAS_SYMS, D_PAGED start address 0x080482d0 출력은 실행파일에 대한 귀중한 정보를 알려준다. 먼.. 더보기
Kconfig, Makefile, defconfig 출처 : http://blog.naver.com/areema/60135756070 Kconfig, Makefile, defconfig 얘네들이 리눅스 시스템 개발 처음 시작할 때 가장 헷갈리고 가장 영향을 많이 줬던 녀석들이었다. 지금 생각해 보면 정말 별거 아닌 것 들인데 -..- 책에는 뭔가 어렵게만 적혀 있었던게 기억난다. 간단히 집고 넘어가보자 Makefile 말 그대로 파일을 생성하는 스크립트다. 예제를 하나 보자면  obj-y += gpio/ obj-$(CONFIG_GPIO) += gpio/ obj-y 의 y는 yes 라는 말로 gpio 폴더 내의 .o 파일들을 오브젝트 파일로 만들겠다 그 소리다. 참고로 / 가 붙어있는건 폴더라는 뜻이고 파일 한개만 지정하고 싶을 땐 .o 를 붙여주면 되겠.. 더보기
안드로이드 [Resource]리소스 폴더구조 출처 : http://blog.naver.com/rockhammer/80124449718 Resource 접근 방법 @[package:]type/name 종류 : xml기반의 리소스, 미가공리소스(raw resource), 애셋(asset) 일반 리소스의 경우 AAPT(Android Asset Packaging Tool)로 바이너리로 컴파일 된 후에 최종 .apk파일에 포함된다. 크게 나누면 리소스는 최종 .apk파일이 만들어질때 바이너리 형태 여부를 가지고 나눌 수 있다. 바이너리 형태 / 일반 형태 만들어진 리소스는 Eclipse의 /gen/pacakge-name/R.java 파일에 상수로 정의되어진다. 리소스 폴더 /assets - 일반 파일들로 /assets를 제외한 상대 경로로 접근 가능하다. .. 더보기
Locale 변경하기 android/build/target/product/core.mk PRODUCT_LOCALES := \ ko_KR \ en_US 더보기