Meshtastic-Android icon indicating copy to clipboard operation
Meshtastic-Android copied to clipboard

[Bug]: Build of 2.6.4 F-Droid flavor fails thanks to Crashlytics

Open IzzySoft opened this issue 6 months ago • 22 comments

Contact Details

No response

What happened?

The build failed, at :app:uploadCrashlyticsMappingFileFdroidRelease – something that should not even exist for a FOSS flavor. Hence F-Droid will be unable to build –and we at IzzyOnDroid cannot confirm your APK as reproducible.

App Version

2.6.4

Phone

n/a

Device

n/a

Firmware

n/a

Relevant log output

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:uploadCrashlyticsMappingFileFdroidRelease'.
> java.io.IOException: Unknown error while sending file, check network [/build/repo/app/build/crashlytics/fdroidRelease/.crashlytics-mappings-tmp/6a9e954530

Code of Conduct

  • [x] I agree to follow this project's Code of Conduct

IzzySoft avatar May 27 '25 17:05 IzzySoft

Fun :)

licaon-kter avatar May 27 '25 17:05 licaon-kter

Update: adding -x :app:uploadCrashlyticsMappingFileFdroidRelease to the gradlew call successfully skipped that task, but then the APK was not RB. Bunch of differences in resources.arsc, like

       ENTRY [id=0x7f1100ae, key='default_web_client_id']
-        VALUE: 'XXXXXXXXXXXXhhgbj.apps.googleusercontent.com'
+        VALUE: '111-xxx.apps.googleusercontent.com'
       ENTRY [id=0x7f1100b0, key='delete']
         VALUE: 'Delete'
       ENTRY [id=0x7f1100b1, key='delete_for_everyone']
@@ -9950,7 +9950,7 @@
       ENTRY [id=0x7f11010a, key='favorite_remove']
         VALUE: "Remove '%s' as a favorite node?"
       ENTRY [id=0x7f110110, key='firebase_database_url']
-        VALUE: 'https://XXXXXX.firebaseio.com'
+        VALUE: 'https://xxx.firebaseio.com'
       ENTRY [id=0x7f110111, key='firmware']
         VALUE: 'Firmware'
       ENTRY [id=0x7f110112, key='firmware_old']
@@ -10006,7 +10006,7 @@
       ENTRY [id=0x7f11012b, key='gateway']
         VALUE: 'Gateway'
       ENTRY [id=0x7f11012c, key='gcm_defaultSenderId']
-        VALUE: 'XXXXXX'
+        VALUE: '1111'
       ENTRY [id=0x7f11012d, key='generate_input_event_on_ccw']

