티스토리 뷰


요즘 플러터를 해보기 위해서 안드로이드 스튜디오를 설치하고 다시 안드로이드 에뮬레이터를 가지고 플러터를 띄워봤다. 일단 순정 안드로이드 에뮬레이터에 가속이란 가속을 다 먹여도 속도가 너무 안습이라 다른 방법을 찾아보려는데 지인분께서 지니모션을 대신 쓰면 쾌적하다는 말씀을 해주셨다. 

genymotion 추천~

그렇다면 응당 깔아서 써봐야한다. 지니모션을...

Genymotion

그러고보니 지니모션이라면 예전에 안드로이드 게임할때 돌리던 게 생각난다. 맞다. 바로 그거다. 요즘은 미뮤나 LDPlayer 등과 같은 플레이어에 밀린거 같은 바로 그녀석. 게임을 여러개 띄워서 부계정까지 띄워서 했던 그런 녀석들이었던 것 같다. 

 

암튼 이녀석이 게임을 하기 위한 앱 플레이어가 아니라 개발쪽으로 전향을 했다니 좋은일인지 안 좋은일인건지는 모르겠지만 예전에 게임을 돌릴 때의 그 빠릿빠릿한 느낌이 기억나서 바로 연동을 해보기로 했다. 시작해보자.

 

1) Find Action[ Ctrl + Shift + A ] 에서 plugins 메뉴를 들어가주자.

나는 안드로이드 스튜디오에 매우 초보 사용자라 Find Action 메뉴를 아주 애정해서 사용하고 있다. 메뉴를 못외우는 나같은 사람은 적극 사용하자.

plugins 선택


 

2) Marketplace 탭에서 genymotion을 검색해주자.

genymotion 검색


 

3) 바로 install 해주자.

install ㄱㄱ

 

4) 안드로이드 스튜디오 재시작을 해주자.

설치를 하게 되면 restart 해달라고 하는데 해달라는대로 해주자. 

 

5) 다시 시작되면 Find Action에서 다시 Genymotion을 찾아 setting을 들어간다.

settings ㄱㄱ


 

 

6) 들어가보면 Genymotion folder를 선택해달라고 하는데 아직 설치하지 않았으므로 지니모션을 설치해보자.

님 지니모션 필요함. 설치 ㄱㄱ

 

7) 지니모션 공식 홈페이지에 접속해서 다운받자.

단지 아래에 fun-zone 링크가 공홈에 없어서 찾는데 잠깐 애좀 먹었다. 

https://www.genymotion.com/fun-zone/

 

Genymotion For Fun – Free Android Emulator

Download Genymotion Android Emulator for free on PC, Mac and Linux. Run your favorite Android games and apps on any computer with no time limitation.

www.genymotion.com

8) Download Genymotion Personal Edition 클릭

빨간 네모 클릭


9) 나는 버추얼박스가 없어서 위에껄 받았는데 있는 사람은 밑에꺼 받아서 설치하면 됨.

버춸박스 없으면 위, 있으면 아래 클릭

 

10) 여차저차해서 설치하면 지니모션 프로그램을 띄웠다. 로그인도 해주자.

아이디 없으면 가입도 해야한다. 이미 다운로드 받을때 필요했을지도 모른다. 암튼 회원가입 ㄱㄱ

로그인 ㄱㄱ


 

11) 난 당연히 라이센스가 없으므로 Personal Use를 선택했다.

 

Personal Use 선택


 

12) 동의단계 체크 후 바로 "NEXT"!

체크 후 NEXT!


 

13) 오 그러면 뭔가 폰 모델을 선택할수 있는 화면이 나온다. Android API 28 버전을 선택하니 갤럭시 s10 모델이 보인다. 저걸로 선택해보자.

갤럭시 s10 Install ㄱㄱ

 

14) 만들어낼 폰의 스펙을 결정하는 화면이 나온다. 다른건 다 좋은데 CPU와 memory size가 처음부터 8GB로 잡혀있다. 내 피씨의 사양이 8GB라서 2GB로 줄였다. ㅠㅠ

PC 스펙이 따라준다면 CPU 4에 메모리는 4gb 정도 부여해주면 좀 더 쾌적하지 않을까 싶다. 해상도가 해상도이니 만큼...

옵션 조정좀 하고 Install!


 

 

15) install 하는 화면이 진행된다. 금방 되니 잠깐만 기다리자.

잠깐 기달~

16) 설치가 완료되니 Start 메뉴가 보인다. 바로 켜보자. 

Start ㄱㄱ

 

17) 첫 구동을 시켜본 모습. 이리저리 액션을 취해봤는데 안드로이드 에뮬레이터보다 훨씬 빠르다. 역시...

genymotion 빠름.


 

 

18) 안드로이드 스튜디오에 지니모션 경로 설정

이제 지니설치가 완료되었으니 아까 설정해야했던 안드로이드 스튜디오에 패스를 설정해보자. 기억이 안나면 "6)" 참조.

 

 

 

