Recent Posts
Recent Comments
Link
관리 메뉴

NaggingMachine

AppInventor2 소스 코드 구동시키기 본문

TechnoBabbler

AppInventor2 소스 코드 구동시키기

naggingmachine 2013. 10. 21. 20:17

예전부터 AI2를 직접 서버에서 구동도 하고 가능하다면 오픈소스인만큼 소스 개선에도 참여하고 싶다는 생각이 있었는데, 오늘 약간의 시간이 허락하여 소스 코드를 다운받아서 빌드도 해보고 테스트도 해보았다.


테스트 방법은 우선은 로컬에서 소스 코드를 빌드한 다음, 문제가 없는지 확인한 후 구글 앱 엔진과 클라우드 서버에 코드를 올려서 원격으로 작업을 해보는 것이었는데, 생각만큼 어렵지도 않고 잘 되는것 같다.


본 내용의 모든 출처는 MIT에서 운영하는 AppInventor Source Repository에 있음을 밝힌다. 이 글에서 다루지 못하는 모든 세부적인 내용들을 해당 페이지에서 다루고 있으니 차근차근 따라해보면 된다.


http://appinventor.mit.edu/appinventor-sources/


소스 코드를 변경해보기 위해서 우선 AI2 소스 코드를 fork 했다. fork한 소스 코드는 아래 링크에서 다운로드

https://github.com/kevinseo/appinventor-sources/archive/master.zip


사실 맥에서는 다음 링크에 있는대로 따라하기만 하면 된다.

나는 아주 간단한 과정을 통해서 로컬에서 작동하는걸 확인해보았고, 곧바로 구글 앱 엔진과 클라우드 서버(BuildServer 용)를 만들었다.


우선 빌드 서버는 Microsoft Azure에서 구동시켜봤는데, OS는 Ubuntu 12.0을 기준으로 했다. 새로운 OS가 설치되었다고 가정하고 다음과 같이 일련의 명령을 실행한다.


$ sudo apt-get update

$ sudo apt-get install git

$ sudo apt-get install ant

$ sudo add-apt-repository ppa:webupd8team/java

$ sudo apt-get update


여기서 주의할 점은 Java의 SDK의 경우 반드시 Oracle에서 공식적으로 배포하는 SDK를 설치해야만 정상적으로 apk 파일이 장비에 등록이 된다고 한다. Open SDK를 설치하지 않도록 한다.


$ sudo apt-get install oracle-java7-installer



소스 코드를 다운받아서 압축 해제 후,

$ ant clean

$ ant


나의 경우에는 ant 명령을 내렸을 때 build failed가 떴다. 만약 WARNING: YAIL compiler - AAPT execution failed. 라는 오류가 뜬다면, 다음 두 명령을 실행해서 관련된 라이브러리들을 설치해준다.


$ sudo apt-get install lib32z1

$ sudo apt-get install lib32stdc++6


그리고 차례대로 다음 명령들을 실행한다.

$ ant PlayApp

$ cd buildserver

$ ant RunLocalBuildServer


또는 백그라운드 프로세스를 돌리기 위해서 다음 명령을 실행한다.


$ nohup ant RunLocalBuildServer > ../../buildserver-log.out &


서버가 잘 작동하는지는 다음 페이지를 방문해서 확인할 수 있다.


http://localhost:9990/buildserver/vars

http://localhost:9990/buildserver/health


참고로 AI2 버전을 사용하고 싶다면, 다음 사이트를 방문하면 된다.

http://ai2.appinventor.mit.edu/