2009년 9월 30일 수요일
리눅스 파일 찾기
현재 폴더 아래에서 *.h 인 파일을 전부 찾으려면
$find . -name *.h
현재 폴더 아래에서 *.h 인 파일에서 CONFIG_가 들어가있는 것을 찾을려면
$find . -name *.h|xargs egrep -e CONFIG_
이러면 되더라...
2009년 9월 29일 화요일
리모트 디버깅
모두 wifi또는 lan으로 네트웍 연결이 되어 있어야 한다.
adb가 동작하는 PC와 같은 서브넷에 들어 있어야 한다.
Windows Command Prompt 상에서
SET ADBHOST=<버츄얼 박스 또는 실기 IP> 한 다음
tools>adb kill-server
tools>adb devices
하면 장치가 잡힌다.
물론 안드로이드에 adbd가 떠 있어야 한다. (당연한건가..)
2009년 9월 16일 수요일
SD CARD 이미지 만들기
$./mksdcard 128M sdcard.img라고 해 주면 128메가 SD카드 이미지가 만들어진다.
안드로이드 SDK 1.6
ADT도 새로 올라왔고 뭐가 변한건지 한번 확인해 봐야 겠습니다.
이클립스용 플러그인 ADT도 업데이트 되었습니다.
이클립스에서 Install new Software 를 통해 업데이트 하면 됩니다.
업데이트 하면 기존의 AVD Manager메뉴가 약간 바뀝니다.
그리고 1.1 버전을 지원하지 않게 됩니다.
2009년 9월 11일 금요일
안드로이드 소스 빌드 for x86
x86용 안드로이드 소스 빌드를 하며 이것저것 수정 했던 기록 입니다.
참고한 글은 kandroid의 인베인님 글이며 다음과 같습니다.
http://groups.google.co.jp/group/android-porting/browse_thread/thread/66862bdb52dac936
위 링크의 글을 보며 빌딩을 하면서 다음과 같은 부분에서 헤맸습니다.
1. repo가 없다.. 어디서 받아야 하는가
- 이부분은 kandroid의 들풀님 글에서 찾아 해결했습니다.
$ sudo apt-get install git-core gnupg
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
2. javac 버전관련 오류
- 이 부분은 소스 빌드할때 java-sdk 5 만 설치해서 컴파일 하는 것으로 넘겼습니다.
- java-sdk 6 이 같이 설치 되었을때는 /usr/lib/jvm/java-1.5.0-sun/bin에 있는 해당 파일들을
sudo update-alternatives --config <실행파일명> 을 해서 기본으로 1.6에 맞춰져 있는 것을
전부 1.5로 변경해 줬습니다. (실행파일들이 제법 많습니다.. 전부 변경해 주세요)
<java6 으로 변경하기>
$sudo update-java-alternatives --set java-6-sun <--이 방법을 쓰면 한번에 전부 변환 되더군요.
<java5 로 변경하기>
$sudo update-java-alternatives --set java-1.5.0-sun
3. local_manifest.xml을 수정하는 부분
- 기본적으로 repo sync가 막 끝났을때는 local_manifest.xml이 존재 하지 않습니다
~$gedit ./.repo/local_manifest.xml 을 실행하여 복사해 넣으면 되는데 그냥 위 링크의 글을 복사하면
줄넘김이 들어가기 때문에
<project name="platform/vendor/asus/eee_701" path="vendor/asus/eee_701"/>
이렇게 윗줄이 1줄이 되어야 합니다. (안그러면 피봅니다.)
4. make -j2 installer_img 를 하면 파일 이름을 바꿔주라는 메세지가 나옵니다.
$cd vendor/asus/eee_701
$mv Android.mk AndroidBoard.mk 를 하여 이름을 변경해 줍니다.
5. 그리고 external/e2fsprogs/Android.mk를 수정합니다.
ifneq ($(TARGET_SIMULATOR),true) 되어 있는 첫 줄을
ifeq ($(TARGET_ARCH),x86) 로 변경 해 줍니다.
그리고 2번째 줄의 주석을 풀어 줍니다.
ifeq ($(TARGET_ARCH),x86)
include $(call all-subdir-makefiles)
endif
6. vendor/asus/eee_701/eee_701.mk에서 generic_with_google.mk를 generic.mk로 변경
7. 이제 다시 빌드 하면 안드로이드 x86용 이미지가 만들어 집니다.
8. 하지만 아직 패치 안된 것들이 많기 때문에
http://code.google.com/p/patch-hosting-for-android-x86-support/downloads/list
위의 주소에서 패치들을 받아 소스에 적용해서 한번 더 만들어 주면 됩니다.