Device Information
Musika supports multiple Android device architectures:- arm64-v8a: ARM 64-bit (most modern devices)
- armeabi-v7a: ARM 32-bit (older devices)
- x86_64: x86 64-bit (emulators)
- x86: x86 32-bit (emulators)
For optimal performance, use the architecture-specific build matching your device. For maximum compatibility, use the universal build.
Quick Build Commands
Build Universal Debug APK (Recommended)
The universal build includes all architectures and works on any Android device.Build ARM64 Optimized APK
For modern Android devices (recommended for best performance on 64-bit devices).Build Variants
Musika supports multiple build variants for different architectures:| Variant | Architecture | Use Case |
|---|---|---|
| universal | All (armeabi-v7a, arm64-v8a, x86, x86_64) | Maximum compatibility |
| arm64 | ARM 64-bit only | Modern devices (Samsung, Google, etc.) |
| armeabi | ARM 32-bit only | Older Android devices |
| x86 | x86 32-bit | Android emulators |
| x86_64 | x86 64-bit | Modern emulators |
Most modern Android devices (2017+) use arm64-v8a architecture. The universal build is larger but ensures compatibility with all devices.
Installing on Device
Using ADB
Install the APK on a connected device using ADB:Build and Install in One Command
Gradle can build and install directly to a connected device:Configuration Files
Required Configuration
Before building, ensure you have the following configuration files:google-services.json (Optional)
Firebase configuration for analytics and crash reporting.
Firebase is optional. The app will build and run without it, but analytics and crash reporting will be disabled.
Building for Different Configurations
Debug Builds
Debug builds include debugging information and are not optimized:Release Builds
Release builds are optimized and require signing configuration:Troubleshooting
Check Connected Devices
Verify that your device is connected and recognized:Check Device Architecture
Determine which architecture your device uses:arm64-v8a- Use ARM64 buildarmeabi-v7a- Use ARMv7 buildx86_64- Use x86_64 build
Clean Build
If you encounter build issues, try a clean build:View Build Logs
For detailed build information, use the--info flag:
--debug:
Common Build Errors
SDK Location Not Found
local.properties with your SDK path:
Google Services Plugin Error
- Add your
google-services.jsonfile, or - Build the FOSS variant without Firebase:
Out of Memory
gradle.properties:
Build Optimization Tips
Parallel Builds
Enable parallel builds ingradle.properties:
Build Cache
Enable build cache for faster builds:Configuration Cache (Experimental)
Advanced Build Options
Building All Variants
Build all variants at once:Building Bundles (AAB)
For Google Play Store distribution:Android App Bundles (AAB) allow Google Play to generate optimized APKs for each device configuration automatically.
Custom Build Tasks
List all available tasks:Notes
- Most modern Android devices use arm64-v8a architecture
- The universal build is larger but ensures maximum compatibility
- ARM64 builds are smaller and may offer better performance on 64-bit devices
- Debug builds use the persistent-debug.keystore for consistent signing
- Firebase is optional - the app builds and runs without it
Example: Samsung Galaxy M30s
As a reference, here’s how to build for the Samsung Galaxy M30s:- Model: Samsung SM-M307F (Galaxy M30s)
- Architecture: arm64-v8a
- Device ID: RZ8M90F41BL