Cannot complete the install because one or more required items could not be found.
Software being installed: Android Traceview 16.0.1.v201112150204-238534 (com.android.ide.eclipse.traceview.feature.group 16.0.1.v201112150204-238534)
Missing requirement: Android Traceview 16.0.1.v201112150204-238534 (com.android.ide.eclipse.traceview.feature.group 16.0.1.v201112150204-238534) requires 'org.eclipse.ui 3.6.2' but it could not be found
검색을 해보니 우분투에서는 갈릴레오 버전이고
현재 eclipse.org에서 받을수 있는 건 인디고 버전이다.
즉, 갈릴레오 버전이 낮아서 버전을 업해야지 가능하다는 이야기
Developers는 말 그대로 어플리케이션 개발자를 위한 SDK를 제공하고
Partners는 안드로이드 플랫폼을 개발하기 위한 안드로이드 플랫폼을 제공한다.
# Required Packages:
* Git, JDK, flex, and the other packages as listed above in the i386 instructions:
* JDK 5.0, update 12 or higher.Java 6 is not supported, because of incompatibilities with @Override.
* Pieces from the 32-bit cross-building environment
* X11 development
아무튼, 이녀석을 위해서는 Git 가 필요하고, 오만가지 것들이 필요한데
MacOSX 와 Linux는 지원하지만 Windows는 지원하지 않는다.
게다가, git for windows는 cygwin 으로 작동해서 엄청난 속도를 자랑한 악몽이 있기에... OTL
생각보다 repo sync에서 시간이 엄청나게 오래 걸린다. 전체용량이 대략 2기가 정도를 받는데
git 임에도 불구하고 이렇게 오래 걸리다니..(대략 6시간 넘게 걸린듯..)
안드로이드 플랫폼(?)은 git를 깜산 python 스크립트로 작동되는 repo 라는 녀석으로 받아온다.
그리고 home 디렉토리의 ~/bin 에 repo를 설치한다.
개인적으로는 상대경로를 입력해서 repo를 실행했으나
repo 를 초기화 하면 .repo 라는 디렉토리가 생성되므로 /bin 에 넣는것 추천할만한 방법은 아니나
개인 계정에 설치하고 심볼릭 링크로 걸어도 상관은 없을듯 하다.
$ cd ~
$ mkdir bin
$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo
안드로이드를 다운받기 위해서는 폴더를 하나 지정하고,
그 안에서 repo init 명령을 통해 초기화를 하고
repo sync 명령을 통해 다운로드 받는다.(6시간 정도 걸렸는데 네트워크 상황에 따라 달라질수 있음)
Your Name [XXXXXXXX]: YYYYYYYY
Your Email [username@devlinux.(none)]: username@gmail.com
Your identity is: YYYYYYYY<username@gmail.com>
is this correct [y/n]? y
Testing colorized output (for 'repo diff', 'repo status'):
black red green yellow blue magenta cyan white
bold dim ul reverse
Enable color display in this user account (y/n)? y
1. make 중에 멈추는 경우가 있는데, g++-4.3 패키지를 추가로 설치해준다.
(아마 gcc는 이미 깔려있었을테니, g++ 라이브러리 문제라고 생각이 된다. 설치시 심볼릭 링크도 변경된다)
frameworks/base/tools/aidl/AST.cpp:10: error: 'fprintf' was not declared in this scope
라는 에러로 시작해서 fprintf() 에러를 뿜어내면서 중단될때는 두개의 패키지를 설치해준다.
$ sudo apt-get install gcc-4.3g++-4.3
gperf는 performace 관련이 아니라.. hash function generator 라고 한다.
흐음.. 그 해쉬가 그 해쉬가 아닌가 -_-? 맹글링과 연관이 있어 보이기도 하고..
GNU gperf is a perfect hash function generator. For a given list of strings, it produces a hash function and hash table, in form of C or C++ code,
for looking up a value depending on the input string. The hash function
is perfect, which means that the hash table has no collisions, and the
hash table lookup needs a single string comparison only.
GNU gperf is highly customizable. There are options for generating C or C++ code, for emitting switch statements or nested ifs instead of a hash table, and for tuning the algorithm employed by gperf.
혹시나 해서 헤더를 봤더니 역시나.. PK로 시작한다(즉, ZIP 압축파일)
그래서 빵집으로 보면 내용이 보인다!
아마도 자바의 jar과 유사한것으로 생각을 했는데, 영문 위키를 보니
An .apk file extension denotes an Android Package (APK) file. This file format, a variant of the JAR format, is used for the distribution and installation of bundled components onto the Android mobile device platform
An APK file is an archive that usually contains the following:
AndroidManifest.xml
classes.dex
resources.arsc
res (folder)
META-INF (folder)
An .apk file can be opened and inspected using common archive tools such as 7-Zip, Winzip, Winrar and Ark.
안드로이드 폰에서 "설정 - 응용프로그램 - 개발"에 보면 "모의 위치 허용" 이라는 것이 있다.
도대체 머하는 녀석인지 궁금증 발동!
개발 화면
개발 화면에는 Android 애플리케이션 개발에 유용한 설정이 들어 있습니다.
Android API 및 개발 도구에 대한 도움말을 비롯한 자세한 정보는 Android 개발자 웹사이트 (http://developer.android.com) 를 참조하세요 .
USB 디버깅
USB 연결을 통해 컴퓨터의 디버깅 도구가 휴대전화와 통신할 수 있도록 하려면 선택합니다 .
켜진 상태로 유지
휴대전화를 충전기에 연결하거나 전원을 공급하는 USB 장치에 연결했을 때 화면이 흐려지거나 잠기는 것을 방지하려면 선택합니다 . 고정된 이미지가 휴대전화에 장시간 표시된 상태로 이 설정을 사용하지 마세요 . 화면에 해당 이미지의 자국이 남을 수 있습니다 .
모의 위치 허용 휴대전화의 자체 내부 도구를 사용하는 것이 아니라 컴퓨터의 개발 도구가 휴대전화에서 인식하는 위치를 제어할 수 있도록 허용하려면 선택합니다 .
안드로이드 개발했던 선배에게 물어봤더니(그 선배는 아이퐁 씀 ㅋㅋㅋ)
AVD는 원래 1분 정도 켜지는 시간 걸리고, 안드로이드 폰 있으면
1. 이클립스에서 AVD 한번만 켜 놓고, 계속 프로그램 전송해서 쓸수 있다는 것과
2. 안드로이드 폰이 있다면, 이클립스에서 target을 AVD 를 끄고 핸드폰을 직접 선택해서 쓸수 있다는
정보를 입수했다.
Step 1. Run - Run Configureations
Step 2. Android Applicatio - Project name - Target 탭
여기서 Automatic 에서 체크를 하나도 하지 않으면 된다.
Manual로 했을 경우에는, Run 버튼을 누르면 아래와 같은 창이 뜨고, Choose a running Andoid device 중에 사용할 안드로이드 폰을 설정해주면 된다.
물론, USB 드라이버 설치 / USB 디버그 모드 사용 / USB로 연결되어 있어야 한다.
아래는 Automatic 에서 아무것도 체크하지 않았을 경우 자동으로 장치를 찾아 구동하는 내용이다.
프로젝트 이름대로 프로그램이 설치가 되고,
프로그램 목록에 FirstProject 라는 녀석이, 응용 프로그램 관리에도 FirstProject 라는 녀석이 추가되었다.
Run을 하면, 당연히(!) FirstProejct가 실행된 화면이 나온다.(검은색 화면이라도, Lock을 풀면 실행되어 있다)
아무튼, Project - Properties - Android - Build Target 과는 관계가 없어 보인다.