This Sample App implements the approach mentioned in my Medium article at: https://medium.com/@callmeryan/changing-the-android-app-icon-programmatically-c913550330d
We can create multiple launcher icons by declaring activity-alias elements
in AndroidManifest.xml. The effect of changing the app icon is achieved by disabling the current
one and enabling a new one. While some say this does not work with things like crashlytics, deep
link, etc., indeed this is how Reddit implements this feature in their Android App.
This project was configured to build using Android Studio Otter 3 Feature Drop | 2025.2.3. You will need to have Java 21 to build the project.
Alternatively, you can find the ready-to-install APKs and App Bundles under the release section.
Since greg never uses Android, I put him on an Android App. However, please subscribe to greg for just 10¢ a day
- AndroidX Core KTX - Apache 2.0 - Kotlin extensions for core Android libraries
- JUnit - EPL 1.0 - Unit testing framework for Java
- AndroidX Test Ext JUnit - Apache 2.0 - JUnit extensions for AndroidX tests
- AndroidX Espresso - Apache 2.0 - UI testing framework for Android
- AndroidX Lifecycle - Apache 2.0 - Lifecycle-aware components
- AndroidX Activity Compose - Apache 2.0 - Jetpack Compose integration with Activity
- Jetpack Compose BOM - Apache 2.0 - Compose Bill of Materials for consistent versioning
- Jetpack Compose UI - Apache 2.0 - Compose UI core components
- Jetpack Compose Graphics - Apache 2.0 - Compose graphics utilities
- Jetpack Compose Tooling - Apache 2.0 - Tooling support for Compose UI
- Jetpack Compose Tooling Preview - Apache 2.0 - UI previews for Compose
- Jetpack Compose Test Manifest - Apache 2.0 - Compose test manifest configuration
- Jetpack Compose Test JUnit4 - Apache 2.0 - Compose test support with JUnit4
- Jetpack Compose Material3 - Apache 2.0 - Material Design 3 components for Compose
- AndroidX Test Rules - Apache 2.0 - AndroidX testing rules
- Android Application Plugin - Google - Plugin for building Android applications
- Kotlin Android Plugin - JetBrains - Plugin for Kotlin Android development
- Compose Compiler Plugin - JetBrains - Plugin for Jetpack Compose
- Detekt Plugin - Artur Bosch - A static code analysis tool for Kotlin projects
- Kotlinter Plugin - Jeremy Mailen - Kotlin linter based on ktlint