Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
b857db8
Major fixes
kunal7236 Oct 2, 2025
565ddd4
apk built for release
kunal7236 Oct 2, 2025
860e629
lyrics fixed
kunal7236 Oct 4, 2025
0a5573c
added contact widget
kunal7236 Oct 4, 2025
2abc165
download songs fixed
kunal7236 Oct 4, 2025
d311d59
source and target value updated
kunal7236 Oct 4, 2025
cb6d498
used gradient_plus | moved contact image to assest
kunal7236 Oct 11, 2025
0ab0419
fixed bottom audio player | Used Singelton design for init Audioplayer
kunal7236 Oct 11, 2025
b772c0d
added provider for state management
kunal7236 Oct 11, 2025
7ec2e0b
major changes| shimmer effect | modular code
kunal7236 Oct 11, 2025
62b5c21
fixed the issue "extra audio image download"
kunal7236 Oct 11, 2025
b5b3cb3
migrated to just_audio from audioplayers
kunal7236 Oct 14, 2025
b1acc97
background play with audio_service
kunal7236 Oct 14, 2025
aab74a5
music player not opening on first tap fixed
kunal7236 Oct 14, 2025
9d9a8e2
frame drop fixed
kunal7236 Oct 14, 2025
54b8fe9
music player layout fixed
kunal7236 Oct 14, 2025
4686a93
album support|next/previous button|loop button
kunal7236 Oct 14, 2025
7935d27
permission fixed
kunal7236 Oct 14, 2025
a4b8b3f
apk released 61mb
kunal7236 Oct 14, 2025
1dad329
fixed layout problem | set theme for the toast
kunal7236 Oct 16, 2025
86ecf82
released apk with 27mb size
kunal7236 Oct 16, 2025
9087c89
add music icon in notification
kunal7236 Oct 16, 2025
60ab3bc
music icon in notification
kunal7236 Oct 16, 2025
b3e13e9
workflow created
kunal7236 Oct 16, 2025
eb2e9f4
removed unused files
kunal7236 Oct 16, 2025
9413614
readme updated
kunal7236 Oct 16, 2025
eb8a40d
Trigger GitHub Actions workflow
kunal7236 Oct 16, 2025
a020686
Fix workflow: Update Flutter to 3.35.6 for Dart 3.7+ compatibility
kunal7236 Oct 16, 2025
bfb9f40
made music player scrollable due to layout issues in samsung devices
kunal7236 Oct 16, 2025
8aafe15
split apks
kunal7236 Oct 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 76 additions & 8 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,82 @@ jobs:
build:
name: Build APK
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v1
- uses: actions/setup-java@v1
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: '12.x'
- uses: subosito/flutter-action@v1
distribution: 'zulu'
java-version: '17'
- uses: subosito/flutter-action@v2
with:
flutter-version: '1.20.1'
- run: flutter build apk --release --target-platform android-arm,android-arm64,android-x64
- name: Create a Release APK
run: curl -F chat_id="-467829930" -F caption="$(git log -1)" -F document=@"$PWD/build/app/outputs/apk/release/app-release.apk" https://ci.sumanjay.ga/
flutter-version: '3.35.6'
channel: 'stable'
- run: flutter pub get
- run: flutter build apk --release --split-per-abi
- name: Upload Universal APK Artifact
uses: actions/upload-artifact@v4
with:
name: app-universal-release
path: build/app/outputs/flutter-apk/app-release.apk
retention-days: 720
- name: Upload ARM64 APK Artifact
uses: actions/upload-artifact@v4
with:
name: app-arm64-v8a-release
path: build/app/outputs/flutter-apk/app-arm64-v8a-release.apk
retention-days: 720
- name: Upload ARMv7 APK Artifact
uses: actions/upload-artifact@v4
with:
name: app-armeabi-v7a-release
path: build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk
retention-days: 720
- name: Upload x86_64 APK Artifact
uses: actions/upload-artifact@v4
with:
name: app-x86_64-release
path: build/app/outputs/flutter-apk/app-x86_64-release.apk
retention-days: 720
- name: Create GitHub Release
uses: ncipollo/release-action@v1
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
with:
artifacts: "build/app/outputs/flutter-apk/*.apk"
tag: v1.0.${{ github.run_number }}
name: Release v1.0.${{ github.run_number }}
body: |
## 🎵 Musify Release

**Commit:** ${{ github.event.head_commit.message }}

### Features:
- 🎵 Background playback with notifications
- 🔒 Lock screen controls
- 📱 Album queue system
- 🔁 Loop/repeat functionality
- ⬇️ Song download with permissions
- 📐 Responsive UI for all screen sizes
- 🚀 Dart 3 Compatible

### Available APKs:

