buildMetaData task doesn't generate reproducible binaries
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- android
- Ambito
- build-system, mobile-dev
Direzione di ricerca
Inizia individuando il task buildMetaData nell’Android runtime e riproduci la generazione dell’APK localmente e in un ambiente Docker, Podman o GitHub Actions. Confronta gli output con diffoscope; il lavoro è completato quando i binari dei metadati sono identici byte per byte per lo stesso compileSdk, indipendentemente dall’ambiente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):
- CLI: 9.0.1
- Cross-platform modules:
- Android Runtime: 8.9.2 and 9.0.0
- iOS Runtime (if applicable): -
- Plugin(s): -
Describe the bug
buildMetaData task generates metadata binaries that are not deterministic and reproducible, Even with the same --compileSdk version set and exact Java, SDK, etc.. So, security checks will fail specially in opensource app stores like IzzyOnDroid and F-Droid.
The issue might be related to using methods like listFiles() without performing a sort on files or maybe different locale properties, I'm just guessing from my researches.
I've attached a diffoscope result to see the difference.
To Reproduce
- Generate an APK locally
- Generate the same APK using a docker/podman container or Github actions
- diff the results using any tool like diffoscope
Expected behavior
The metadata binaries should be exactly same for a specific compileSdk without considering which environment its running the buildMetaData task.
- Lingua principale
- C++
- Stelle
- 563
- Fork
- 144
- Merge medio
- 10h 46m
- PR unite (30g)
- 14
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di NativeScript/android
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
NativeScript/android#2039 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
NativeScript/android#2024 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
NativeScript/android#2020 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 42/100
NativeScript/android#2019 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
NativeScript/android#1986 ·
Tutte le issue di NativeScript/android
Issue simili
-
[BUG] Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
eunomia-bpf/llvmbpf#51 · 1 commento ·
-
status:needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
PX4/PX4-Autopilot#28776 ·
-
Website Doc Typo Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
autowarefoundation/autoware_universe#13413 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100