Mac에서 AIR 2.0 Beta 개발환경 만들기 - Flash Builder 4 Beta 2 기반
2009/12/03 01:35
[공지]이미지나 링크가 깨졌다면 댓글 부탁드립니다.
처음 Flash Builder 4 beta 2를 설치하면 설치된 디렉토리에 sdks 디렉토리가 있고 이 안에 3.4.1, 4.0.0 의 두개의 디렉토리가 있다. 이 디렉토리는 SDK 두개의 버전을 말한다. 이는 윈도우(MS Windows)던 맥(Mac)이든 동일하다. 윈도우는 C:/Program Files/Adobe/Flash Builder 4 beta 2/sdks가 되겠고 맥이라면 /Application/Adobe Flash Builder 4 beta 2/sdks가 될 것이다.하지만 AIR 1.5개발을 위한 sdk들이며 새로운 AIR 2.0 Beta를 테스트해보기 위해서는 sdks를 변경해야한다. 윈도우에서는 Adobe Labs에서 AIR 2.0 Beta SDK를 다운로드 받아 해당 sdks안에 3.4.1, 4.0.0 디렉토리에 각각 복사하고 AIR 2.0 Runtime을 설치하는 것만으로 개발환경이 구축된다. (이미 윈도우환경에서 AIR 2.0 Beta를 Flash Builder 4에 적용하는 방법을 소개했었다. : http://blog.jidolstar.com/619)
하지만 맥에서의 복사는 윈도우 운영체제에서 복사와 다른 개념을 가진다. 윈도우에서는 같은 디렉토리 이름의 경우 이전의 내용과 덮어쓰려는 내용을 합쳐버린다. 하지만 맥은 같은 이름의 디렉토리는 제거하고 복사할 디렉토리로 바꾼다. 이를 대치한다고 한다. 그래서 맥 사용자는 AIR 2.0 개발환경을 구축하기 위해 조금 복잡한 과정을 거쳐야한다.
약간 복잡하더라도 리눅스를 조금만 다뤄봤다면 쉽게 이 문제를 해결할 수 있다.
- 파인더에서 Application(응용 프로그램) > 유틸리티 에서 터미널을 실행한다.
- 만약 이전에 root 계정을 만든 적이 있다면 바로 su를 입력해 root권한으로 접근한다.
아니면 sudo passwd root 를 입력해서 현재 계정의 암호를 입력하고 root암호를 설정후 성공적으로 입력하면 su로 접속해 방금 입력한 root암호로 접속한다. 참고로 root로 접속하면 명령 프롬프트가 $에서 #로 바뀐다.
- 다운로드 받은 AIR 2.0 SDKs를 기존 sdks에 복사하기 위해 cp -rf orig_dir/* dest_dir를 이용한다.
만약 AIR 2.0 SDKs를 자신의 홈에 복사해 두었다면 다음과 같이 터미널 창에 입력하여 강제 복사한다.
cp -rf /Users/jidolstar/AIR2.0SDK/* /Applications/Adobe\ Flash\ Builder\ Beta\ 2/sdks/3.4.1/
cp -rf /Users/jidolstar/AIR2.0SDK/* /Applications/Adobe\ Flash\ Builder\ Beta\ 2/sdks/4.0.0/
윈도우와 맥의 디렉토리 복사에 대한 개념이 달라 본인도 몇시간 고민한 결과 찾아낸 방법이다. 좋은 정보가 되었으면 한다.
추가사항
기존에 AIR 1.5 기반의 SDKs를 그대로 두면서 AIR 2.0도 필요할 때 개발하고 싶은 사람도 있을 것이다.
그런 경우에는 위의 설명에서 약간만 다르게 하면 되겠다. 위에서 설명한 2번째 내용에서 root로 접속하는 것까지는 같다.
- Flash builder 4의 sdks 디렉토리에 있는 3.4.1과 4.0.0의 복사본을 만든다.
mkdir 3.4.1_AIR2.0
mkdir 4.0.0_AIR2.0
cp -R 3.4.1/* 3.4.1_AIR2.0
cp -R 4.0.0/* 4.0.0_AIR2.0 - AIR 2.0 SDKs를 3.4.1_AIR2.0과 4.0.0_AIR2.0 폴더에 복사한다.
cp -rf /Users/jidolstar/AIR2.0SDK/* /Applications/Adobe\ Flash\ Builder\ Beta\ 2/sdks/3.4.1_AIR2.0/
cp -rf /Users/jidolstar/AIR2.0SDK/* /Applications/Adobe\ Flash\ Builder\ Beta\ 2/sdks/4.0.0_AIR2.0/ - Flash Builder 를 실행한다.
- 메뉴에서 Eclipse > Preference에 들어간다. (참고로 Window였다면 Window > Preference이다.)
- 창이 뜨면 왼쪽 메뉴에서 Flash builder > Installed Flex SDKs를 선택한다.
- 우측에 Add버튼을 눌러 위에서 새로 만든 AIR 2.0을 위한 SDKs들을 선택한다.
Flex SDK Name은 각각 Flex 3.4 AIR 2.0, Flex 4.0 AIR 2.0 등으로 이름을 바꿔도 된다.
본인의 경우 아래 경로가 되겠다.
/Applications/Adobe\ Flash\ Builder\ Beta\ 2/sdks/3.4.1_AIR2.0/
/Applications/Adobe\ Flash\ Builder\ Beta\ 2/sdks/4.0.0_AIR2.0/
본인은 아래처럼 AIR 2.0기반의 Flex 4.0 SDK를 디폴트로 잡았다.
- 이제 모든 개발환경이 완료되었다. 자신의 프로젝트 생성시에 원하는 SDK를 선택하면 되겠다.
- 만약 프로젝트 중간에 AIR 1.5기반으로 만들다가 AIR 2.0기반으로 바꾸려면 해당프로젝트를 선택후 마우스 우클릭으로 Properties를 선택한다. 창이 뜨면 좌측 메뉴에서 Flex Compiler를 선택후 Flex SDK Version을 해당 SDK로 바꾸면 되겠다.
'Adobe Flash Platform' 카테고리의 다른 글
| Adobe AIR 2.0 Overview #1 - 개발환경 구축방법 및 새로운 기능 소개 (5) | 2009/12/08 |
|---|---|
| [Flex 3 Tip]MenuBar, MenuBarItem, Menu 색지정 잘 안되는 문제 해결하기 (4) | 2009/12/04 |
| Mac에서 AIR 2.0 Beta 개발환경 만들기 - Flash Builder 4 Beta 2 기반 (19) | 2009/12/03 |
| Adobe AIR 2.0 으로 만든 웹브라우져 (2) | 2009/12/02 |
| Flex 4기반 Adobe AIR에서 CPU 사용을 줄이는 방법 : backgroundFrameRate 활용 (0) | 2009/12/02 |
| [오픈케스트]Adobe AIR와 친해지자 - 오픈소스 및 학습 (0) | 2009/12/02 |




쌩뚱맞는 질문인데요...물어 볼 곳이 없어서...ㅡㅡ
메뉴바에서 메뉴바아이템을 클릭하면 색이 바뀌는데...
그 색을 어떻게 바꾸나요?
themeColor 속성을 적용하니까 색은 바뀌는데 뿌옇게 나와서..ㅡㅡ
궁금해요..ㅡㅡ
소스를 좀 보여주심이... 방명록에~ ^^
부산 박대호라고 합니다.
님의 정보에 감사 드립니다.
코딩하다가 잘 되지 않는 것이 있어서 질문 드립니다.
제목 : modules with DataService
내용:
저는 LCDS 의 data-management를 이용하여 코딩을 히고 있습니다.
저의 프로젝트 구조는 1개의 Main Application과 Module들로 구성되어 있습니다.
그리고 각 Module들은 DataService를 가지고 있습니다.
그런데, 문제는
최초로 선택된 모듈의 DataService는 정확히 동작을 하는데,
2번재 부터 선택된 모듈의 DataService에서는 에러가 납니다.
아침 7시 30분 부터 작업을 혼자서 합니다.
저녁 12시를 넘어 귀가하는 경우가 많습니다.
FLEX를 시작한지 이제 3개월 입니다.
많은 고비가 있었는데, 이것이 마지막 난코스 인것 같습니다.
도움을 주실 수 있으면, 후사 하겠습니다.
그럼 이만... ceo@wibronix.com.. 010-65667428
질문한 내용으로 보아 통신문제라기 보다 다른 이유가 있을 것 같습니다.
ApplicationDomain과 관계가 되어 있는것 같습니다.
AD는 Class정의 영역을 구분하고 GC화 시키는데 필요한 개념인데요. 이에 대해서 좀더 공부하시면 이 문제를 해결하실 수 있을겁니다.
Main, Module1, Module2가 있을때 Main에 DataService클래스가 함께 컴파일하고 각각의 모듈을 컴파일할때는 Main을 최적화소스로 두고 컴파일하시면 각각 모듈에는 DataService클래스가 정의되지 않지만 Main에 로드될때 Main에 정의된 DataService클래스를 참고하게 될겁니다. 어찌 이렇게 되는지 아시려면 결국 ApplicationDomain에 대해서 아셔야 할겁니다.
먼저 감사를 드립니다.
스타님의 답글을 보고 한번 더 힘을 내 보겠습니다.
저도 혹시나 저 부분이 문제가 아닐까라고 생각은 했지만,,
사실 많이 지쳤거던요..
나이가 50을 향해 가는 부산의 1인 벤쳐기업 대표 입니다.
전공은 컴퓨터 공학이지만 코딩을 졸업후 하지 않았습니다.
IT업계에 계속 종사는 했습니다.
직접 프로그램을 혼자서 하기가 넘 힘들군요..
다시 한번 지돌 스타님의 글에 감사 드립니다.
AD쪽에 촛점을 두고 다시 한번 해 보겠습니다.
그러시군요. 어려운 환경해서도 또 연세도 있으신데 열심히 하시는 모습이 멋있으십니다. 한국 개발자중에 그만한 나이를 제가 뵌적이 없는 것 같네요. 아무튼 문제를 꼭 해결하시길 바랍니다.
성공했습니다.
감사합니다...
스타님의 말씀대로 AD를 적용 했습니다.
단지.... 한 줄만 추가 했습니다.
그런데 성공 했습니다.
감사 합니다.
기존에 DataService를 클래스로 만들어 놓았었는데..
Main에서는 DataService를 사용하지 않았기 때문에..
DataService 인스턴스를 생성을 전혀 하지 않았습니다.
모듈들에만 생성해서 사용하려 했습니다.
그런데....
스타님의 말씀대로... Main에 딱 한줄...
DataService 인스턴스 생성 한줄만 넣었습니다.
됩니다....감사 합니다...
지금 시간이 밤 11시를 향하고 있습니다.
오늘은 조금 일직 가야 겠습니다...
저의 휴대폰 번호 입니다..
꼭 연락 바랍니다.. 010-6566-7428
감사 합니다.
정말 축하드립니다. 처음 Flash개발을 하시면서 모듈기능을 하다가 항상 막히는 부분이 그 부분입니다. 이때는 AD를 이해야하죠. ModuleLoader는 결국 Loader롤 한번 감싸준 것이고 내부적으로 AD를 처리하고 있지요. Flex개발하시더라고 기본 ActionScript 3.0에 대해서 학습이 전제가 되어야 합니다. ^^
스타님의 말씀처럼.. 또 다시 기본으로 회귀하는 군요.
AS3.0의 기본 .... !
다시 한번 겸손의 미덕을 배워 봅니다.
감사 합니다...
연락 좀 주세요...
그럼 주말 잘 보내시구요...
[img]http://kimc.hosting.paran.com/capture_1.jpg[/img]
이곳에서 빨간색 부분이요....
MenuBarItem {
theme-color:#0000FF;
}
이렇게 적용했거든요 그러면 파란색이 나와야 하는데 위 부분 처럼 나와요?
해결 좀 부탁 드려요...아무리 찾아봐도 알수가 없어서..ㅡㅡ
정말 안되는 것 맞나요?
Flex 3.4 에서 확인해본 결과 MenuBarItem {themeColor:#0000ff;}는 잘됩니다.
실제로 어떻게 동작하는지 확인하시려면 MenuBar, MenuBarItem, ActivatorSkin등을 한번 보세요. MenuBarItem의 viewSkin() 메소드를 살펴보시면 ActivatorSkin으로 스킨을 만드는 것을 확인할 수 있고 ActivatorSkin에 drawHaloRect() 메소드를 보면 fillAlphas, fillColors, highlightAlphas, themeColor의 스타일 받아 적절히 컬러처리후 적용합니다.
http://blog.jidolstar.com/274 이런 글도 보시면 도움이 될겁니다.
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Style>
MenuBar {
font-weight:bold;
color:#FFFFFF;
fill-colors:#0D0A92, #1B16F4, #37920A, #59EB12;
fill-alphas:1.0,1.0;
}
MenuBarItem {
theme-color:#0000FF;
}
Menu {
alternatingItemColors:#ffffff,#eff4fa;
color:#000000;
top:4px;
bottom:2px;
horizontalGap:2px;
roll-over-color:#00ff00;
}
</mx:Style>
<mx:MenuBar id="myMenuBar" labelField="@label">
<mx:XMLList>
<menuitem label="MenuItem A">
<menuitem label="SubMenuItem A-1" enabled="false"/>
<menuitem label="SubMenuItem A-2"/>
</menuitem>
<menuitem label="MenuItem B"/>
<menuitem label="MenuItem C"/>
<menuitem label="MenuItem D">
<menuitem label="SubMenuItem D-1"
type="radio" groupName="one"/>
<menuitem label="SubMenuItem D-2"
type="radio" groupName="one"
selected="true"/>
<menuitem label="SubMenuItem D-3"
type="radio" groupName="one"/>
</menuitem>
</mx:XMLList>
</mx:MenuBar>
</mx:Application>
안되던데...이 소스 한번 보세요...
메뉴 오버시 녹색이 나오고 서브메뉴를 보기위해 클릭하면 파스텔톤의 색이 나오시죠?
파스텔 색이 나오면 안돼고 녹색으로 지정했는데 (theme-color:#0000FF; <=이부분) 님은 문제 없이 녹색이 나오나요?
http://blog.jidolstar.com/627
을 보세요.
흑흑.. 현재 쓰고 있는 리포지토리가 너무 많아서.. 그냥 다 덮어씌우고 쓰고 있어요..
바뀔때마다 나오는 에러메시지가 참 어렵지 않나요? ^^
앗.. 리포지토리가 아니라 workspace.. 잠결에(?) 이상한 말을 ㅎㅎ
음.. 그런데 에러메세지가 뜨나요?
워크스페이스가 많아 뭘 덮어씌운다는거죠? ㅋㅋㅋ
아하. ㅎㅎ 사용중인 워크스페이스가 많아서, 빌더의 기본 SDK에 AIR 2.0을 덮어씌워놨어요 ㅎㅎ
좋은 정보 감사합니다.