{"id":18447806,"url":"https://github.com/rikj000/android-auto-ultimate-dev-unit","last_synced_at":"2025-04-08T00:32:29.101Z","repository":{"id":233405227,"uuid":"624497279","full_name":"Rikj000/Android-Auto-Ultimate-Dev-Unit","owner":"Rikj000","description":"Extensive guide to walk you though the steps of installing \u0026 configuring Android Auto on emulators.","archived":false,"fork":false,"pushed_at":"2023-04-07T08:01:28.000Z","size":1880,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-07T16:52:39.723Z","etag":null,"topics":["aa","android","android-auto","development","emulator","guide","modding","root"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rikj000.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-04-06T15:44:46.000Z","updated_at":"2025-03-14T20:21:31.000Z","dependencies_parsed_at":"2024-04-16T04:05:48.833Z","dependency_job_id":"aac4edc0-68a1-44d8-b00c-51a8132ad1d2","html_url":"https://github.com/Rikj000/Android-Auto-Ultimate-Dev-Unit","commit_stats":null,"previous_names":["rikj000/android-auto-ultimate-dev-unit"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rikj000%2FAndroid-Auto-Ultimate-Dev-Unit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rikj000%2FAndroid-Auto-Ultimate-Dev-Unit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rikj000%2FAndroid-Auto-Ultimate-Dev-Unit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rikj000%2FAndroid-Auto-Ultimate-Dev-Unit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rikj000","download_url":"https://codeload.github.com/Rikj000/Android-Auto-Ultimate-Dev-Unit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247755472,"owners_count":20990618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aa","android","android-auto","development","emulator","guide","modding","root"],"created_at":"2024-11-06T07:14:29.299Z","updated_at":"2025-04-08T00:32:24.079Z","avatar_url":"https://github.com/Rikj000.png","language":null,"funding_links":["https://www.buymeacoffee.com/Rikj000"],"categories":[],"sub_categories":[],"readme":"# Android Auto - Ultimate Dev Unit\n\n\u003cp align=\"left\"\u003e\n    \u003ca href=\"https://www.iconomi.com/register?ref=zQQPK\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/ICONOMI-Join-blue?logo=bitcoin\u0026logoColor=white\" alt=\"ICONOMI - The world’s largest crypto strategy provider\"\u003e\n    \u003c/a\u003e \u003ca href=\"https://github.com/Rikj000/Android-Auto-Ultimate-Dev-Unit/blob/master/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/Rikj000/Android-Auto-Ultimate-Dev-Unit?label=License\u0026logo=gnu\" alt=\"GNU General Public License\"\u003e\n    \u003c/a\u003e \u003ca href=\"https://www.buymeacoffee.com/Rikj000\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/-Buy%20me%20a%20Coffee!-FFDD00?logo=buy-me-a-coffee\u0026logoColor=black\" alt=\"Buy me a Coffee as a way to sponsor this project!\"\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\nThis extensive guide will walk you though the steps of installing \u0026 configuring up a very handy emulator setup,\nto develop \u0026 debug Android Auto apps / mods,\nwithout needing to walk back and forth to your car for testing!\n\nThese steps where written on / for Linux users,\nbut the process should be nearly identical for Mac / Windows users.\n\n![Android-Auto-Ultimate-Dev-Unit](images/Android-Auto-Ultimate-Dev-Unit.png)\n\n## Table of contents\n- [Android Auto - Ultimate Dev Unit](#android-auto---ultimate-dev-unit)\n  - [Table of contents](#table-of-contents)\n  - [Pre-requisites](#pre-requisites)\n  - [1. Installation - Phone Emulator + Head Unit Emulator + SDK Platform-Tools](#1-installation---phone-emulator--head-unit-emulator--sdk-platform-tools)\n  - [2. Installation - AVD (Android Virtual Device)](#2-installation---avd-android-virtual-device)\n  - [3. Root AVD](#3-root-avd)\n  - [4. Installation - King Installer](#4-installation---king-installer)\n      - [Verify app installation](#verify-app-installation)\n      - [Other options](#other-options)\n  - [5. Installation - Android Auto](#5-installation---android-auto)\n  - [6. Installation - Android Auto for phone screens](#6-installation---android-auto-for-phone-screens)\n  - [7. Installation - Android Auto - Xposed Unlocked](#7-installation---android-auto---xposed-unlocked)\n  - [8. Installation - Hail](#8-installation---hail)\n  - [9. Usage](#9-usage)\n    - [Phone \\\u003c=\\\u003e Desktop Head Unit](#phone--desktop-head-unit)\n    - [AVD \\\u003c=\\\u003e Desktop Head Unit](#avd--desktop-head-unit)\n    - [AVD without Android Studio](#avd-without-android-studio)\n    - [More commands](#more-commands)\n\n## Pre-requisites\n- [Android Studio](https://developer.android.com/studio)\n- [Git](https://git-scm.com/)\n\n## 1. Installation - Phone Emulator + Head Unit Emulator + SDK Platform-Tools\n**Desktop - Android Studio**\nFile =\u003e Settings =\u003e Appearance \u0026 Behavior =\u003e System Settings =\u003e Android SDK:\n1. Android SDK Location =\u003e Edit =\u003e Configure Path =\u003e Next =\u003e Next =\u003e Finish\n2. SDK Tools =\u003e Install:\n    - Android Auto API Simulators\n    - Android Auto Desktop Head Unit Emulator\n    - Android Emulator\n    - Android SDK Platform-Tools\n3. Make the Emulators executable\n    ```bash\n    chmod u+x \u003candroid-sdk-path\u003e/extras/google/auto/desktop-head-unit\n    chmod u+x \u003candroid-sdk-path\u003e/tools/emulator\n    ```\n\n## 2. Installation - AVD (Android Virtual Device)\n**Desktop - Android Studio**\nTools =\u003e Device Manager \n1. Create device\n    - Choose a device definition: Phone =\u003e Pixel 6 Pro *(Or your preference)* =\u003e Next\n    - Select a system image: Recommended =\u003e Tiramisu / 33 / x86_64 / Android 13.0 (Google APIs) *(Or your preference)* =\u003e Download =\u003e Next\n    - Verify Configuration: Show Advanced Settings\n        - UnCheck `Enable Device Frame`\n        - Alter to your preference *(E.g. AVD-Name, CPU cores, RAM)*\n        - Finish\n2. AVD-Name =\u003e Start =\u003e Wait for initial boot\n3. AVD Window =\u003e Triple Dot Icon =\u003e Bug report =\u003e Uncheck `Sceenshot` + `Bug report data`\n\n## 3. Root AVD \n**Desktop - Favorite terminal of choice:**\n1. Make sure your AVD has booted properly / is running.\n2. Git clone the `rootAVD` script:\n    ```bash\n    git clone https://github.com/newbit1/rootAVD.git\n    ```\n3. Make it executable\n    ```bash\n    chmod u+x ./rootAVD/rootAVD.sh\n    ```\n4. List all AVDs\n    ```bash\n    ./rootAVD/rootAVD.sh ListAllAVD\n5. Root the desired AVD, e.g:\n    ```bash\n    ./rootAVD/rootAVD.sh \u003candroid-sdk-path\u003e/system-images/android-33/google_apis/x86_64/ramdisk.img\n    ```\n6. Wait for the script to finish / for the device to reboot. If it doesn't reboot automatically after script completion, then try manually\n\n**AVD:**\n1. Settings\n    - About Emulated Device =\u003e Tap build number a lot =\u003e Developer options unlocked\n    - System =\u003e Developer options =\u003e Uncheck `Automatic system updates` *(To prevent losing root due to system updates)*\n    - Apps =\u003e See all apps =\u003e Magisk =\u003e Install unknown sources =\u003e Allow from this source =\u003e Ok\n2. Magisk Manager\n    - Allow notifications\n    - Requires Additional Setup =\u003e Ok =\u003e Wait for reboot\n    - Settings =\u003e App\n        =\u003e Hide the Magisk app =\u003e Grant super user access\n        =\u003e Restore the Magisk app =\u003e Add shortcut to home screen\n3. Magisk Manager (hidden as `Settings`) =\u003e Settings =\u003e Magisk =\u003e Check `Zygisk` =\u003e Reboot\n\n## 4. Installation - King Installer\nAndroid Auto requires that applications are installed through the Google Play Store to be usable.   \nSo we need to spoof the installer during installation, to \"install as Google Play Store\".\n\nIn this guide we'll install the applications we seek to use through **King Installer**   \n*(With `Enable if you use rooted (LineageOS) phone` checked)*\n\n**AVD:**\n1. Download and install the latest **King Installer** [release](https://github.com/fcaronte/KingInstaller/releases) through your File Manager\n2. Settings =\u003e Apps\n    - Special app access =\u003e All files access =\u003e KingInstaller =\u003e Check `Allow access to manage all files`\n    - See all apps =\u003e KingInstaller =\u003e  Install unknown apps =\u003e Check `Allow from this source`\n\n#### Verify app installation\nTo verify if the process of installing an app \"as Google Play Store\" went correctly, check as following:\n\n**AVD:**\n- Settings =\u003e Apps =\u003e See all apps =\u003e Name of installed App =\u003e Store *(at the bottom)*\n- There you should see either of following, `App installed from ...` messages:\n    - `license checker` - On AVDs without Google Play\n    - `FakeStore` - On AVDs with MicroG *(Google Play Store stub)*\n    - `Google Play Store` - On AVDs with Google Play Store enabled\n\n#### Other options\n- [Aurora Store](https://gitlab.com/AuroraOSS/AuroraStore) *(With `Root installer` as the installation method enabled!)*\n- ADB\n    ```bash\n    adb push \u003cpath-to-apk\u003e/android-auto.apk /data/local/tmp/android-auto.apk\n    adb shell su -c pm install -i \"com.android.vending\" /data/local/tmp/android-auto.apk\n    ```\n- Package Manager *(Not recommended, because it doesn't spoof \"as Google Play Store\", but works for some apps)*\n\n## 5. Installation - Android Auto\nThe default Android Auto stub in the system partition of AVDs prevents the installation of full Android Auto on AVDs.\nTo work around this, we'll replace the original AA stub with a patched one, provided by **aa4mg** *(Android Auto for MicroG)*.\n\n**AVD:**\n1. Download and install the latest **aa4mg** [release](https://github.com/sn-00-x/aa4mg/releases) *(Through Magisk Manager)* =\u003e Reboot\n2. Settings =\u003e Apps =\u003e See all apps =\u003e Android Auto =\u003e Mobile data \u0026 Wi-Fi =\u003e UnCheck all\n3. Download and install the latest **Android Auto** [x86_64 release from APKMirror](https://www.apkmirror.com/apk/google-inc/android-auto/variant-%7B%22arches_slug%22%3A%5B%22x86_64%22%5D%7D/) *([Through King Installer](#king-installer-installation))*\n4. Settings =\u003e Connected Devices =\u003e Connection Preferences =\u003e Android Auto\n    - System =\u003e UnCheck `Google Analytics`\n    - About =\u003eTap version number a lot =\u003e Allow development settings =\u003e Ok\n    - Triple dot icon =\u003e Developer settings\n        - Application Mode =\u003e Developer\n        - Check `Force debug logging`\n        - Check `Unknown Sources`\n        - Check `Enable debug overlay`\n    - Close App\n5. Settings =\u003e Connected Devices =\u003e Connection Preferences =\u003e Android Auto =\u003e General =\u003e Check `Taskbar widgets`\n6. Settings =\u003e Notifications =\u003e Device \u0026 app notifications =\u003e Android Auto =\u003e Check `Allow notification access` =\u003e Ok *(**Settings will still be restricted!**)*\n7. Settings =\u003e Apps =\u003e See all apps =\u003e Android Auto =\u003e Triple dot icon =\u003e Allow restricted settings\n8.  Settings =\u003e Notifications =\u003e Device \u0026 app notifications =\u003e Android Auto =\u003e Check `Allow notification access` =\u003e Allow\n\n## 6. Installation - Android Auto for phone screens\nThe Android Auto app likely won't open directly anymore,   \nwe'll use the **Android Auto for phone screens** shortcut launcher app to work around this.\n\n**AVD:**\n1. Download and install [Android Auto for phone screens](https://github.com/sn-00-x/aa4mg/raw/master/stubs/Android-Auto-for-phone-screens-v1.1.apk) from the aa4mg [`stubs`](https://github.com/sn-00-x/aa4mg/tree/master/stubs) folder *([Through King Installer](#king-installer-installation))*\n2. Settings =\u003e Apps =\u003e See all apps =\u003e Android Auto for phonescreens =\u003e Mobile data \u0026 Wi-Fi =\u003e UnCheck all\n\n## 7. Installation - Android Auto - Xposed Unlocked\nSome apps have additional restrictions applied to them.   \nTo make these work correctly / reliably we'll need some additional Xposed hooks.\n\n**AVD:**\n1. Download and install [LSPosed (Zygisk) + Shamiko](https://lsposed.org/) *(Through Magisk Manager)* =\u003e Reboot\n2.  Download and install [Android-Auto-Xposed-Unlocked](https://github.com/Rikj000/Android-Auto-Xposed-Unlocked/releases) *([Through King Installer](#king-installer-installation))*\n3.  Notifications =\u003e LSPosed =\u003e Create shortcut =\u003e Add to homescreen\n4.  LSPosed =\u003e Modules =\u003e Check `Enable module` + Check `Android Auto` =\u003e Reboot\n\n## 8. Installation - Hail\nAndroid Auto will launch the last used navigation app by default,   \nwhich can be annoying if you seek to develop / test things out.\n\nIn this guide we'll freeze Google Maps through **Hail**.   \nThe benefit of this is that due to no navigation app being enabled,   \nthe Android Auto Head Unit will always open straight in it's app launcher.\n\n**AVD:**\n1. Download and install [Hail](https://github.com/aistra0528/Hail/blob/master/README_EN.md)\n2. Hail \n    - Settings =\u003e Working mode =\u003e Check `Superuser - Disable` *(or `Shizuku - Disable` if you use Shizuku)* =\u003e Grant root permissions\n    - Apps =\u003e Filter icon =\u003e Check `System` =\u003e Check `Maps`\n    - Home =\u003e Triple dot icon =\u003e Freeze current\n\n## 9. Usage\n\n### Phone \u003c=\u003e Desktop Head Unit\n\n**Phone:**\nPlug USB into Desktop\n\n**Desktop - Favorite terminal of choice:**\n```bash\n\u003candroid-sdk-path\u003e/extras/google/auto/desktop-head-unit --usb\n```\n\n### AVD \u003c=\u003e Desktop Head Unit\n\n**AVD:**\nAndroid Auto =\u003e Triple dot icon =\u003e Start head unit server\n\n**Desktop - Favorite terminal of choice:**\n```bash\nadb forward tcp:5277 tcp:5277\n\u003candroid-sdk-path\u003e/extras/google/auto/desktop-head-unit --bridge\n```\n\n### AVD without Android Studio\n**Desktop - Favorite terminal of choice:**\n```bash\n# List all available AVDs\n\u003candroid-sdk-path\u003e/tools/emulator -list-avds\n# Run \u003cAVD-Name\u003e\n\u003candroid-sdk-path\u003e/tools/emulator -avd \u003cADV-Name\u003e\n```\n\n### More commands\n```bash\n# List all available commands\n\u003candroid-sdk-path\u003e/extras/google/auto/desktop-head-unit -help\n\u003candroid-sdk-path\u003e/tools/emulator -help\n```\n\n**Tip:** Add some aliases to your `.bashrc` or equivalent for the `emulator` and `desktop-head-unit` to make them easier to use!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikj000%2Fandroid-auto-ultimate-dev-unit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frikj000%2Fandroid-auto-ultimate-dev-unit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frikj000%2Fandroid-auto-ultimate-dev-unit/lists"}