maxrave-dev / SimpMusic

A simple music app using YouTube Music for backend
https://simpmusic.tech/
GNU General Public License v3.0
1.75k stars 114 forks source link

F-Droid can't build #94

Open licaon-kter opened 12 months ago

licaon-kter commented 12 months ago

...as the APK is not reproducible: https://monitor.f-droid.org/builds/log/com.maxrave.simpmusic/9#site-footer

My local APK: com.maxrave.simpmusic_9.apk.zip (remove .ZIP from filename)

Upstream APK: https://github.com/maxrave-dev/SimpMusic/releases/tag/v0.1.3-beta

Diff log: simp1.log

@maxrave-dev are you sure the APK you've uploaded is built from 452239aabe6c920bc4b2cec83112fcff57b3c11f ?

fyi @linsui @obfusk

/LE: fyi https://gitlab.com/fdroid/fdroiddata/-/commit/50fe3776b5228a1b409f641085f7ef90dc1e3412

maxrave-dev commented 1 month ago

Hope you help me to fix @licaon-kter

licaon-kter commented 1 month ago

What's the smali/ difference once disassembled with apktool or diffoscope?

maxrave-dev commented 1 month ago

I use fdroid build command so I cant find the apk which built after this commnad

licaon-kter commented 1 month ago

You build in a VM? Just enter the VM and find . -iname "*.apk" then extract the APK out of the VM or disassemble inside the VM, download your APK in there, etc plenty of options.

maxrave-dev commented 1 month ago

I build in local device

maxrave-dev commented 1 month ago

@licaon-kter This is the diff diff.txt

licaon-kter commented 1 month ago

Wow, just one line difference.

Can you build and compare with isMinifyEnabled = true false in your build.gradle?

maxrave-dev commented 1 month ago

image Thanks god! Finally this okey I removed this line from R8

-keep class kotlin.coroutines.Continuation
licaon-kter commented 1 month ago

so https://gitlab.com/fdroid/fdroiddata/-/jobs/7559151760#L677 failed,. are we are missing some commits?

actual difflog:

--- SimpMusic_v0.2.3-hotfix
+++ com.maxrave.simpmusic_20
│   --- SimpMusic_v0.2.3-hotfix/smali_classes2
├── +++ com.maxrave.simpmusic_20/smali_classes2
│ │   --- SimpMusic_v0.2.3-hotfix/smali_classes2/Ra
│ ├── +++ com.maxrave.simpmusic_20/smali_classes2/Ra
│ │ │   --- SimpMusic_v0.2.3-hotfix/smali_classes2/Ra/W0.smali
│ │ ├── +++ com.maxrave.simpmusic_20/smali_classes2/Ra/W0.smali
│ │ │ @@ -499,15 +499,15 @@
│ │ │  
│ │ │      sget-object p1, Le9/U;->a:Le9/U;
│ │ │  
│ │ │      invoke-static {p1}, Le9/u;->constructor-impl(Ljava/lang/Object;)Ljava/lang/Object;
│ │ │  
│ │ │      move-result-object p1
│ │ │  
│ │ │ -    invoke-interface {v0, p1}, Li9/e;->resumeWith(Ljava/lang/Object;)V
│ │ │ +    invoke-virtual {v0, p1}, LOa/o;->resumeWith(Ljava/lang/Object;)V
│ │ │      :try_end_0
│ │ │      .catchall {:try_start_0 .. :try_end_0} :catchall_0
│ │ │  
│ │ │      :goto_0
│ │ │      monitor-exit p0
│ │ │  
│ │ │      invoke-virtual {v0}, LOa/o;->getResult()Ljava/lang/Object;
maxrave-dev commented 1 month ago

Do you think this caused by Android 15 (SDK API 35, Build tools 35)

maxrave-dev commented 1 month ago
2024-08-12 22:13:48,602 INFO: ...successfully verified
2024-08-12 22:13:48,602 INFO: compared built binary to supplied reference binary successfully
2024-08-12 22:13:48,642 INFO: supplied reference binary has allowed signer 76c53bd813ae8f1ce2778f7814b515785719bf9a82c6bee03b8b2dfd706055a1
2024-08-12 22:13:48,644 INFO: success: com.maxrave.simpmusic
2024-08-12 22:13:48,644 INFO: Finished
2024-08-12 22:13:48,644 INFO: 1 build succeeded

Tested in v0.2.3-hf2 Can you test again? @licaon-kter

licaon-kter commented 1 month ago

confirmed, thanks https://gitlab.com/fdroid/fdroiddata/-/commit/b4fbdd4cb799dbf24243f66684e516cb2f4a260c

IzzySoft commented 1 month ago

One time lucky, LK: on the build server it failed. At IoD it succeeded.

@maxrave-dev this is what we call a "flaky build": it's nondeterministic. No idea (yet) what causes that. Luckily it can be handled in the build recipe with a little trick – though that requires manual intervention on each release, which at IoD we'll apply for now until we can get rid of the "flakyness".

licaon-kter commented 1 month ago

Yup, locally builds fine :(

IzzySoft commented 1 month ago

Yup, locally builds fine :(

One time yes, the next not => flaky, nondeterministic. We could not yet figure what causes that, so there's no real "fix" for it. We just have our ways to deal with it in the recipes, working around the "flakiness".

maxrave-dev commented 1 month ago

confirmed, thanks https://gitlab.com/fdroid/fdroiddata/-/commit/b4fbdd4cb799dbf24243f66684e516cb2f4a260c

Hey bro, I mean version v0.2.3-hf2, please check your commit to Fdroid Data, the name of version still 0.2.3-hotfix

obfusk commented 1 month ago

Hey bro, I mean version v0.2.3-hf2, please check your commit to Fdroid Data, the name of version still 0.2.3-hotfix

The version name was "0.2.3-hotfix" until an hour ago (#506). It was changed after tagging and building the APK. Both the code at the tag and the APK at the release have versionName=0.2.3-hotfix. Both F-Droid's (failed) build and Izzy's used commit eaba3a2e727c76846e281206c981217ee94cf0ff, which is what the APK at tag v0.2.3-hf2 was built from.

maxrave-dev commented 1 month ago

Yes, so can @licaon-kter disable this version from F-Droid build. In the next release, I will take care of version naming. Sorry all for this issue 🙏

obfusk commented 1 month ago

What about the APK already published on IzzyOnDroid? You want us to remove that too?

licaon-kter commented 4 weeks ago

@maxrave-dev done