19) Genymotion Device Manager에서 지니모션 시작하기

설정을 하고 다시 Find Action 에서 Genymotion Device Manager 라는 놈을 켜서 들어가보자. 

아까 만들었던 갤럭시 10이 보인다. 바로 Start를 눌러주자.

기기가 켜지고 Refresh를 눌러보면 status가 On으로 바뀌가 IP가 부여된 것을 확인할수 있다.

 

 

20) ADB 에러를 만났다. 해결해보자.

 

Run.....을 시도해보려고 했으나 지니모션은 켜지지만 콘솔에 다음과 같은 에러 메세지를 만났다. 뭔가 ADB 버전이 충돌나는거 같긴한데...

ddms: 'adb.exe,start-server' failed — run manually if necessary, Android Studio
Adb connection Error:현재 연결은 원격 호스트에 의해 강제로 끊겼습니다
Sending Tracking request failed!
adb server version (40) doesn't match this client (41); killing...
could not read ok from ADB Server
* failed to start daemon
error: cannot connect to daemon

 

 

삽질과 구글링을 통해 해결방법을 찾았다. 바로 여기있는 글을 통해서 해결했는데...

https://wiki.appcelerator.org/display/guides2/Installing+Genymotion

 

Installing Genymotion - Documentation & Guides - 2.0 - Appcelerator Wiki

Documentation & Guides - 2.0 … Home Titanium SDK Titanium SDK Getting Started Installation and Configuration Installing Titanium Advanced Tools Installing Genymotion Skip to end of metadata Go to start of metadata Overview Genymotion Desktop provides a lib

wiki.appcelerator.org

 

지니모션 자체적으로 별도의 ADB 버전을 사용하면서 내 피씨에 있는 adb server를 kill하고 자기껄 띄우는 모양이다. 지니모션 settings에 들어가 ADB 란에서 "Use custom Android SDK tools를 사용하면 해결된다.

옵션을 조정하고 다시 보면 실행하는 부분에 갤럭시 S10이 제대로 인식된 모습을 볼수가 있었다. 

아따 갤럭시다냐~

다시 Run(▶)을 누르게 되면 ...

Launching lib\main.dart on Samsung Galaxy S10 in debug mode...
Initializing gradle...
Resolving dependencies...
Running Gradle task 'assembleDebug'...
Built build\app\outputs\apk\debug\app-debug.apk.
Installing build\app\outputs\apk\app.apk...
Syncing files to device Samsung Galaxy S10...
I/Choreographer( 1702): Skipped 85 frames!  The application may be doing too much work on its main thread.
I/OpenGLRenderer( 1702): Davey! duration=1651ms; Flags=1, IntendedVsync=169651632216, Vsync=171068298826, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=171077578120, AnimationStart=171077623954, PerformTraversalsStart=171077653119, DrawStart=171087842869, SyncQueued=171088709610, SyncStart=171093172744, IssueDrawCommandsStart=171093421490, SwapBuffers=171216050071, FrameCompleted=171307774277, DequeueBufferDuration=39919000, QueueBufferDuration=240000, 

다음과 같은 모습으로 플러터 기본 앱이 지니모션에 실행된 모습을 볼수 있었다. 

일단 기본적으로 안드로이드 SDK가 제공하는 에뮬레이터와는 비교도 되지 않을 정도의 속도를 보여주기에 만족감이 크다. 이정도면 폰을 꽂지 않고 윈도우 환경에서 에뮬레이터로만도 충분히 안드로이드 개발을 할수 있을 것처럼 보인다. 더군다나 플러터는 핫디플로이가 되는 프레임웤이다보니 변경사항이 바로바로 반영되니 말이다. 

 

중간에 에러를 만나서 시간이 좀 오래걸렸는데 지니모션과 안드로이드 스튜디오의 연동이 끝이 났다. 

 

이제 enjoy~!

 

 

안드로이드 하이브리드 앱 웹뷰 CORS 버그(with chrome, android hybrid app webview cors bug)

최근 운영 중인 안드로이드 앱에서 간헐적으로 특정 기능들이 동작이 안되는 증상에 대한 문의가 있어서 증상을 확인해보니 웹뷰에서 서버통신을 할때 사용하는 xhr에서 cors 에러가 발생하고 있었다. 처음에는..

nhj12311.tistory.com

 

자바스크립트 크롬의 불안정한 배열 정렬 문제 - Javascript chrome-v8 Unstable sorting problem

최근 내 개인 프로젝트 내에 이것저것 기능을 추가하며 공부까지 겸하고 있는데 자바스크립트의 Array.sort를 사용하다가 멘탈에 금이가는 걸 겪으며 해결했던 걸 정리해본다. 앞으로 개발쪽의 글은 1차적으로 개..

nhj12311.tistory.com


댓글
최근에 올라온 글
최근에 달린 댓글