Download Home Assistant (Android Automotive) APK 2024.5.4-full arm64-v8a, armeabi-v7a, x86, x86_64 · Android 29+
Download APK
Verified Safe
This is the arm64-v8a, armeabi-v7a, x86, x86_64 build of Home Assistant (Android Automotive) 2024.5.4-full. Pick this build if your device's primary ABI matches.
File size: 72.6 MB • Min Android: 29 • Target Android: 33 • Version code: 12885 • Framework: Native (Java/Kotlin) • Permissions: 43
File Information
| Package Name | io.homeassistant.companion.android |
|---|---|
| Version Name | 2024.5.4-full |
| Version Code | 12885 |
| Architecture | arm64-v8a, armeabi-v7a, x86, x86_64 |
| Min Android Version | Android 29 (API 33) |
| Main Activity | androidx.car.app.activity.CarAppActivity |
| Framework | Native (Java/Kotlin) |
| File Size | 72.58 MB |
| Signature (SHA1) | F21C5AA894F278D4E769CBD9BBC6FF276934F37D |
| File Hash (SHA256) | 96aec7b6399205533185520d24263c3f5721b6d91be26bec13a02082bd8039fa |
What's New
What's Changed
Add some missing states for audio sensor and correct mic muted intent condition by
@dshokouhi
in
#4350
Add support for voice command action by
@joseph39
in
#4331
Bump com.google.devtools.ksp from 1.9.23-1.0.19 to 1.9.23-1.0.20 by
@dependabot
in
#4335
Bump gradle/wrapper-validation-action from 2 to 3 by
@dependabot
in
#4344
Bump com.google.guava:guava from 33.0.0-android to 33.1.0-android by
@dependabot
in
#4304
Bump hilt from 2.51 to 2.51.1 by
@dependabot
in
#4313
Fix runBlocking in coroutines by
@bbrockbernd
in
#4340
Provide interface for external bus outside WebViewActivity by
@jpelgrom
in
#4338
Bump androidx.core:core-splashscreen from 1.1.0-alpha02 to 1.1.0-rc01 by
@dependabot
in
#4319
Update change log week of 4/20 by
@dshokouhi
in
#4354
Bump horologist from 0.5.25 to 0.5.26 by
@dependabot
in
#4364
Bump androidPlugin from 8.3.1 to 8.3.2 by
@dependabot
in
#4362
Bump io.sentry:sentry-android from 7.6.0 to 7.8.0 by
@dependabot
in
#4361
Bump media3 from 1.3.0 to 1.3.1 by
@dependabot
in
#4359
Added Compose Previews for NFC, Onboarding & Companion Views by
@vieck
in
#4239
Bump horologist from 0.5.26 to 0.5.27 by
@dependabot
in
#4374
Bump androidx.core:core-ktx from 1.12.0 to 1.13.0 by
@dependabot
in
#4373
Bump androidPlugin from 8.3.2 to 8.4.0 by
@dependabot
in
#4371
Bump androidx.core:core-ktx from 1.13.0 to 1.13.1 by
@dependabot
in
#4377
Add QR code scanner for frontend by
@jpelgrom
in
#4303
Add a remaining charge time sensor for supported devices by
@dshokouhi
in
#4346
Bump androidx.webkit:webkit from 1.10.0 to 1.11.0 by
@dependabot
in
#4378
Bump wear-compose-foundation from 1.3.0 to 1.3.1 by
@dependabot
in
#4375
Bump activity-compose from 1.8.2 to 1.9.0 by
@dependabot
in
#4376
More AndroidX dependency updates (early May 2024) by
@jpelgrom
in
#4383
Update change log week of 5/3 by
@dshokouhi
in
#4382
Bump com.google.firebase.appdistribution from 4.2.0 to 5.0.0 by
@dependabot
in
#4381
Prevent race creating + clean up sensor entries for old/deleted servers by
@jpelgrom
in
#4386
Bump com.google.firebase:firebase-bom from 32.8.0 to 33.0.0 by
@dependabot
in
#4387
Bump org.jlleitschuh.gradle.ktlint from 12.1.0 to 12.1.1 by
@dependabot
in
#4396
Bump softprops/action-gh-release from 2.0.4 to 2.0.5 by
@dependabot
in
#4398
Bump com.google.guava:guava from 33.1.0-android to 33.2.0-android by
@dependabot
in
#4388
Bump kotlinx-coroutines from 1.8.0 to 1.8.1 by
@dependabot
in
#4400
Bump io.sentry:sentry-android from 7.8.0 to 7.9.0 by
@dependabot
in
#4399
Use device class enum where possible and supply possible states for those sensors by
@dshokouhi
in
#4394
Use device class for binary sensor friendly state to match frontend and core by
@dshokouhi
in
#4395
Bump kotlin from 1.9.23 to 1.9.24 by
@dependabot
in
#4392
Bump androidx.fragment:fragment-ktx from 1.7.0 to 1.7.1 by
@dependabot
in
#4405
Bump paging from 3.2.1 to 3.3.0 by
@dependabot
in
#4404
Bump lifecycle from 2.7.0 to 2.8.0 by
@dependabot
in
#4403
Quick fix minor warnings from Android Studio by
@jpelgrom
in
#4406
Update change log week of 5/17 by
@dshokouhi
in
#4411
Bump androidPlugin from 8.4.0 to 8.4.1 by
@dependabot
in
#4415
New Contributors
@joseph39
made their first contribution in
#4331
@bbrockbernd
made their first contribution in
#4340
@vieck
made their first contribution in
#4239
Full Changelog
:
2024.4.1...2024.5.4
Add some missing states for audio sensor and correct mic muted intent condition by
@dshokouhi
in
#4350
Add support for voice command action by
@joseph39
in
#4331
Bump com.google.devtools.ksp from 1.9.23-1.0.19 to 1.9.23-1.0.20 by
@dependabot
in
#4335
Bump gradle/wrapper-validation-action from 2 to 3 by
@dependabot
in
#4344
Bump com.google.guava:guava from 33.0.0-android to 33.1.0-android by
@dependabot
in
#4304
Bump hilt from 2.51 to 2.51.1 by
@dependabot
in
#4313
Fix runBlocking in coroutines by
@bbrockbernd
in
#4340
Provide interface for external bus outside WebViewActivity by
@jpelgrom
in
#4338
Bump androidx.core:core-splashscreen from 1.1.0-alpha02 to 1.1.0-rc01 by
@dependabot
in
#4319
Update change log week of 4/20 by
@dshokouhi
in
#4354
Bump horologist from 0.5.25 to 0.5.26 by
@dependabot
in
#4364
Bump androidPlugin from 8.3.1 to 8.3.2 by
@dependabot
in
#4362
Bump io.sentry:sentry-android from 7.6.0 to 7.8.0 by
@dependabot
in
#4361
Bump media3 from 1.3.0 to 1.3.1 by
@dependabot
in
#4359
Added Compose Previews for NFC, Onboarding & Companion Views by
@vieck
in
#4239
Bump horologist from 0.5.26 to 0.5.27 by
@dependabot
in
#4374
Bump androidx.core:core-ktx from 1.12.0 to 1.13.0 by
@dependabot
in
#4373
Bump androidPlugin from 8.3.2 to 8.4.0 by
@dependabot
in
#4371
Bump androidx.core:core-ktx from 1.13.0 to 1.13.1 by
@dependabot
in
#4377
Add QR code scanner for frontend by
@jpelgrom
in
#4303
Add a remaining charge time sensor for supported devices by
@dshokouhi
in
#4346
Bump androidx.webkit:webkit from 1.10.0 to 1.11.0 by
@dependabot
in
#4378
Bump wear-compose-foundation from 1.3.0 to 1.3.1 by
@dependabot
in
#4375
Bump activity-compose from 1.8.2 to 1.9.0 by
@dependabot
in
#4376
More AndroidX dependency updates (early May 2024) by
@jpelgrom
in
#4383
Update change log week of 5/3 by
@dshokouhi
in
#4382
Bump com.google.firebase.appdistribution from 4.2.0 to 5.0.0 by
@dependabot
in
#4381
Prevent race creating + clean up sensor entries for old/deleted servers by
@jpelgrom
in
#4386
Bump com.google.firebase:firebase-bom from 32.8.0 to 33.0.0 by
@dependabot
in
#4387
Bump org.jlleitschuh.gradle.ktlint from 12.1.0 to 12.1.1 by
@dependabot
in
#4396
Bump softprops/action-gh-release from 2.0.4 to 2.0.5 by
@dependabot
in
#4398
Bump com.google.guava:guava from 33.1.0-android to 33.2.0-android by
@dependabot
in
#4388
Bump kotlinx-coroutines from 1.8.0 to 1.8.1 by
@dependabot
in
#4400
Bump io.sentry:sentry-android from 7.8.0 to 7.9.0 by
@dependabot
in
#4399
Use device class enum where possible and supply possible states for those sensors by
@dshokouhi
in
#4394
Use device class for binary sensor friendly state to match frontend and core by
@dshokouhi
in
#4395
Bump kotlin from 1.9.23 to 1.9.24 by
@dependabot
in
#4392
Bump androidx.fragment:fragment-ktx from 1.7.0 to 1.7.1 by
@dependabot
in
#4405
Bump paging from 3.2.1 to 3.3.0 by
@dependabot
in
#4404
Bump lifecycle from 2.7.0 to 2.8.0 by
@dependabot
in
#4403
Quick fix minor warnings from Android Studio by
@jpelgrom
in
#4406
Update change log week of 5/17 by
@dshokouhi
in
#4411
Bump androidPlugin from 8.4.0 to 8.4.1 by
@dependabot
in
#4415
New Contributors
@joseph39
made their first contribution in
#4331
@bbrockbernd
made their first contribution in
#4340
@vieck
made their first contribution in
#4239
Full Changelog
:
2024.4.1...2024.5.4
App Description
📱 Home Assistant Companion for Android
Documentation
If you are looking for documentation around the companion applications check out the
Home Assistant Companion Documentation
. This will provide you instructions on using the applications.
Setup App Development Environment
Download and install
Android Studio
Download / clone this repository to a folder on your computer
Create a Firebase project at
Firebase Console
Create four Android apps, with following package names
io.homeassistant.companion.android
io.homeassistant.companion.android.debug
io.homeassistant.companion.android.minimal
io.homeassistant.companion.android.minimal.debug
Now download the
google-services.json
file and put it in the project's
/app
,
/automotive
and
/wear
folders. This file contains the configuration of the whole project (all four applications). (
You can also use the mock services file instead of generating your own
. The file should contain client IDs for all packages listed above for debugging to work properly.
If you do not generate your own file FCM push notification will never work, only websocket notifications will
)
Start Android Studio, open your source code folder and check if the Gradle build will be successful using Build/Make Module "App". You might have to install the right Android SDK via Tools/SDK Manager first.
Run
gradlew assembleDebug
to build all debug versions, this might take a while.
If the build is successful, you can run the app by doing the following: click
Run
->
Run 'app'
.
Connect your phone or create a new virtual device following on screen instruction
🎉
If you get stuck while setting up your own environment, you can ask questions in the
#devs_mobile_apps
channel on
Discord
.
Push Notifications
If you want to work on push notifications or use a development build with push notifications, please go the server side code
HERE
and deploy it to your firebase project. Once you have your androidV1 URL to the deployed service, set it in to your
${GRADLE_USER_HOME}/gradle.properties
file, e.g.:
homeAssistantAndroidPushUrl
=
mydomain.cloudfunctions.net/androidV1
You can also define the rate limit function URL, e.g.:
homeAssistantAndroidRateLimitUrl
=
mydomain.cloudfunctions.net/checkRateLimits
App Flavors
The Android app has both a full flavor that uses Google Play Services to offer features like location tracking and notifications. There is also a minimal flavor that does not require Google Play Services and can be found in the releases section. The minimal flavor does not have location tracking or notifications.
Building for publishing
To build the app for publishing, you will need to sign the app. To do this, do the following:
Create keystore containing keypair for debug application signing. In Android Studio: Menu/Build/Generate signed APK, then use a button to create new keystore. Remember the passwords and key alias. Default, the keystore must be named
release_keystore.keystore
and should be placed in the
home-assistant-Android/app
and
home-assistant-Android/wear
folder.
Set environmental variables used in
app/build.gradle.kts
:
KEYSTORE_PASSWORD
KEYSTORE_ALIAS
KEYSTORE_ALIAS_PASSWORD
KEYSTORE_PATH
(if your keystore is located differently than stated above)
Run
gradlew build
The signed APK is located in your build folder
Testing Dev Releases
We are using
Github Actions
to perform continuous integration both by unit testing, deploying dev releases to
Play Store Beta
and final releases to the
Play Store
when we release. To help test out a specific feature/fixes users can find the APK on the Actions page for each pull request, this debug APK can be installed side-by-side the production or beta builds.
Quality
We are using
ktlint
as our linter. You can run a check locally on your machine with:
./gradlew ktlintCheck
This commands runs on our CI to check if your PR passes all tests. So we strongly recommend running it before committing.
To run a check with an auto-format:
./gradlew ktlintFormat
Translating
The project currently uses
lokalise
to translate the application. If you are interested in helping translate go to the link and click start translating!
Generating a release to production
Go to the latest Pre-Release and edit it
Delete the body of the release, select the last full release tag and auto generate the release notes
Uncheck the Pre-Release box and click update release
This should cause the
Play Publish Production
Workflow to execute and should handle the rest
Documentation
If you are looking for documentation around the companion applications check out the
Home Assistant Companion Documentation
. This will provide you instructions on using the applications.
Setup App Development Environment
Download and install
Android Studio
Download / clone this repository to a folder on your computer
Create a Firebase project at
Firebase Console
Create four Android apps, with following package names
io.homeassistant.companion.android
io.homeassistant.companion.android.debug
io.homeassistant.companion.android.minimal
io.homeassistant.companion.android.minimal.debug
Now download the
google-services.json
file and put it in the project's
/app
,
/automotive
and
/wear
folders. This file contains the configuration of the whole project (all four applications). (
You can also use the mock services file instead of generating your own
. The file should contain client IDs for all packages listed above for debugging to work properly.
If you do not generate your own file FCM push notification will never work, only websocket notifications will
)
Start Android Studio, open your source code folder and check if the Gradle build will be successful using Build/Make Module "App". You might have to install the right Android SDK via Tools/SDK Manager first.
Run
gradlew assembleDebug
to build all debug versions, this might take a while.
If the build is successful, you can run the app by doing the following: click
Run
->
Run 'app'
.
Connect your phone or create a new virtual device following on screen instruction
🎉
If you get stuck while setting up your own environment, you can ask questions in the
#devs_mobile_apps
channel on
Discord
.
Push Notifications
If you want to work on push notifications or use a development build with push notifications, please go the server side code
HERE
and deploy it to your firebase project. Once you have your androidV1 URL to the deployed service, set it in to your
${GRADLE_USER_HOME}/gradle.properties
file, e.g.:
homeAssistantAndroidPushUrl
=
mydomain.cloudfunctions.net/androidV1
You can also define the rate limit function URL, e.g.:
homeAssistantAndroidRateLimitUrl
=
mydomain.cloudfunctions.net/checkRateLimits
App Flavors
The Android app has both a full flavor that uses Google Play Services to offer features like location tracking and notifications. There is also a minimal flavor that does not require Google Play Services and can be found in the releases section. The minimal flavor does not have location tracking or notifications.
Building for publishing
To build the app for publishing, you will need to sign the app. To do this, do the following:
Create keystore containing keypair for debug application signing. In Android Studio: Menu/Build/Generate signed APK, then use a button to create new keystore. Remember the passwords and key alias. Default, the keystore must be named
release_keystore.keystore
and should be placed in the
home-assistant-Android/app
and
home-assistant-Android/wear
folder.
Set environmental variables used in
app/build.gradle.kts
:
KEYSTORE_PASSWORD
KEYSTORE_ALIAS
KEYSTORE_ALIAS_PASSWORD
KEYSTORE_PATH
(if your keystore is located differently than stated above)
Run
gradlew build
The signed APK is located in your build folder
Testing Dev Releases
We are using
Github Actions
to perform continuous integration both by unit testing, deploying dev releases to
Play Store Beta
and final releases to the
Play Store
when we release. To help test out a specific feature/fixes users can find the APK on the Actions page for each pull request, this debug APK can be installed side-by-side the production or beta builds.
Quality
We are using
ktlint
as our linter. You can run a check locally on your machine with:
./gradlew ktlintCheck
This commands runs on our CI to check if your PR passes all tests. So we strongly recommend running it before committing.
To run a check with an auto-format:
./gradlew ktlintFormat
Translating
The project currently uses
lokalise
to translate the application. If you are interested in helping translate go to the link and click start translating!
Generating a release to production
Go to the latest Pre-Release and edit it
Delete the body of the release, select the last full release tag and auto generate the release notes
Uncheck the Pre-Release box and click update release
This should cause the
Play Publish Production
Workflow to execute and should handle the rest
Download Home Assistant (Android Automotive) APK
Fast, free and safe download.
APK Permissions 43
- android.car.permission.CAR_ENERGY
- android.car.permission.CAR_ENERGY_PORTS
- android.car.permission.CAR_INFO
- android.car.permission.READ_CAR_DISPLAY_UNITS
- android.permission.ACCESS_BACKGROUND_LOCATION
- android.permission.ACCESS_COARSE_LOCATION
- android.permission.ACCESS_FINE_LOCATION
- android.permission.ACCESS_NETWORK_STATE
- android.permission.ACCESS_NOTIFICATION_POLICY
- android.permission.ACCESS_WIFI_STATE
- android.permission.ACTIVITY_RECOGNITION
- android.permission.BLUETOOTH
- android.permission.BLUETOOTH_ADMIN
- android.permission.BLUETOOTH_ADVERTISE
- android.permission.BLUETOOTH_CONNECT
- android.permission.BLUETOOTH_SCAN
- android.permission.CALL_PHONE
- android.permission.CAMERA
- android.permission.CHANGE_WIFI_MULTICAST_STATE
- android.permission.FOREGROUND_SERVICE
- android.permission.FOREGROUND_SERVICE_LOCATION
- android.permission.INTERNET
- android.permission.MODIFY_AUDIO_SETTINGS
- android.permission.NFC
- android.permission.PACKAGE_USAGE_STATS
- android.permission.POST_NOTIFICATIONS
- android.permission.QUERY_ALL_PACKAGES
- android.permission.READ_PHONE_STATE
- android.permission.RECEIVE_BOOT_COMPLETED
- android.permission.RECORD_AUDIO
- android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
- android.permission.SCHEDULE_EXACT_ALARM
- android.permission.SYSTEM_ALERT_WINDOW
- android.permission.USE_BIOMETRIC
- android.permission.USE_FINGERPRINT
- android.permission.VIBRATE
- android.permission.WAKE_LOCK
- android.permission.WRITE_EXTERNAL_STORAGE
- android.permission.WRITE_SETTINGS
- com.android.alarm.permission.SET_ALARM
- com.google.android.c2dm.permission.RECEIVE
- com.google.android.gms.permission.ACTIVITY_RECOGNITION
- io.homeassistant.companion.android.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
APK Verified
The cryptographic signature guarantees that the file is safe to install and was not tampered with in any way.
Similar in House & Home
More by Home Assistant
Frequently Asked Questions about Home Assistant (Android Automotive) APK
This variant is built for devices that report `arm64-v8a, armeabi-v7a, x86, x86_64` as their primary ABI. If your device's CPU matches, this is the smallest, fastest version to install.
Yes — the APK's signature has been cryptographically verified against the publisher's signing key. The SHA-256 hash is shown in the File Information panel so you can independently confirm the file matches the original release.
Android 29 (API level 33) or newer. Older devices will refuse the install.
Install a free app like 'CPU-Z' or 'Droid Hardware Info' from the Play Store and look at the ABI / Instruction Set row. Most phones made after 2017 are arm64-v8a; if in doubt, download the universal variant.
All variants are functionally identical — same features, same version. They differ only in which CPU architectures the native code is compiled for, and (sometimes) which screen densities the included graphics target. Pick the one that matches your device for the smallest install size, or pick 'Universal' if you're unsure.