저는 Command Line 에서 GIT 을 쓰고 있습니다. '뭐든지 가장 기본이 되는 것부터 마스터를 하자!' 라고 평소 떠들고 다니기도 하지만, CLI (Command Line Interface) 가 가장 마음이 편안해 (?) 지는 환경이기 때문이도 합니다. 그러나 Eclipse 에서 개발이 최적화 되어 있는 분들은 어떤 방식이 되도 무조건 Eclipse 에서 돌아가길 원합니다. (진정한 IDE 라고 할 수 있죠) 그런분들에게 추천하고 싶은 포스트가 있습니다. 

http://www.vogella.com/articles/EGit/

일단 포스트 주소입니다. 그리고 이 포스트와는 별도로 저 분의 사이트는 안드로이드 개발하는 분들에게 참조가 될 만한 내용을 정말 많이 가지고 있어서 즐겨찾기 해두시고 가끔가다 찾으시면 효율이 좋을 것입니다. 

 
필요에 따라서 Eclipse 최신 버젼에 (Kepler) ADT 플러그인을 설치해서 사용중입니다. 이유는 간단합니다. 서버와 클라이언트를 동시에 개발할 일이 생겨서 그렇습니다. J2EE 와 ADT 를 따로 따로 설정해주는 방법도 있지만, 그 무겁고 귀찮은 Eclipse 를 두개나 깔아서 쓰라니요 절대 그럴 수는 없었습니다. 

최근 Eclipse 와 ADT 가 업그레이드 되면서 누락 된 부분이 있어서 수동으로 설치를 해줘야 한다고 합니다.

원문참조 : http://stackoverflow.com/questions/16608524/eclipse-giving-error-missing-r-java-file-after-recent-update?lq=1

원문 참조 이구요. "Android SDK Manager" 버튼를 클릭해서 창을 띄우고 

 
위 그림에서 체크된 항목을 설치해 주면 된다고 합니다.

 
Android 를 개발하기에 제일 좋은 환경은 Eclipse 입니다.  android-sdk 에서 따로 plug-in 을 제공하고 공식문서에서 기본으로 설명하는 것이기 때문에 가장 좋은 환경이라고 할 수 있습니다. 이클립스는 기본적으로 진화된 Emacs 라고 불릴정도로 많은 기능과 다양한 플러그-인 쉬운 UI 인터페이스등 정말 좋은 IDE라고 할 수 있습니다.

그럼에도 불구하고 나는 독하게 Emacs 를 쓰시겠다고 하는 분들만 아래에 쓰여질 내용을 보시면 됩니다.

1.  Emacs 를 Android 개발 환경으로 쓸려고 하면 android-mode 를 설치해야 합니다. git 가 설치되어 있다고 가정하고

git clone git://github.com/remvee/android-mode.git


과 같이 입력합니다. 그러면 android-mode 라는 디렉토리가 생깁니다. 제 경우에는 그 디렉토리를 "~/.emacs.d/android-mode" 로 복사해줬습니다.

2. 그리고  저번 포스팅인 "[Android] Snow Leopard 에 SDK 설치하기" 에서 설치됐던 Android SDK 가 위치한 곳 (제 경우에는 저번 포스트에서 "~/work/android" 였습니다.) "PATH_ANDROID_SDK/tools/lib"밀에 있는 android.el 을 "~/.emacs.d/android-mode" 밑에 같이 복사해 줍니다.

3. 그리고  .emacs 파일에 다음과 같이 추가해 줍니다.

