(This article is also available in [[1. RayNeo X2에 외부 앱 설치하기|Korean]]) <br> > This is the first step toward running an app you’ve built directly on RayNeo smart glasses. > In this article, I’ll walk through the process of installing an external APK on the RayNeo X2. <br> ### 1. Installing ADB - To install external apps on the RayNeo device, you first need to install **ADB (Android Debug Bridge)**. On macOS, you can do this with the following command: ```bash brew install android-platform-tools ``` > [!info] What is ADB? > **ADB (Android Debug Bridge)** is a command-line tool that allows developers to control Android devices from a computer. > It enables app installation, log reading, and system configuration via USB or Wi-Fi connection. > > For example, you can install apps on a device, check its status, or modify system settings. > [!info] What is android-platform-tools? > **android-platform-tools** is a collection of essential tools (including ADB) for developing and managing Android devices. <br> ### 2. Enabling External App Installation - You need to grant permission on the device to install external APK files. Use the following commands to allow installation: ```bash adb devices # Check connected devices adb shell settings put global mercury_install_allowed 1 ``` ### 3. Installing the APK File - Once the device is connected, install the APK file: ```bash adb install [path to apk] ``` ![[RayNeo screenshot1.jpg|center|w80]] <div style="text-align:center"><span style="color:gray;">Lookout and Google Lens were successfully installed.</span></div> <br><br> > [!warning] External apps require the RayNeo Ring to run. > Only apps designed specifically for RayNeo seem to work without the ring. ![[RayNeo screenshot2.jpg|center|w80]] <br> ### Conditions for Running External Apps When trying to launch external apps, I found that they wouldn’t run without the ring unless certain conditions were met. Apps that could run without issue all included the following metadata: ```xml <application android:name=".MyApplication" ... > <meta-data android:name="com.rayneo.mercury.app" android:value="true" /> </application> ``` This seems to be how RayNeo determines whether an app is made for its own Mercury system. <br> > [!info] My Understanding of the RayNeo System >- **RayNeo X2** = Hardware (AR glasses) > - **Mercury** = The proprietary app interface system (UI framework) for the glasses > - **ARDK** = The developer SDK used to build apps on Mercury > - **ViewBinding** = Android layout binding method used within this SDK <br><br> Now that the app installation is complete, in the next step, I’ll explore the differences between RayNeo-specific apps and general Android apps and go over various classes provided by the ARDK. <br> <br> <br> <br>