저의 지인이며 비밀 스터디의 주도권을 가지고 계신 ganadist님께서 안드로이드 빌드 툴을 GTK와 Python기반으로 개발하셨다고 합니다.

아래는 저의 컴퓨터에서 실행한 화면으로 아직 Android Source kit을 받지 않았기 때문에 설정화면이 이상하게 되었군요.


(제대로 동작하는 화면의 경우는 그분의 동의를 받지 못해서 올리지 못하고, 주말 쯤 제가직접 프로그램 돌리는 스크린샷을 올리겠습니다.)


소스는 https://github.com/ganadist/abuild 에서 받을 수 있습니다.

안드로이드(Android)를 처음 접하는 초보자들도 쉽게 빌드 할수 있도록 GTK기반으로 UI를 구성한 후, 작성하였다고 합니다.


이 프로그램의 요구사항은 GNOME 3.0 개발환경에 맞게 만들어졌기 때문에 GTK+-3.0 이상이 설치되어야 한다고 나와 있군요. (GTK+-2.0과 GTK+-3.0간 호환성이 없다보니..)


* Requirements
	- python 2.6 or higher
	- pygobject 2.90 or higher
	- gtk 3.0 or higher with gobject-introspection
	- vte 2.90 or higher with gobject-introspection


실행방법

git으로 소스트리(참고 - https://github.com/ganadist/abuild  )를 받은 후 ./abuild를 실행하면 됩니다. 단 안드로이드 커널 소스를 미리 받으셔야 합니다.


* How to run?
	- change directory to source
	- run ./abuild
	 . need to fix for deployment
	- click "Source Top" button and select android source directory
	- if source directory has valid contents, "Build", "Product",
	  "Variant" button will be enabled
	  . TIP: If you set TOP shell environment and that is android
	    source directory, it will be set as "Source Top" directory
	- select check buttons and press "Build" button


ps. 제대로 빌드하는 모습을 다음 일요일에 제대로 된 실행화면을 블로그로 업로드할 예정입니다.

Buy me a coffeeBuy me a coffee

이번에 안드로이드의 리눅스 기반 애플리케이션 만들기에 도전을 해보았습니다.

리눅스를 기반한 안드로이드 플랫폼 개발을 위해선 C언어를 우선 알아야 합니다.

C언어 정도는 Java를 알면 금방 배우는 쉬운 언어입니다^^


C언어를 알았으면 리눅스 기반의 안드로이드 애플리케이션을 만들때 필요한 크로스 컴파일용 툴 체인(Tool Chain)을 설치해야합니다.

툴체인은 android-group-koreaDownload에 여러가지 종류가 있는데 그 중 하나인 arm-cortex_a8-linux-gnueabi-20100108.1030.tar.bz2 을 다운로드 받아 Ubuntu 10.04에 툴 체인을 설치하였습니다.

(※ Tool Chain설치는 [common]Kandroid Toolchain Ver.20090108 for Cortex-A8를 참고하시면 됩니다.)


툴체인을 설치 후엔 아래와 같이 C언어 코드(hello.c)를 작성합니다.


#include <stdio.h>
int main(int argc, char *argv[])
{
    printf("Hello, Android!\n");
    return 0;
}

코드 작성후 아래와 같이 컴파일 합니다.

저는 arm-cortex_a8-linux-gnueabi-20100108.1030.tar.bz2 를 다운 받아서 arm-cortex_a8-linux-gnueabi-gcc가 들어갔습니다. 툴체인의 버전에 따라 이름이 다르긴해도 툴체인의 컴파일러 실행파일 뒤에는 gnueabi-gcc가 붙습니다.


studioego@studioego-desktop:~/working$ arm-cortex_a8-linux-gnueabi-gcc hello.c -static -o hellostatic

컴파일을 하고 나선 컴퓨터에서 실행하려면 안됩니다. 이유는 컴퓨터(x86)용으로 컴파일 한 것이 아니라 안드로이드용 기계(arm)용으로 컴파일되어 돌아가지 않을뿐.


studioego@studioego-desktop:~/working$ ./hellostatic
bash: ./hellostatic: cannot execute binary file

위의 실행파일을 실행시키려면 x86용으로 컴파일을 하지 않았기 때문에 실행이 되지 않습니다.


컴파일하여 나온 결과파일을 안드로이드폰인 제 hTC Desire에 넣어보고 실행을 하겠습니다.


studioego@studioego-desktop:~/working$ adb push hellostatic /data/ch13
614 KB/s (586197 bytes in 0.931s)
studioego@studioego-desktop:~/working$ adb shell
# cd /data/ch13
# chmod 777 hellostatic
# ./hellostatic
Hello, Android!
#




위의 화면에서 나온 것 처럼 Hello, Android!가 실행됩니다.

그리고 휴대폰에서 터미널을 띄어넣고 hellostatic을 실행해도 똑같은 화면이 나옵니다.




단순한 애플리케이션이지만 C언어로도 Android 어플을 만들수 있다는 것을 보여줍니다.

여기까지 경지에 오려면 툴체인의 개념을 잘 알아야 하던데, 아직 저도 툴체인쪽 개념은 젬병 ㅡㅡ;;

Buy me a coffeeBuy me a coffee
  1. Favicon of http://blog.naver.com BlogIcon dong880510 2012.03.22 09:33

    좋은 글 잘 보고 갑니다 ^^

+ Recent posts