Notice
Recent Posts
Recent Comments
03-29 09:10
관리 메뉴

Black&White

PC 크롬브라우저에서 안드로이드앱 실행하기 본문

유용한정보

PC 크롬브라우저에서 안드로이드앱 실행하기

V.E.N 2014. 10. 6. 14:45
ARC(Android Runtime for Chrome) 은 크롬에서 안드로이드 앱을 실행할 수 있게 하는 소프트웨어의 일종이다.


안드로이드 기기자체에서는 ART(그리고 Dalvik) 이 있다. 국내 스마트폰 대부분은 현재 Dalvik 모드로 동작되고 있다.


ARChon Custom Runtime 은 ARC 가 단지 크롬 OS 만을 위해 공식적으로 디자인되어 있는데, 개발자 vladikoff 가 Windows, OS X 그리고 Linux 등의 OS 에서도 안드로이드 앱을 실행가능토록 만들었다.



정리하면, 크롬 OS 에서 안드로이드 앱을 실행하기 위한 ARC 가 있는데, 이를 수정하여 Windows 등의 다른 OS 에서도 안드로이드 앱을 실행할 수 있도록 개발자 vladikoff 가 ARChon Custom Runtime 을 개발했다.


Windows PC 환경에서 안드로이드 앱을 실행하기 위해서는 크게 2 단계가 필요하다.


Step 1. ARChon Custom Runtime 을 설치

Step 2. 안드로이드 앱 설치파일(Apk 파일)을 PC 로 다운로드하고 설치



Step 1. ARChon Custom Runtime 을 설치



https://github.com/vladikoff/chromeos-apk/blob/master/archon.md


ARChon Custom Runtime 를 설치하기 위한 기본 조건이 있다.


1. 테스트된 운영체제 : OS X, Windows 64, Ubuntu

2. 크롬 브라우저 버전 : 37+


자신의 OS 버전에 맞는 Runtime 을 다운받는다.


다운받은 압축파일을 풀고, 압축을 푼 폴더를 지속적으로 사용할 위치로 이동한다.


크롬 브라우저를 실행한다.


주소창에 chrome://extentions 을 입력하여 확장프로그램을 실행한다.



위 그림에서처럼 우측에 개발자 모드에 체크를 한다.



'압축해제된 확장 프로그램 로드' 버튼을 클릭한다.


ARChon Custom Runtime 을 다운받아 압축을 푼 폴더를 지정한다.




위 그림처럼 새로운 확장 프로그램으로 ARChon Custom Runtime 1.1 - x86_64 가 설치되었다.

이제 PC 에서 안드로이드 앱을 실행하기 위한 준비는 마쳤다.

테스트를 해보자..

2048 이라는 퍼즐 게임을 테스트하기 위해 다운받는다.


2048-ARChon.APK


위 apk 파일을 다운받은후, 압축을 푼다.


크롬브라우저 확장프로그램에서 아까처럼 압축해제된 확장 프로그램 로드 를 클릭후, 방금 압축을 푼 폴더를 지정한다.



실행 버튼을 클릭하거나, 윈도우 시작 버튼 - 모든 프로그램 - chrome 앱 폴더에서 com.userspot.a2048 클릭한다.


아래는 Windows PC 에서 2048 이라는 퍼즐 게임을 실행한 화면이다.






Step 2. 안드로이드 앱 설치파일 (APK 파일) 다운로드 하기


일단, apk 파일을 구하는 방법은 많이 있을 것이다.


첫번째, 구글링만 해도 쉽게 구할 수 있을 수 있다.


두번째, 폰에 설치된 앱을 apk 형태로 추출해서 그것을 PC 로 옮기는 방법도 있다.


                http://blog.minjae.kr/120


세번째, Play Sotore 에서 직접 다운로드 하는 방법이 있다.


여기서는 플레이 스토어(구글 앱스토어) 에서 직접 다운로드 하는 방법을 알아 보겠다


플레이 스토어에서 직접 다운로드 하는 방법도 두 가지가 있다.