plus the Google API keys etc, which I rather do not quote here (I've also used XXXXX to sanitize other possible identifiers in above diff). Guess you added some Google stuff to the app and forgot to disable it for the FOSS build?

IzzySoft avatar May 27 '25 17:05 IzzySoft

thanks checking it out

jamesarich avatar May 27 '25 18:05 jamesarich

Our build was using: ./gradlew clean assembleFdroidRelease --no-build-cache --no-configuration-cache --no-daemon -x :app:uploadCrashlyticsMappingFileFdroidRelease, just for completeness. Forgot that detail, apologies.

IzzySoft avatar May 27 '25 18:05 IzzySoft

Changed some build files - fixed in #1948

jamesarich avatar May 27 '25 18:05 jamesarich

That was fast, thanks! So it will be fixed for the next release then (APK for the current one was already distributed, so we cannot RB that one anymore). Same for F-Droid, as the APK at the current release would not match a build from the newer commit. Maybe making a "maintenance release" with the fixed APK?Make it pre-release and give us a ping if you want a test run to be sure.

IzzySoft avatar May 27 '25 18:05 IzzySoft

i'll cut a 2.6.5-alpha shortly 🤠

jamesarich avatar May 27 '25 18:05 jamesarich

Btw, while I'm here:

  ! repo/com.geeksville.mesh_30604.apk declares flag(s): usesCleartextTraffic

Could you please clarify what that is used/needed for? Seems to be missing in our "green list" (to make it transparent). Guess some devices (cannot) have any proper certs?

IzzySoft avatar May 27 '25 18:05 IzzySoft

@IzzySoft https://github.com/meshtastic/Meshtastic-Android/releases/tag/2.6.5 build here to check out - lmk if this passes your scans

jamesarich avatar May 27 '25 19:05 jamesarich

Btw, while I'm here:

  ! repo/com.geeksville.mesh_30604.apk declares flag(s): usesCleartextTraffic

Could you please clarify what that is used/needed for? Seems to be missing in our "green list" (to make it transparent). Guess some devices (cannot) have any proper certs?

Isn't this the same issue we just tried to resolve? https://github.com/meshtastic/Meshtastic-Android/issues/829#issuecomment-2908133496

jamesarich avatar May 27 '25 19:05 jamesarich

Isn't this the same issue we just tried to resolve?

Ah, right, yes. I had that issue "ticked off" already as the path seemed clear, expecting it gone with the next release 🙈 Too many parallel tasks I guess…

build here to check out - lmk if this passes your scans

Scanners say all fine. Build still running… done, RB, thanks! I hope you'll simply convert it to a proper release, removing the "pre" check-box? Then I'd commit the new logs on our end.

IzzySoft avatar May 27 '25 20:05 IzzySoft

convert it to a proper release, removing the "pre" check-box?

yep promoting now, thanks

jamesarich avatar May 27 '25 20:05 jamesarich

Thanks! Changes persisted here then. Also pulled it to the staging area for the repo itself already. Will go live with the next sync then. Thanks a lot for the swift fix!

IzzySoft avatar May 27 '25 20:05 IzzySoft

@IzzySoft it seems like the builds on fdroid are stuck at 2.6.3. We recently promoted https://github.com/meshtastic/Meshtastic-Android/releases/tag/2.6.15 to production on google play, it'd be great to get fdroid up to speed!

Can you provide any assistance, here?

jamesarich avatar Jun 15 '25 17:06 jamesarich

On a quick look, checkupdate job can't use https://github.com/meshtastic/Meshtastic-Android/blob/2.6.4/app/build.gradle#L35-L36 it needs static versions

licaon-kter avatar Jun 15 '25 18:06 licaon-kter

2.6.15 is active at IzzyOnDroid, and confirmed as reproducible build – so nothing to do on our end.

Thanks to @licaon-kter for having jumped in directly for the F-Droid part! You could look here to find the versionCode maybe?

IzzySoft avatar Jun 15 '25 20:06 IzzySoft

yes those values are still static.. just stored in a separate buildSrc module buildSrc/src/main/kotlin/Configs.kt

thanks @IzzySoft for the assist

jamesarich avatar Jun 15 '25 20:06 jamesarich

Thanks for guidance :)

licaon-kter avatar Jun 15 '25 20:06 licaon-kter

update, https://gitlab.com/fdroid/fdroiddata/-/commit/3fa53ddee02d4e17019d7021619f53dfd7a68bb1 thanke

licaon-kter avatar Jun 16 '25 11:06 licaon-kter

@licaon-kter when can we expect the regular updates to resume?

jamesarich avatar Jun 18 '25 22:06 jamesarich

re-opening/re-purposing as the Fdroid site listing still hasn't updated at the time of this comment.

jamesarich avatar Jun 18 '25 22:06 jamesarich

https://gitlab.com/fdroid/wiki/-/wikis/FAQ#how-long-does-it-take-for-my-app-to-show-up-on-website-and-client

A cycle is ending today-ish, fyi

licaon-kter avatar Jun 19 '25 06:06 licaon-kter

https://monitor.f-droid.org/builds/log/com.geeksville.mesh/30620#site-footer @licaon-kter it doesn't look like the build passed - any idea why?

jamesarich avatar Jun 22 '25 02:06 jamesarich

Typo on my part, sorry

licaon-kter avatar Jun 22 '25 07:06 licaon-kter