Archive for the ‘ Mobile ’ Category

CalledFromWrongThreadException

http://binsolb.tistory.com/entry/CalledFromWrongThreadException

dp와 sp

* dp : 160-dpi 화면에 상대적인 밀도 독립 필셀
화면의 물리적 밀도에 기반한 추상적인 단위로서 160-dpi 화면에 상대적이다.
(즉, 1dp 는 160-dpi 화면에서 픽셀 하나에 해당하는 값이다)
dp-to-pixel 비율은 화면 밀도에 따라 바뀌지만 정비례할 필요는 없다.
* sp : 크기 독립 픽셀
dp 단위와 비슷하지만 추가적으로 사용자가 선택한 글꼴 크기에 의해 크기가 조절된다.
이 단위는 글꼴 크기를 지정하는 데 사용되도록 권장되는데, 이렇게 하면 화면 밀도와사용자의
선택 모두를 감안해 조정될 것이다.

Gingerbread Source Code Download

Gingerbread Source code download

ubuntu 64비트 환경에서 작업

1. ubuntu 64bit

진저브레드 소스코드를 다운받아 컴파일 하려면 ubuntu 64비트에서만 작업가능

2. JDK 6

프로요 아래버전은 JDK 5 버전에 최적화

진저브레드 버전은 JDK 6 버전에 최적화

repository 추가 후 sun-java6-jdk 설치

sudo add-apt-repository “deb http://archive.canonical.com/ lucid partner”
sudo add-apt-repository “deb-src http://archive.canonical.com/ubuntu lucid partner”
sudo apt-get update
sudo apt-get install sun-java6-jdk
sudo update-java-alternatives -s java-6-sun

3. 개발환경 설정

아래 패키지 설치

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

추가로 Valgrind 설치 (메모리 leaks 검사)

apt-get install valgrind

4. repo 설치

홈디렉토리에서

$mkdir ~/bin

$PATH=~/bin:$PATH

$ curl http://android.git.kernel.org/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

5. repo client 설치

$mkdir ~/bin/gingerbread

$cd ~/bin/gingerbread

$repo init -u git://android.git.kernel.org/platform/manifest.git -b gingerbread

6. source 파일 다운로드

$repo sync

7. 소스코드 빌드

$ export ANDROID_JAVA_HOME=$JAVA_HOME

$ cd ~/directory
$ source build/envsetup.sh
$ lunch
$ make