**📦 Universal APK** (`app-release.apk`) - ~65MB
- Works on all devices (recommended if unsure)

**📱 ARM64 APK** (`app-arm64-v8a-release.apk`) - ~23MB
- For modern devices (2019+): Pixel, Samsung Galaxy S10+, OnePlus 7+, etc.

**📱 ARMv7 APK** (`app-armeabi-v7a-release.apk`) - ~21MB
- For older devices: Samsung Galaxy S6-S9, older budget phones

**💻 x86_64 APK** (`app-x86_64-release.apk`) - ~25MB
- For emulators and Intel-based devices

### How to choose:
- **Not sure?** → Download Universal APK
- **Want smaller size?** → Check your device's CPU architecture in Settings > About Phone
token: ${{ secrets.GITHUB_TOKEN }}
allowUpdates: true
makeLatest: true
116 changes: 102 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,131 @@
<p align="center">
<img width="100px" src="https://telegra.ph/file/ceab212e2a6cb5c0ea087.png" align="center" alt="GitHub Readme Stats" />
<img width="100px" src="https://telegra.ph/file/ceab212e2a6cb5c0ea087.png" align="center" alt="Musify Logo" />
<h2 align="center"><b>Musify</b></h2>
<p align="center"><b>Music Streaming and Downloading app made in Flutter!</b></p>
</p>

<h3 align="center">Show some :heart: and :star: the Repo</h3>
<h3 align="center">Show some ❤️ and the Repo</h3>

---
[![made-with-flutter](https://img.shields.io/badge/Made%20with-Flutter-1f425f.svg)](https://flutter.dev/) ![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://github.com/Harsh-23/Musify&title=Views) ![Release](https://img.shields.io/github/v/release/Harsh-23/Musify) ![Stars](https://img.shields.io/github/stars/Harsh-23/Musify) ![Forks](https://img.shields.io/github/forks/Harsh-23/Musify) ![Contributors](https://img.shields.io/github/contributors/Harsh-23/Musify)
[![made-with-flutter](https://img.shields.io/badge/Made%20with-Flutter-1f425f.svg)](https://flutter.dev/) ![Release](https://img.shields.io/github/v/release/kunal7236/Musify) ![Stars](https://img.shields.io/github/stars/kunal7236/Musify) ![Forks](https://img.shields.io/github/forks/kunal7236/Musify)

---

<h3 align="center">Features</h3>
<p align="center">
Online Song Search :mag:<br>
Streaming Support :musical_note:<br>
Background Playback :headphones:<br>
Lock Screen Controls :lock:<br>
Offline Download Support :arrow_down:<br>
320Kbps m4a/mp3 Format :fire:<br>
320Kbps m4a Format :fire:<br>
ID3 Tags Attached :notes:<br>
Lyrics Support :pencil:<br>
Loop/Repeat Mode :repeat:<br>
Album Queue System :cd:<br>
Responsive UI :iphone:<br>

---

<h3 align="center">Screenshots</h3>
<h3 align="center">Download</h3>
<p align="center" ><a href="https://github.com/kunal7236/Musify/releases" rel="GitHub Releases"><img width="100" height="100" src="https://telegra.ph/file/21bb2cc648561f192cea4.png"></a></p>

---

<h3 align="center">Which APK Should I Download?</h3>

Homepage | Now Playing
:-------------------------:|:-------------------------:
![](https://telegra.ph/file/902d4e7951a58ffd3d31c.png) | ![](https://telegra.ph/file/912e91bc24753c3d8fc46.png)
<p align="center">
We provide multiple APK versions to give you the best experience! 🎯
</p>

<table align="center">
<tr>
<th>APK Type</th>
<th>File Size</th>
<th>Best For</th>
</tr>
<tr>
<td><b>📦 Universal APK</b><br><code>app-release.apk</code></td>
<td>~61 MB</td>
<td>
✅ <b>Recommended for most users</b><br>
• Works on ALL Android devices<br>
• Don't know your phone's specs? Choose this!<br>
• Slightly larger but guaranteed to work
</td>
</tr>
<tr>
<td><b>📱 ARM64 APK</b><br><code>app-arm64-v8a-release.apk</code></td>
<td>~23 MB</td>
<td>
✅ <b>For Modern Phones (2019 onwards)</b><br>
• Samsung Galaxy S10, S20, S21, S22, S23, S24<br>
• Google Pixel 3, 4, 5, 6, 7, 8<br>
• OnePlus 7, 8, 9, 10, 11, 12<br>
• Xiaomi Redmi Note 8 Pro and newer<br>
• Realme 5 Pro and newer<br>
• Most phones from 2019 or later
</td>
</tr>
<tr>
<td><b>📱 ARMv7 APK</b><br><code>app-armeabi-v7a-release.apk</code></td>
<td>~21 MB</td>
<td>
✅ <b>For Older Phones (2014-2019)</b><br>
• Samsung Galaxy S6, S7, S8, S9<br>
• Older budget smartphones<br>
• Most 32-bit Android devices
</td>
</tr>
<tr>
<td><b>💻 x86_64 APK</b><br><code>app-x86_64-release.apk</code></td>
<td>~25 MB</td>
<td>
✅ <b>For Special Cases</b><br>
• Android emulators (BlueStacks, etc.)<br>
• Intel/AMD based Android devices (rare)<br>
• Some tablets
</td>
</tr>
</table>

Lyrics | About
:-------------------------:|:-------------------------:
![](https://telegra.ph/file/5182d60b3483c5abb60d9.png) | ![](https://telegra.ph/file/f54155f803bbfe9271321.png)
<h4 align="center">🤔 How to Check Your Phone's Architecture</h4>
<p align="center">
<b>Method 1 (Easy):</b> Just download the Universal APK - it works on everything!<br><br>
<b>Method 2 (For smaller file size):</b><br>
1. Install <a href="https://play.google.com/store/apps/details?id=com.cpuid.cpu_z">CPU-Z app</a> from Play Store<br>
2. Open it and check the "SoC" or "CPU" tab<br>
3. Look for the architecture (ARM64/ARMv7/x86)<br><br>
<b>Method 3 (Settings):</b><br>
Go to Settings → About Phone → Look for "Processor" or "Chipset"
</p>

<h4 align="center">💡 Quick Decision Guide</h4>
<p align="center">
🟢 <b>Phone bought after 2019?</b> → Download ARM64 APK<br>
🟡 <b>Phone bought between 2014-2019?</b> → Download ARMv7 APK<br>
🔵 <b>Not sure or installation fails?</b> → Download Universal APK<br>
🟣 <b>Using emulator?</b> → Download x86_64 APK
</p>

---

<h3 align="center">Download</h3>
<p align="center" ><a href="https://github.com/Harsh-23/Musify/releases" rel="GitHub Releases"><img width="100" height="100" src="https://telegra.ph/file/21bb2cc648561f192cea4.png"></a></p>
<h3 align="center">Credits</h3>
<p align="center">
This project is a fork of <a href="https://github.com/Harsh-23/Musify">Musify by Harsh-23</a>.<br>
Special thanks to the original author and all contributors for their work.<br><br>
<b>Enhancements in this fork:</b><br>
• Background playback with audio_service<br>
• Lock screen & notification controls<br>
• Album-based queue system<br>
• Loop/Repeat functionality<br>
• Responsive UI for all screen sizes<br>
• Updated dependencies & build system<br>
• Dart 3.0 Compatibility<br>
• and many more..<br>
</p>

---

<h3 align="center">License</h3>
<p align="center" ><a href="https://github.com/Harsh-23/Musify/blob/master/LICENSE.md" rel="License">Licensed under GPL-3.0 License</a></p>
<p align="center" ><a href="https://github.com/kunal7236/Musify/blob/master/LICENSE.md" rel="License">Licensed under GPL-3.0 License</a></p>
59 changes: 43 additions & 16 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
plugins {
id "com.android.application"
id "org.jetbrains.kotlin.android"
id "dev.flutter.flutter-gradle-plugin"
}

def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
Expand All @@ -21,44 +27,65 @@ if (flutterVersionName == null) {
flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"

android {
compileSdkVersion 28
namespace 'me.musify'
compileSdk 36

sourceSets {
main.java.srcDirs += 'src/main/kotlin'
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}

kotlinOptions {
jvmTarget = '11'
freeCompilerArgs += ['-Xlint:-options']
}

// Suppress Java compilation warnings for obsolete options
tasks.withType(JavaCompile) {
options.compilerArgs += ['-Xlint:-options']
}

lintOptions {
disable 'InvalidPackage'
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}

defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "me.musify"
minSdkVersion 16
targetSdkVersion 28
minSdkVersion flutter.minSdkVersion // Required for audio_service
targetSdkVersion 36
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}

// Enable APK splits by ABI to generate separate APKs for different architectures
splits {
abi {
enable true
reset()
include 'armeabi-v7a', 'arm64-v8a', 'x86_64'
universalApk true // Generate universal APK as well
}
}

buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug

// Disable minification - audio_service notifications don't work with R8/ProGuard
// This ensures background playback and lock screen controls work properly
minifyEnabled false
shrinkResources false

// ProGuard rules kept for future reference if needed
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}

flutter {
source '../..'
}

dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:2.1.0"
}
Loading