-
-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reproducible Builds #105
Comments
@IzzySoft I reviewed the hints on reproducible builds and didn't find any false flags that could affect the build's reproducibility. The only concern is the size difference in the C++ shared library. I'm not entirely sure what's causing this size discrepancy but after checking out C++ Library Support - Android NDK, I discovered that the EDIT: Perhaps I have to specify the NDK version in the build gradle file ? Does your build reproducer take into account this field ? |
I can specify the NDK to be used. AFAIK it should usually be discovered automatically, but in case a different one is needed (or the process somehow doesn't find the NDK), it can be specified. Currently, it's left on auto-discovery in the recipe for your app (so it found one, but that might be different from what you've used). If I understand that correctly, selection is then left to sdkmanager – I don't know how that picks its choice. I'm not an Android dev, so appreciate any "lessons" there: is there a standard way to specify the NDK version to be used, eg. in the build gradle? If so, I happily test it out if you tell me how (I could adjust the I see that AGP allows to specify PS: I just found that one can use something like TL;DR: first step, if you tell me which exact NDK version you were using, I'd explicitly specify that and give it another try. If that solves the issue, we should try with |
OK, you didn't tell me – but as you've added it to your Not sure if it's related, but cannot hurt to ask: what do you use to compile on? We currently run the build on Debian bookworm with JDK 17. |
@IzzySoft Anyway, with the NDK version specified, if I release the APKs again and the issue persists, we can rule out an NDK mismatch. But since you've already noticed this, it seems unrelated to the NDK version. Not sure what's going on here. |
Ah, so my action was premature – apologies. I was just walking the backlog and happened to reach your app…
Not necessarily– unless the APKs currently attached have been built with exactly that NDK. You can provie me an APK here (just rename it to But yeah, I can also wait for the next release if you prefer. |
At IzzyOnDroid we support Reproducible Builds (see: Reproducible Builds, special client support and more in our repo). Trying for yours, I was able to successfully generate the APK using below "build recipe", but the resulting APKs were not identical. Differences are only in
libc++_shared.so
for each of the ABIs, where their size differs by 800 kB for arm64 (yours is almost twice as large as the one from our build):We're building the exoOnly variant with rbtlog on Debian Bookworm, using JDK 17. Here's the build recipe I've used:
We'd appreciate if you could help making your build reproducible. We've prepared some hints on reproducible builds for that.
Looking forward to your reply!
cc @obfusk
The text was updated successfully, but these errors were encountered: