안드로이드 스튜디오

Android studio는 애플 실리콘 맥에서 로제타2 기반으로 동작한다. 앱 실행은 실기기에는 잘 되지만 에뮬레이터에서 동작하지 않는 한계가 있다.

 

안드로이드 에뮬레이터

특정 버전에서 앱 동작을 테스트하려면 어쩔 수 없이 기기 대신 에뮬레이터를 써야하는 상황이 발생한다.

구글링을 해보니 애플 실리콘용 에뮬레이터 프리뷰 프로젝트를 발견했다. 사이트 주소는 github.com/741g/android-emulator-m1-preview 이다.

릴리즈 페이지(github.com/741g/android-emulator-m1-preview/releases)로 이동하고 Assets을 확장하면 다음과 같이 다운로드 링크가 나타난다.

dmg 파일을 다운로드하고 설치한다. 

인증되지 않은 개발자 경고가 나타나는데, 시스템 환경 설정 -> 보안 및 개인 정보 보호 앱 동작을 허용하면 에뮬레이터가 동작한다. 다음은 에뮬레이터 이미지다.

 

ADB 오류

처음 에뮬레이터가 동작하면서 다음과 같이 ADB 경로 문제가 발생했다.

에뮬레이터의 사이드 메뉴에서 설정으로 이동하고, Use detected ADB location 항목을 Off하고 직접 adb 경로를 선택한다. Android SDK가 유저 폴더의 라이브러리에 설치되어 있는데 이는 숨겨진 폴더라서 파일 다이얼로그에 나타나지 않는다. Command + Shift + [.] 를 누르면 숨겨진 폴더도 나타난다. 이를 이용해서 adb 경로를 선택한다.

에뮬레이터에 앱 동작

에뮬레이터가 동작하면 안드로이드 스튜디오의 기기 목록에 다음과 같이 Virtual Device로 나타난다. 이제 애플 실리콘 맥에 안드로이드 에뮬레이터를 사용할 수 있다.

 

플레이 서비스

m1 안드로이드 에뮬레이터 프리뷰2로 설치해보니, 플레이 서비스가 설치되지 않아서 앱 동작이 실패했다.

프리뷰 v3에 구글 API 시스템 이미지가 포함되어 있다길래, 이를 이용해서 에뮬레이터에 앱이 동작시켰다. 이제 구글 플레이 서비스가 없다는 오류가 발생하지 않는다.

 

반응형

Apple Silicon 인 m1이 장착된 맥미니를 구입해서 개발 환경을 세팅하고 있다. 이를 기록해놓는다.

Xcode

Native 로 바로 설치 가능하다

Homebrew

설치하기

arm(apple silicon)용과 x86용으로 2개 설치한다.

다음은 arm 용으로 Homebrew를 설치하는 명령이다. /opt/homebrew에 설치된다.

/bin/bash \-c "$(curl \-fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))"

다음은 x86 용으로 Homebrew 설치하는 명령이다. /usr/local/homebrew에 설치되고 로제타2를 이용해서 동작한다.

arch -x86_64 /bin/bash \-c "$(curl \-fsSL [https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh](https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh))"

설정하기

arm과 x86이 필요한 상황에 따라서 선택해서 사용한다. 그런데 2개 모두 brew 라는 이름이라서 혼동된다. 하나를 변경하는 것이 좋다.

x86용을 ibrew라는 이름으로 사용하기로 결정했다.

~/.zshrc 에 다음과 같이 homebrew 경로와 alias를 입력한다.

alias ibrew='arch -x86_64 /usr/local/bin/brew'
export HOMEBREW="/opt/homebrew/bin"
PATH="$HOMEBREW:$PATH"

참고

https://stackoverflow.com/questions/64882584/how-to-run-the-homebrew-installer-under-rosetta-2-on-m1-macbook

Cocopods

brew를 이용해서 설치했다.

brew install cocoapods

ffi 관련 에러로 제대로 동작하지 않는다.

missing compatible arch in /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle - /Library/Ruby/Gems/2.6.0/gems/ffi-1.14.2/lib/ffi_c.bundle

다음과 같이 ffi를 설치한다.

% arch -x86_64 sudo gem install ffi

Pod로 프레임워크 설치할 때는 다음과 같이 입력한다.

% arch -x86_64 pod update

아.. 왜 brew로 cocoapods를 설치했을까...

Node.js

Node.js는 nvm을 이용해서 설치한다.

nvm 설치

nvm 설치하기.

brew install nvm

Node.js 설치하기

v15이상부터 apple silicon을 지원한다. 대신 컴파일 과정이 다소 길다.

nvm install 15

v14는 설치 실패.

반응형

안드로이드 스튜디오는 Java6가 설치돼있어야 동작한다. Java6가 설치돼있지 않으면 다음과 같은 메세지가 나타나고 실행이 안 된다.




현재 java의 최신버전인 java8(1.8)이 설치돼있어도 실행되지 않는다. 안드로이드 스튜디오의 환경 설정 파일을 조금 수정하면 java8에서 동작한다. 다음 그림과 같이 안드로이드 스튜디오 실행 파일에서 마우스 오른쪽 버튼을 누르고 패키지 내용 보기를 선택한다.



패키지 내부는 다음과 같은 폴더 구조다. Info.plist를 열어서 java 버전을 변경해야 한다.



JVMOptions 항목의 JVMVersion 을 다음과 같이 1.8*로 변경한다. 




이제 java8에 동작하는 안드로이드 스튜디오를 실행할 수 있다.

반응형
라이언(Mac OS 10.7)의 파인더에는 동영상 인코딩 기능이 포함됐다.

변환이 가능한 동영상을 파인더에서 우클릭 하면 하단에 Encode Selected Video Files 메뉴가 나타난다.

 
이를 선택하면



Setting에서 480p, 720p, 1080p, Audio Only, Apple ProRes 에서 선택할 수 있다.

음악만 추출하는 기능도 쓸만할 듯.

매우 간단한 메뉴 체계라서 어렵지 않고 호환 기기들을 제공해서 편리하다만...  진행 과정을 볼 수가 없는 점은 답답하다.
 
반응형
라이언 클린 설치

 맥 OS 라이언은 스노우 레오파드가 설치 되어 있어야 설치할 수 있다.

맥 2대(MBP 15', Air 11')에 각각 라이언을 클린 설치했다.

1.  MBP15' 의 경우 SSD를 설치하고, 스노우 레오파드가 설치된 하드로 부팅. 라이언을 SSD로 설치하도록 지정했다.

2. Air 11' 의 경우에는 하드 교체가 안 되므로, 파티션을 분할(OS 동작중에 파티션 분할이 가능하다)하고 분할한 파티션에 라이언 설치하고 스노우 레오파드 파티션 삭제 후 통합.


라이언에서 블루투스 키보드와 마우스 문제

 블루투스 키보드의 경우, 키 입력시 멈칫 했다가 여러번 입력되는 상황이 발생했다. 매직 마우스의 경우에는 멈칫 멈칫 하면서 동작.

유무선 공유기의 채널을 변경해서 해결했다.
 
반응형
SKT에서 테스트 중인 디자이어 용 프로요(안드로이드 2.2)가 유출되었다는 소식에 설치를 진행했다.



2.1

2.2




SD카드에 앱 설치

2.2를 기다린 가장 큰 이유 중 하나는 SD카드에 앱 설치 기능이다.
세팅에서 프로그램 관리 메뉴를 보자면

2.1에서의 응용 프로그램 관리 화면이다.


2.2에서는 어떻게 변했을까?

SD카드로 이동이라는 버튼이 생겼다. 프로그램 설치 공간이 부족한 디자이어에는 필수적인 기능이다.

상단의 탭을 적용한 것은 상당히 편리하다.
이전 2.1에서는 시스템의 모든 프로그램까지 동시에 나와서 필요한 앱을 찾는데 시간이 걸렸었다.




WIFI 핫스팟

또 큰 변화는 WIFI 핫스팟(테터링)이다. 3G 통신망을 이용해서 휴대폰을 무선랜 공유기로 바꿔주는 기능이다.






마켓 인터페이스 변화

마켓의 인터페이스가 바뀌었다. 2.2에는 정보와 댓글로 분류되어 댓글을 더 많이 볼 수 있다.
그리고 2.2에서는 자동 업데이트 기능이 추가되었다.

2.1

2.2

2.2




태스크 전환

태스크 전환 화면에 약간의 변화가 생겼다.
기존 2.1에서는 6개의 앱이 보이는 반면에 2.2에서는 8개가 나타난다.

2.1

2.2




ps. 버전 2.13(현재 2.12)가 정식으로 나온다는 소문이 있다.

반응형
다음 중 안드로이드 개발을 가장 어렵게 하는 것은?

  - 좋은 UI툴이 없는 것 => XML코딩량이 너무 많다.
  - 수없이 많은 자잘한 파일들이 생긴다. => 파일 찾다가 시간 다 간다.
  - 각종 이미지가 너무 많이 필요하다. => 아이폰이 비해서 약 2-3배?

위에도 답은 없다.

바로 느려터진 이클립스와 안드로이드 시뮬레이터의 조합이다.

몇 년 전만 해도 상상도 할 수 없었던 성능(씨피유 2기가에 메모리 4기)의 시스템에서도 이렇게 느리다니!!!
이클립스가 동작하는 초기의 시스템에 비해서 몇 배나 빨라졌지만 정작 이클립스 개발 속도는 더 느려지는 것 같다. 무슨 풀 3D 게임인양 다음 버전이 나오면 시스템도 업그레이드 해야 하는 느낌이다.

그래서 생각한 것이 SSD의 조합이다만 SSD금액에다가 세컨드 베이 + ODD케이스 비용까지 추가되니 쉽게 선택할 수 있는 것은 아니다.

현재 대안으로 찾은 방법이 램 디스크를 이용하는 방법이다.

diskutil erasevolume HFS+ "ramdisk" `hdiutil attach -nomount ram://1165430`

를 실행하면 약 560메가의 램 디스크가 생기고 ramdisk로 마운트된다(/Volume/ramdisk)





1. 작업 파일 복사

램디스크는 언마운트를 하거나 전원을 내리면 삭제되기 때문에 동기화를 생각해야 한다. 현재는 SVN을 이용해서 작업중이므로 별도로 해주는 것은 없다.

만약 SVN등을 사용하지 않는다면 작업 후에 반드시 실제 하드로 복사를 해줘야 한다. 아니면 폴더 싱크 툴같은걸 사용하던가.


2. 이클립스 복사, 프로젝트 추가

이클립스도 아예 램디스크 영역으로 복사해서 사용한다.

이클립스에는 같은 id로 프로젝트 등록이 안된다. 즉 램디스크로 복사한 이클립스가 기존의 workspace를 사용하도록 하면 프로젝트 뷰에는 기존의 프로젝트들이 나온다.

이 상태에서 램디스크의 프로젝트를 추가하면 아래와 같은 메시지가 나오고 프로젝트를 등록할 수 없게 된다.



램디스크에서 동작하는 이클립스는 하드 디스크에서 동작하는 이클립스와는 별도의 workspace를 잡아둔다. 그러면 이클립스가 뜨고 나면 프로젝트가 아무것도 등록되어 있지 않은 상태이다.

참고 : workspace는 설정에서 매번 물어보게 할 수 있다.


초기의 다소 지루한 과정
  - 램 디스크 생성
  - 이클립스 복사
  - 소스 복사(혹은 SVN에서 checkout)
  - 프로젝트 import

을 거치기는 하지만 조금이나마 실행 속도가 향상된 것을 느낄수 있다.


참고
http://osxdaily.com/2007/03/23/create-a-ram-disk-in-mac-os-x/



반응형

갈릴레오 버전의 이클립스는 맥에서 극악의 속도를 보여줬었다. 특히 레이아웃 편집을 위해서는 이클립스가 아닌 다른 편집툴을 이용하기도 했다.

그나마 새로운 카카오 프레임웍 버전 대신에 구세대인 카본 프레임웍 버전은 그나마 참아가며 쓸만했었다.

새롭게 발표한 헬리오스 버전은 카카오 버전에 대한 자부심일까? 카본 버전이 나오지 않았다. 카카오 버전을 설치해보니 과연 쓸만한 수순으로 속도가 나온다.(그러나 윈도우용에 비하면 아직 멀었다.)

아래와 같이 external.folders를 리프레쉬 하면서 빌드 과정에 많은 시간을 잡아먹고 있다.









반응형
  1. Min™ 2010.11.12 14:41 신고

    메모리를 늘려서..해결하긴했는데.. 확실히 느리죠..

애플 스토어에서 iMAC을 선택하고 구성을 조절하다 보니 HDD항목에 특이한 것을 발견했다. (아이 쇼핑 중...)



하단 2개의 옵션은 SSD와 HDD를 동시에 이용하는 구성이다.
HDD대비 SSD의 성능은 "신세계"라는 표현이 꼭 등장할 정도로 만족한다는 사용기를 많이 접해봤기에 끌리는 구성이다.
다만 추가로 지불해야 하는 가격은 맥미니를 넘어서 맥북에 육박하니.. 쉽게 결정할 만한 사항이 아니다.


그럼 혹시나, 단일 하드 구성으로 쓰다가 차후에 SSD를 추가로 달아도 되겠지?(워런티야 날아가겠지만..)라고 생각을 하고 조금 더 검색을 해보니..

- 아이맥 27인치 모델에서만 듀얼 구성이 가능하며(21.5인치는 해당사항 없음)
- 옵션으로 듀얼 구성을 할때만 SSD설치를 위한 브라켓과 케이블이 내장된다고 한다.


즉, 구입할때부터 듀얼 구성으로 하지 않으면 케이블과 설치 브라켓이 없어서 불가능하다.
반응형

'smells digital' 카테고리의 다른 글

안드로이드 개발 속도를 빠르게.. 빠르게.  (0) 2010.08.11
맥용 이클립스가 느리다!!!  (1) 2010.08.03
iMAC의 2nd HDD?  (0) 2010.08.02
스타 크래프트 2  (0) 2010.07.27
안드로이드 유료 마켓 오픈!  (0) 2010.07.16
우리은행 - 오픈 뱅킹  (0) 2010.07.09
오랜 기다림 끝에 스타크래프트2가 오픈 베타를 시작했다.

게임을 그다지 즐겨하지는 않지만, 그래도 전설의 게임 후속편이니 만큼 다운로드 받아서 설치를 해본다.
(무려 7기가가 넘는다.)

설치하면서 간략한 줄거리가 나온다.



테란의 기원

테란의 기원. 인간의 역사는 부패와 분란의 반복인가?




버려진 캐리건의 변신~??



한글화가 잘되어 있다. 한글 음성까지 지원.


설치 완료.


현재 battle.net에서 오픈 베타에 참여할 수 있으며 맥용 버전도 있으며 2.4G, 4G의 맥북 유니바디에서 플레이를 해봤다.

간단하게 1게임을 한 소감, pros & cons로는

- 좀 더 화려한 애니메이션과 3D 효과
- 친숙한 유닛과 종족, 더욱 큼직해진 유닛
- 배틀넷 사이트를 중심으로 멀티 플레이를 이용한 비지니스 모델을 예상.
- 역시 블리자드의 영상은 대단하다! 나중에 영화로 만든다고 해도 될 정도!!!
- 공이 들어간 한글화.. 

- 스타 1보다야 스타 2를 하겠다만, 스타1이 가져온 파급력을 가져오기에는 글세~!?
- 노트북 해상도 1280*800으로도 조금 부족한 느낌.



%% 인용한 이미지의 저작원은 블리자드에 있으며, 소개를 위해서 사용했음을 밝힙니다.



반응형

+ Recent posts