(add-to-list 'load-path "~/.emacs.d/android-mode")
(require 'android-mode)
(require 'android)
(setq android-mode-sdk-dir "~/work/android")

이렇게 하면 android-mode 의 기능과 android 에서 자체적으로 지원하는 android 기능을 두가지 다 쓸 수가 있습니다.

이제 실제로 프로젝트를 만들어 보기로 하지요. http://developer.android.com/guide/developing/other-ide.html 이클립스를 쓰지 않고 다른 IDE 를 쓸 경우에 참조해야 하는 곳입니다. 그중에서 프로젝트 만드는 것을 참조하기로 하겠습니다.

android create project \
--target <target_ID> \
--name <your_project_name> \
--path path/to/your/project \
--activity <your_activity_name> \
--package <your_package_namespace>
라는 식으로 만들게 되어 있습니다. 다 일반적인 내용이고 실제로 몇번 만들어 보시면 어떤식으로 돌아가는지 아실 수 있습니다. 참조한 사이트에서 설명도 충분하고요. 다만 target 을 실제로 어떤것을 써야 할지 감이 안오실 수 있을 실텐데요. Terminal 창을 한개 여시고

android list targets.

라고 입력하시면 target 에 대한 설명이 자세히 나옵니다. 저번 포스팅 "[Android] Snow Leopard 에 SDK 설치하기" 에서 만들어본 testMachine 이라고 하는 AVD 는 타겟이 "10" 입니다.

이렇게 만들어진 프로젝트에서 "path/to/your/project/<your_project_name>/src/<your_package_namespace 를 갈라서 디렉토리로표현>/<your_activity_name>.java" 파일을 열어서

M-x

android-ant-install

라고 입력하시면 프로젝트가 컴파일이 되고 알아서 인스톨이 됩니다.

android-mode 에서 쓸만한 단축키를 보여드리겠습니다.

"\C-c \C-c" 를 입력한 상태에서

   
    ("d" . android-start-ddms)
    ("e" . android-start-emulator)
    ("l" . android-logcat)
    ("c" . android-ant-compile)
    ("i" . android-ant-install)
    ("r" . android-ant-reinstall)
    ("u" . android-ant-uninstall)

단축키에 따라서 실행되는 명령들 입니다.

여기까지는 쉽게 따라할 수 있는 부분입니다. 이제부터가 어려운데 특히나 Snow Leopard 에 설치하는 것이라 더 힘들었던것 같습니다.

위에 나와 있는 내용대로 포스팅을 하면 그냥 노트패드 같은 에디터에서 개발하는 것과 별 차이가 없습니다. 기본적으로 code generation 이나 code auto-completion 등이 되지 않으면 쓰기에 많이 불편합니다. 그래서 JDEE (Java Development Environment for Emacs) 를 설치해서 사용하게 됩니다.

Emacs + JDEE 가 딱 자바용 Eclipse 라고 보시면 됩니다. 다시금 Eclipse 를 설치해서 개발하면 편하다는 것을 말씀드리고 싶습니다.

1. JDEE 를 다운 받습니다. http://sourceforge.net/projects/jdee/files/ 에서 받으시고. 2.4.0.1 버젼을 받으시면 됩니다. 압축을 푸시고 "~/.emacs.d/jdee-2.4.0.1/" 로 복사해 두시면 됩니다.

2. ELIB 이 필요합니다. JDEE 를 받은곳에 포함되어 있습니다. http://sourceforge.net/projects/jdee/files/ 에서 받으시고 버젼은 1.0 입니다. elib-1.0.zip 을 받으시고 압축풀고 "~/.emacs.d/elib-1.0/" 으로 복사해 두시면 됩니다.

3. CEDET (Collection of Emacs Development Environment Tools) 이 필요합니다. http://cedet.sourceforge.net/ 에서 다운이 가능합니다. http://sourceforge.net/projects/cedet/files/ 에서 cedet-1.0pre7.tar.gz 을 다운 받으시고 압축을 푸신 다음에 "~/.emacs.d/cedet/" 으로 복사합니다.

4. USER_HOME 에 (제 경우에는 /Users/crazia ) 에 있는 .bash_profile 파일을 열고 다음과 같은 내용을 추가합니다.

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
export JAVAC=$JAVA_HOME/bin/java

저장하고 Terminal 창을 한개 열고

source .bash_profile


이라고 바로 효과가 나타나게 해 줍니다.

5. 이제 .emacs 파일에 다음과 같은 내용을 추가해 줍니다.  (추가 설명을 해 가면서 붙이기 하겠습니다)

(add-to-list 'load-path "~/.emacs.d/cedet/common")
(add-to-list 'load-path "~/.emacs.d/cedet/contrib")
(require 'cedet)

JDEE 는 기본적으로 CEDET 을 필요로 합니다. CEDET 을 설정하는 부분입니다.

(add-to-list 'load-path "~/.emacs.d/elib-1.0")
(add-to-list 'load-path "~/.emacs.d/jdee-2.4.0.1/lisp")
(require 'jde)

elib 과 jdee 의 path 를 추가해 주는 부분입니다. 그리고 jde 를 불러줍니다.

(setq jde-run-mode-hook t)

이상하게 jde-mode-hook 이 안불려지는 버그가 있더군요. 그래서 추가해 줍니다. 강제적으로 mode-hook 을 불러서 실행해줍니다.

(setq
 jde-sourcepath '( "/Users/crazia/work/android/project" )
 jde-db-option-connect-socket '(nil "28380")
 jde-jdk-registry (quote (
              ("1.5" . "/System/Library/Frameworks/JavaVM.framework/Versions/1.5/")
              ("1.6" . "/System/Library/Frameworks/JavaVM.framework/Versions/1.6/")
              )
             )
 jde-jdk `("1.6")
)

jdk 버젼을 조정할 수 있게 구현해 주는 부분입니다. OSX 다 보니 java 가 깔려 있는 곳의 디렉토리가 일반적인 unix 와는 조금 다릅니다.

;; cua-mode 끄기
(cua-mode nil)

\C-RET 은 정말 편하게 쓸 수 있는 단축키 인데 cua-mode 가 항상 점유하고 있으면서 바꿔지지도 않습니다. 아예 cua-mode 를 꺼버리면 편하게 쓸 수 있습니다.

(add-hook 'jde-mode-hook
          (lambda()
            (define-key jde-mode-map [(control return)] 'jde-complete)
        (define-key jde-mode-map [(meta return)] 'jde-complete-minibuf)
        (define-key jde-mode-map [(shift return)] 'jde-complete-in-line)))

자동 완성 단축키를 지정합니다. 제일 많이 쓰는 것이 "\C-RET" 다 보니 그 단축키를 jde-complete 함수에 묶었습니다.

이제부터 Emacs 에서 Android 개발이 쉬워지게 세팅을 끝냈습니다.


+ Recent posts