Canaree Music Player app with android
Canaree (Music Player)
Complete music player published in the Play Store. Heavily relies on Dagger, RxJava kotlin coroutines and Clean architecture.
Build
Compilation can be done in 2 ways. Using the first method will prevent you from supporting FFMPEG, FLAC and OPUS formats.
Method 1 (Fast)
In build.gradle
service-music module.
- Uncomment
implementation 'com.google.android.exoplayer:exoplayer-core:$latest_exoplayer_version
- Comment
implementation project(':exoplayer-library-core')
implementation project(':exoplayer-extension-flac')
implementation project(':exoplayer-extension-opus')
implementation project(':exoplayer-extension-ffmpeg')
Method 2
- Clone ExoPlayer
- In
settings.gradle
:- Update
gradle.ext.exoplayerRoot
to match your ExoPlayer repo path - Change
withapply from: new File(gradle.ext.exoplayerRoot, 'core_settings_min.gradle')
apply from: new File(gradle.ext.exoplayerRoot, 'core_settings.gradle')
- Update
After both
- Create
gradle.properties
in project root folder.
# OPTIONAL properties
org.gradle.jvmargs=-Xmx4096m
org.gradle.parallel=true
org.gradle.daemon=true
android.useAndroidX=true
android.enableJetifier=true
android.enableSeparateAnnotationProcessing=true
# incremental
kotlin.incremental=true
kapt.incremental.apt=true
# parallel
kapt.use.worker.api=true
# compilation avoidance
kapt.include.compile.classpath=false
# proguard
android.enableR8=true
android.enableR8.fullMode=true
# MANDATORY properties (keys)
last_fm_key="your_key"
last_fm_secret="your_secret"
fritz_key="your_fritz_sdk_key"
aes_password="your_aes_password"
ad_mob_key="your_ad_mob_key"
# test ad unit id
ad_mob_unity_id_bottom_navigation="ca-app-pub-3940256099942544/6300978111"
Extensions (Linux or macOS recommended)
To support FLAC, FFMPEG and OPUS formats to you need to compile manually the corresponding
ExoPlayer extensions using NDK-r15c or older, newer version of NDK are not supported.