Online apk downloader (http://apps.evozi.com/apk-downloader/) 에서 다운로드 하는 방법과,


apk downloader 라고 하는 브라우저 확장프로그램(크롬, Firefox 지원) 이 존재한다.


Online apk downloader 사이트에서의 앱다운로드는 유료프로그램은 다운로드할 수 없다.


apk downloader 프로그램의 경우에는, 구글 계정 및 사용중인 스마트폰의 디바이스 정보를 입력하도록 요구한다. 아마도 이는 구글 스토어에서 구매한 유료프로그램을 다운로드하기 위한 조치인듯 하다.


그래서 여기서는, 플레이스토어에서 apk 파일을 다운로드 할 수 있는 링크로 변환시켜주는 http://apps.evozi.com/apk-downloader/ 를 이용하여 apk 파일을 다운로드 하겠다.


예를 들어, 네이버 지도 앱의 apk 파일을 다운로드 하는 방법을 살펴보자


플레이스토어(http://play.google.com) 에서 네이버 지도를 검색한다.



검색결과에서 네이버 지도를 선택후, 주소창에 주소를 복사한다.


http://apps.evozi.com/apk-downloader/


사이트로 들어가서 방금 복사한 네이버지도 의 플레이스토어 링크주소를 아래 그림처럼 입력후, 'Generate Download Link' 버튼을 클릭한다.



'Generate Download Link' 버튼 밑에 'Click here to download com.nhn.android.nmap now' 버튼이 생기는데. 이를 클릭하면 apk 파일을 내려 받을 수 있다.


안타깝게도 이 apk 파일을 가지고 크롬브라우저에서 바로 확장프로그램으로 설치할 수 없다.


하지만, 간단한 방법으로 설치할 수 있게 만들 수 있든데.



chromeos-apk 라고 하는 프로그램이 있다. 이 프로그램을 이용하면, 크롬브라우저에서 설치가능토록 변환시켜주게 된다.


하지만, 윈도우에서는 이 프로그램을 바로 사용하기 쉽지 않다....


프로그램 개발자도 윈도우에서는 수동으로 변환하라고 언급하고 있다. ㅠㅠ


일단 chromeos-apk 를 다운받아보자


https://github.com/vladikoff/chromeos-apk


다운받아서 압축을 풀면, _template 라고 하는 폴더가 보일 것이다.


이 폴더가 핵심이다.


좀전에 apk 파일을 내려 받았는데...내려받는 안드로이드 앱(apk 파일) 마다 이 _template 폴더가 필요하다.


일단, _template 폴더의 구조를 보자



내려받은 apk 파일을 넣는 위치가 _template/vendor/chromium/crx 이다.


먼저 _template 폴더의 이름을 앱의 이름(네이버지도)으로 바꾼다.


그리고 수정해야될 파일 2개가 있다.


_template 폴더안에 manifest.json 이라는 파일을 편집기(메모장)로 열고,


__PACKAGE__  라고 된 글자를 내려받은 apk 파일의 이름(com.nhn.android.nmap.apk)으로 교체한다.


__MSG_extName__ 라고 된 글자는 앱의 이름(네이버지도)으로 교체한다.


"key": 로 시작하는 (아래 참고) 부분은 삭제한다. ( 이 것을 삭제하지 않으면, 크롬브라우저에서 앱을 하나이상 설치가 안됨)

"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh8HMM22e3J95V1TO1RSEF9j4eOATV+pIhGq5FFJek9l1aM9ot0B9rB25p

WALNZdiW3hrgRcPR/8YGFaccFbcgneK29hnHbcbwSytdrhK2tF7iV3lbbd/FvENBODZXu3jGruWKRCtlsJgaOmA/97wpHEnn8vqkKLj4+W9kIU+dp+m9GzbB9eQijnt/7XQyJzS1YWsVZyrPaNrEibO33u+CesZ+9lSSJsvocd+r0CK+AvEY8mN27/OhNblDGLOQ/OC8L/AvEm9mU3wk11KyqS18e48XbH9Saxmsl72Z7FTcv4j/C0bqNyeJX1Ja2DMEoabuE2Jxm3vtP9jq+5UjRV1+wIDAQAB",


두번째로 수정해야 될 파일은

_template\_locales\en\messages.json 이다.


파일을 편집기로 열고  "description": "Extension name", 에서 Extension name 에 앱의 이름(네이버지도) 로 바꾼다.



다시한번 정리하면,


1. chromeos-apk 프로그램을 다운받는다.

2. 다운받은 압축파일을 풀고, _template 폴더를 설치하고자 하는 앱의 이름으로 바꾼다.

3. 다운받은 apk 파일을 _template\vendor\chromium\crx 폴더로 이동한다.

4. _template\manifest.json 파일과, _template\_locales\en\messages.json 파일의 내용을 수정한다.


나의 경우, 다운받아 설치해야될 안드로이드 앱이 몇가지 있어서, 아예 안드로이드 앱 폴더를 만들어 뒀다.


D:\Android Apps 라는 폴더를 만들고, 그 폴더에 _template 폴더(설치할 안드로이드 앱이름)들을 두었다.


이제 크롬브라우저를 실행한다.


확장프로그램(chrome://extensions) 에서 '압축해제된 확장 프로그램 로드' 를 클릭하여 D:\Android Apps\ 밑에 올려둔 _template 폴더(네이버지도)를 선택한다.


이제 크롬브라우저에 확장프로그램으로 네이버지도앱이 설치되었다.


실행방법은 확장프로그램(chrome://extensions) 목록에서 네이버 지도를 선택후, '실행' 을 누르거나,

시작 - 모든 프로그램 - chrome앱  밑에 방금 추가된 네이버 지도를 선택하여 실행할 수 있다.


지금 현재, 네이버 지도, 네이버 메모장, 쏠캘린더 등을 설치해 보았는데  설치에는 문제가 없으나, 앱을 네이버 지도의 경우 현재위치를 못찾고, 쏠캘린더의 경우 구글캘린더로 로그인 문제가 있다. 네이버 메모장은 아직까지 아무 문제가 없다.


현재까지 확인된 바로는 Google Play Services 와 관련된 앱은 실행에 문제가 있다.



Online 상에서 apk download 할 수 있는 사이트의 경우, 위에서 언급한


http://apps.evozi.com/apk-downloader/


외에도


http://downloader-apk.com/


도 있는데, 위의 경우는 앱 검색과 동시에 다운로드 할 수 있는 링크를 제공하나, 다소 느린감이 있다.





마지막으로 PC에서 안드로이드앱을 실행시, 앱의 이미지를 넣는 방법인데...해도 그만 안해도 그만임


Play Store 에서 네이버지도 앱 화면에서 네이버 지도 앱의 이미지를 마우스 우클릭하여 이미지 주소를 복사한다.


https://lh4.ggpht.com/PZE2nNOsp728HT7D0XwaiGwUNhWQ1c6poe4M-w4d2DCfm39Dc7I7lTJEs3AaH3kgKw-3=w300-rw


네이버 지도 앱의 이미지 URL 주소인데, 맨 뒤에 w300-rw(firefox 의 경우 w300 만 나옴) 을 w128 로 변경 후


https://lh4.ggpht.com/PZE2nNOsp728HT7D0XwaiGwUNhWQ1c6poe4M-w4d2DCfm39Dc7I7lTJEs3AaH3kgKw-3=w128


위 바뀐 URL 주소를 브라우저 주소창에 입력하여 보면 네이버지도 이미지가 나오는데,


이 이미지를 다운로드하여 _template 폴더(네이버지도) 에 icon.png 로 덮어쓴다.



Tip.1 앱의 해상도 조절하기

앱을 실행하면 기본적으로 해상도가 Phone 사이즈(640*360)로 되어 있다. Tablet 사이즈는(1080*800) 로 되어 있으며, 방향은 세로(Portrait) 로 되어 있다.


이를 자신이 원하는대로 변경이 가능하다.


_template 폴더에 manifest.json 파일을 편집기로 연다. 


먼저 tablet 크기로 변경하고자 할 경우, 아래와 같이 변경한다.


 "formFactor": "phone",


 "formFactor": "tablet",


방향을 변경하고 자 할경우, 아래와 같이 변경한다.


"orientation": "portrait",


"orientation": "landscape",



위에서 Phone 사이즈(640*360), Tablet 사이즈(1080*800)의 해상도값을 변경할 수 있다.


처음에 ARChon Custom Runtime 폴더 밑에 보면, gen_main.min.js 파일과 gen_index.min.js 파일 을 열어서


tablet: {"long": 1280, "short": 800}

phone: {"long": 640, "short": 360}


을 찾아 원하는 해상도값으로 변경한다.


이렇게 설정을 변경완료하고 나면,


크롬 확장프로그램(chrome://extensions) 에서 각각의 확장프로그램에서 새로고침(Ctrl+R) 을 클릭하면 적용이 된다.




Tip.2 앱의 창 크기를 고정이 아닌 변경가능하게 하기

기본 설정은 앱의 창크기가 위에서 지정된 해상도로 고정이 되어 있다. 간단한 설정변경으로 창크기 조절이 가능하도록 설정할 수 있다.


_template 폴더밑에 manifest.json 파일을 편집기로 열고, 맨 하단에 "resize": "scale" 를 추가한다. 주의할 점은 "resize": "scale" 바로 윗줄 끝에 콤마(,) 를 반드시 찍어줘야 한다.


"arc_metadata": {
      "apkList": [ "custom-android-release-1400197.apk" ],
      "enableExternalDirectory": false,
      "formFactor": "phone",
      "name": "com.cardinalblue.piccollage.google",
      "orientation": "portrait",
      "packageName": "com.cardinalblue.piccollage.google",
      "useGoogleContactsSyncAdapter": false,
      "usePlayServices": [ "gcm" ],
      "resize": "scale"

   },


적용방법은 위에서처럼 각각의 확장프로그램에서 새로고침(Ctrl+R) 을 클릭하면 적용이 된다.




참고 :
http://lifehacker.com/how-to-run-android-apps-inside-chrome-on-any-desktop-op-1637564101


http://techapple.net/2014/10/tutorial-convert-install-apps-google-chrome-archon-browserchromebooks/






















Comments