Android Decompilare OTA OxygenOS (.DAT)

Stato
Discussione chiusa ad ulteriori risposte.

EddyGeeks

Utente Bronze
6 Dicembre 2016
37
4
10
34
Salve, Inforge.net.
Sono sicuro che tutti gli utenti Android abbiano avuto voglia di portare le app di sistema dei telefoni OnePlus con ROM OxygenOS. Alcune di queste si trovano nello store, mentre di altre si trova l'APK su internet, ma se avete bisogno di altre parti di OxygenOS e non riuscite a scaricare la sorgente open source, dovrete scaricarvi l'aggiornamento OTA per il OnePlus che preferite e decompilarlo, l'unico problema è che la ROM si trova in 3 file .dat che non si possono estrarre come le altre ROM sotto forma di zip, ma bisogna convertirli.

Da Android Lollipop 5.x gli OTA e la maggior parte della stock ROMs sono cambiati. Sono fatti in questo modo:
boot.img (kernel)
file_contexts (cose che riguardano selinux)
META-INF (cartella che contiene degli script)
system.new.dat (partizione /system compressa)
system.patch.dat (per OTAs)
system.transfer.list (file di testo che contiene i comandi per trasferire i dati da un luogo all'altro sulla partizione di destinazione)

REQUISITI:
- Aggiornamento OTA di OxygenOS (link al sito OnePlus)
- sdat2img (XDA - GitHub - MediaFire mirror) (NON SONO IO LO SVILUPPATORE DEL TOOL)
- 7zip (link)
- Python (link)


Step 1
Decomprimere l'archivio zip dell'aggiornamento OTA scaricato dal sito e mettere in una cartella i file estratti.
Step 2
Estrarre lo script sdat2img.py dall'archivio scaricato da GitHub e spostarlo nella stessa cartella in cui abbiamo estratto l'OTA di OxygenOS.

Step 3 (NON SONO IO LO SVILUPPATORE DEL TOOL)
Installare Python (se non è già installato) e aprire una finestra di comando nella cartella contenente la ROM e sdat2img.py.
Windows: nella finestra di comando digitare:
Codice:
sdat2img.py system.transfer.list system.new.dat system.img
Linux: nella finestra di comando digitare:
Codice:
./sdat2img.py system.transfer.list system.new.dat system.img

Step 4
Attendere anche il tool finisca di decomprimere i .dat (file sparsi) in .img (file singolo). Poi decomprimere il file system.img con 7zip. Ecco qui la vostra ROM OxygenOS!


Per altri approfondimenti (specialmente per quel che riguarda l'uso di sdat2img in particolare su Linux) visitare il thread originale su XDA
 
Ricordo anche che l'OxygenOS è strutturata in un modo completamente diverso dalle altre ROM. Quindi, a parte qualche piccola cosa, questa guida non dà indicazioni per il porting. Ricordo però che l'OxygenOS è open source, quindi questa procedura serve solo se si vuole una parte di ROM già cucinata. La versione open source può essere compilata solo per OnePlus 3 e 3T.

Inviata da C1905 tramite app ufficiale di Inforge.net
 
Stato
Discussione chiusa ad ulteriori risposte.