(This article is also available in [[1. Installing External Apps on RayNeo X2|English]])
<br>
> RayNeo 스마트글래스에서 직접 만든 앱을 실행해보기 위해 필요한 첫 단계입니다.
> 이번에는 외부 APK 파일을 RayNeo X2에 설치해보는 과정을 정리했습니다.
<br>
### 1. ADB 설치
- RayNeo에 외부 앱을 설치하려면, ADB(Android Debug Bridge)를 먼저 설치해야 합니다.
맥에서는 아래 명령어로 설치할 수 있습니다.
```bash
brew install android-platform-tools
```
> [!info] ADB란?
> **ADB (Android Debug Bridge)** 는 개발자가 PC에서 안드로이드 기기를 제어하거나 앱을 설치하고 로그를 확인할 수 있게 해주는 명령어 도구입니다.
> USB나 Wi-Fi로 연결된 기기와 터미널에서 직접 소통할 수 있게 해줍니다.
>
> 예를 들어, 안드로이드 기기에 앱을 설치하거나, 기기 상태를 확인하거나, 시스템 설정을 바꾸는 작업 등을 할 수 있습니다.
> [!info] android-platform-tools란?
> **android-platform-tools**는 ADB를 포함해서 안드로이드 기기를 개발·관리하는 데 필요한 핵심 도구 모음입니다.
>
<br>
### 2. 외부 앱 설치 허용 설정
- 기기에서 외부 APK 파일을 설치할 수 있도록 설정을 바꿔야 합니다.
아래 명령어를 통해 권한을 열어줄 수 있습니다.
```bash
adb devices # 연결된 기기 목록 확인
adb shell settings put global mercury_install_allowed 1
```
### 3. 기기 연결 후 apk 설치
- APK 파일을 설치합니다.
```bash
adb install [apk 경로]
```
![[RayNeo screenshot1.jpg|center|w60]]
<div style="text-align:center"><span style="color:gray;">Lookout 과 Google Lens 앱이 성공적으로 설치됐습니다.</span></div>
<br><br>
> [!warning] 외부 앱은 RayNeo 링(Ring)이 있어야 실행됩니다.
> RayNeo를 위해 디자인된 앱만 링 없이 실행되는 것 같습니다.
![[RayNeo screenshot2.jpg|center|w80]]
<br>
### 외부 앱 구동 조건
외부 앱을 실행하려 할 때, 특정 조건이 맞지 않으면 링 없이는 실행이 되지 않았습니다.
실행이 가능한 앱은 공통적으로 다음과 같은 메타데이터를 포함하고 있습니다.
```xml
<application
android:name=".MyApplication"
... >
<meta-data android:name="com.rayneo.mercury.app" android:value="true" />
</application>
```
이걸 통해 RayNeo는 해당 앱이 자사 시스템(Mercury)용 앱인지 구분하는 것 같습니다.
<br>
> [!info] 내가 이해한 RayNeo 구조
> - **RayNeo X2** = 하드웨어 (AR 안경)
> - **Mercury** = 이 안경 전용 앱 인터페이스 시스템 (UI 프레임워크)
> - **ARDK** = Mercury 시스템 위에서 앱을 만들기 위한 개발자용 SDK
> - **ViewBinding** = 이 SDK가 사용하는 안드로이드 레이아웃 연결 방식
<br><br>
이제 앱을 설치할 수 있게 되었으니,
다음 단계에서는 RayNeo 전용 앱과 일반 안드로이드 앱의 차별점을 조사하고,
ARDK의 여러 클래스에 대해 정리하겠습니다.
<br>
<br>
<br>
<br>