- VMLite의 안드로이드 가상 머신 만들기에 이어서..

 이전 글에서 VirtualBox(버추얼박스)와 안드로이드 X86 가상 머신 파일을 이용해 안드로이드 에뮬레이터보다 훨씬 빠르게 개발 결과를 확인할 수 있는 것을 보여드린 바 있습니다. 혹시 이전 글이 궁금하신 분들은 아래 링크를 참고하세요.

 위 링크의 포스트에서 마지막에 터미널에서 이클립스와 해당 가상머신을 연동시키는 명령어 입력 과정을 거칩니다. 문제는 이 작업이 가상머신을 실행할 때마다 작동시켜야한다는 점인데요. 개발자의 마음에서 이런 과정은 참으로 불필요하고, 번거롭기 짝이 없는 과정입니다. 게다가 항상 같은 명령어인데도 불구하고 말이지요.

 클리앙의 맥당에서 자문(?)을 구한 결과, 쉘 파일과 애플 스크립트로 만들라는 말씀을 들었고, 저는 그나마 친숙한 애플 스크립트를 택했습니다. 그럼, 방법을 참고해보실까요. :)



 - 애플 스크립트를 이용해 자동으로 실행하자.

1. 먼저 'AppleScript 편집기' 앱을 실행시킵니다. 애플스크립트 편집기 앱은 유틸리티 폴더에 있습니다. :)


2. 그럼, 아래와 같은 모습을 만날 수 있습니다. 원래는 모두 공백이지요. 여기에 아래 보이는 것과 같은 명령어를 삽입합니다.


tell application "Terminal"

do script "/Users/leejaesung/Desktop/adt-bundle-mac-x86_64-MacbookAir/sdk/platform-tools/adb connect localhost"

end tell

3. 명령어를 조금 설명해볼까요.

 먼저, [tell application "Terminal"] 부분은 터미널 애플리케이션을 실행하라는 명령입니다.

 그리고 [do script " "] 부분은 실행한 터미널에 명령어를 추가하라는 이야기지요. 보시다시 "와 " 사이에는 전 포스트에서 보여드렸던 터미널 명령어를 입력하셔야만 합니다. 만약 저와 같이 하실 경우, 전혀 먹히지 않지요. 앞의 leejaesung 부분부터 ADT의 폴더까지 싹 지금 읽고 계시는 독자분들의 설정대로 하셔야 합니다.

 그리고 [end tell] 명령어로 실행한 터미널을 닫습니다.


4. 이렇게 되었으면, 한번 그 위의 [실행] 버튼을 실행해봅니다. 만약, 터미널이 실행되어 있지 않았다면, 터미널이 갑자기 독에 올려져 있고, 불이 들어와 있는 것을 보실 수 있을 겁니다. 터미널이 실행되었다는 증거(?)이지요. 화면에 보이지 않았다고 해서 실행이 되지 않았던 것은 아닙니다.


5. 자, 이제 자동화 프로그램을 만들기 위해서 이 스크립트 자체를 저장해봅니다.

 애플 메뉴의 [파일] - [별도 저장]를 클릭합니다.

6. 그러면, 아래와 같은 화면이 나오지요.

 [별도 저장:]에서 원하는 파일명을 입력하고, 위치도 설정합니다.

 중요한 것은 [파일 포맷:] 부분이지요. 4가지 설정이 있는데, 이것을 '응용 프로그램'으로 저장합니다. 그래야만 응용 프로그램의 형태로 저장되어 더블-클릭으로 바로 실행해 바로 명령어를 먹일 수 있습니다.

7. 자, 아래를 보시면, 스크립트 형태로 저장한 파일이 있고, 응용 프로그램의 형태로 저장한 파일이 있습니다.

스크립트 형태로 저장한 파일은 실행하면, 다시 'AppleScript 편집기' 앱이 실행되고, 아래 응용 프로그램 형태로 저장한 파일은 실행하면, 터미널이 소리 소문 없이 실행됩니다. 그리고 바로 명령어가 추가되지요.



 - 테스트?

 테스트를 위해서 이전 포스트에서 보셨다시피 이클립스를 구동시키고, VMLite에 심어둔 안드로이드 가상머신을 실행합니다. 그리고 지금 만든 애플 스크립트 응용 프로그램을 구동시켜 보지요. ADT 혹은 이클립스에서 터미널에 직접 명령어를 실행하는 것과 같은 효과를 보실 수 있을 겁니다. 훨씬 편해진 셈이네요. :)


 저의 경우, ADT와 가상머신 그리고 이 앱(?) 세개를 맥에서 잘 보이는 곳에 두고, 잘 조합하여 편하게 사용하고 있습니다. 스티커에 메모해두었던 것은 이제 지워도 되겠네요.



 - 까만거북이의 애플 스크립트 파일 업로드

 혹시나 나중을 위해. 그리고 다른 분들을 위해 제 애플 스크립트 파일을 업로드해봅니다. 만약, 이를 보시는 분들은 아래 파일을 다운로드하여 실행시키고는 명령어를 약간 수정한뒤, 별도 저장으로 앱의 형태로 저장만 하시면 좋을 것 같네요.



이것으로 글을 마칩니다.

고맙습니다.
행복하세요. :)


 * 참고 링크 (Reference)

 [Link] OS X에서 cocoa 맛보기    애플스크립트(AppleScript) 둘러보기

 [Link] osx - Sending commands and strings to Terminal.app with Applescript - Stack Overflow



포스팅 끝.
2013년 1월 29일.
1월 마지막 하고도 하루 전에.
포스팅은 최소한 이틀에 한개씩.

저작자 표시 비영리 변경 금지
신고
Posted by 까만거북이

댓글을 달아 주세요

  1. Favicon of http://ravenclaw.tistory.com BlogIcon Raven 2014.01.01 02:35 신고  댓글주소  수정/삭제  댓글쓰기

    이미 실행되고 있는 터미널에 명령어를 입력하는 방법은 없나요?

    • Favicon of http://blackturtle2.net BlogIcon 까만거북이 2014.03.04 19:47 신고  댓글주소  수정/삭제

      @Raven님//
      개인적인 사정에 블로그 관리가 소홀했습니다.
      댓글을 늦게 보았네요. 죄송합니다.

      터미널은 제가 아는 지식이 적어 답해드릴 수가 없네요.ㅠ

  2. 유종수 2014.10.24 18:25 신고  댓글주소  수정/삭제  댓글쓰기

    애플 스크립트는 오브젝트C와 다른 건가요? 참고로 저는 오브젝트 c를 모릅니다.