Converti DEB in APK
Perché un DEB non può diventare un APK senza eseguire il porting o ricostruire il software
Converti i file DEB online
Non abbiamo ancora un convertitore online dedicato per DEB in APK, ma puoi convertire i file DEB online in questi formati:
Come convertire deb in apk file
- Archivi
- Ancora nessuna valutazione.
Un programma Linux distribuito come DEB non può essere installato su un telefono o emulatore Android che accetta APK, quindi si ricorre alla conversione quando lo stesso software è necessario su tale dispositivo. Poiché i pacchetti sono destinati a sistemi operativi diversi, un risultato funzionante richiede normalmente il porting o la ricompilazione del programma, anziché la semplice ridenominazione o il repackaging.
Che cos'è il formato DEB
DEB è il formato dei pacchetti di Debian, utilizzato da Debian, Ubuntu, Linux Mint e distribuzioni correlate. È un archivio ar contenente metadati di controllo e un archivio di dati compresso con eseguibili Linux, librerie condivise, file di configurazione, documentazione e script di installazione.
apt e dpkg installano i pacchetti DEB sui sistemi Linux compatibili. Un DEB può essere destinato a amd64, arm64 o a un'altra architettura Linux, ma i relativi binari e le dipendenze sono comunque creati per Linux, non per Android.
Che cos'è il formato APK
APK è il pacchetto applicativo installabile di Android. Normalmente contiene un manifest Android, risorse compilate, codice applicativo DEX, asset, librerie native in directory specifiche per l'ABI come arm64-v8a e una firma crittografica.
Android utilizza il manifest, l'ID dell'applicazione, le autorizzazioni, le informazioni di firma e le API del framework Android per installare ed eseguire un APK. Gli APK forniscono inoltre il sandbox dell'applicazione Android e possono essere distribuiti direttamente su dispositivi o emulatori compatibili. Android Studio e Gradle sono gli strumenti desktop standard per crearli.
Perché la conversione diretta non funziona
Un archivio DEB non è un APK con metadati diversi. Il suo eseguibile è solitamente un binario ELF Linux collegato a librerie e interfacce Linux; un APK richiede una struttura applicativa Android, codice compatibile e una firma. Cambiare .deb in .apk, ricomprimere l'archivio o inserire il DEB all'interno di un APK non rende il programma eseguibile su Android.
Non esiste alcun convertitore desktop generico o servizio online affidabile in grado di trasformare un DEB arbitrario in un APK funzionante. I servizi online per archivi possono estrarre un DEB, ma non possono eseguire il porting del codice sorgente, ricompilare i binari nativi, sostituire le API desktop, creare un manifest utilizzabile, risolvere le dipendenze Android o firmare l'applicazione completata. Il caricamento di pacchetti proprietari su tali servizi può inoltre divulgarne i contenuti.
Come creare un equivalente Android
- Esaminare il pacchetto. Su Debian, Ubuntu o un altro sistema Linux, eseguire:
dpkg-deb -I program.debdpkg-deb -f program.deb Architecturedpkg-deb -x program.deb deb-rootdpkg-deb -e program.deb deb-controlEsaminare
deb-root/usr/bin,deb-root/usr/libe i metadati di controllo. Eseguirefile deb-root/usr/bin/programper identificare un eseguibile ELF, uno script o dati indipendenti dall'architettura. Il DEB solitamente non contiene il codice sorgente necessario per il porting. - Individuare il codice sorgente e le dipendenze. Ottenere il codice sorgente del programma e analizzarne la licenza, il sistema di build, le librerie esterne, il toolkit desktop, le ipotesi sul filesystem, i servizi in background e il supporto della CPU. Riutilizzare soltanto le icone, i font o altri dati del DEB non equivale a eseguire il porting dell'applicazione.
- Creare un progetto Android. Utilizzare Android Studio con Gradle, definire l'ID dell'applicazione e le versioni Android supportate, implementare un'activity Android o un altro componente adatto e sostituire le interfacce desktop Linux, la gestione dei servizi, i percorsi, le autorizzazioni e i meccanismi di configurazione con equivalenti Android.
- Ricompilare il codice nativo quando necessario. Compilare i componenti C o C++ con l'Android NDK per gli ABI richiesti, comunemente
arm64-v8a. Le librerie create per glibc o per un ambiente Linux desktop richiedono generalmente modifiche al codice sorgente prima di poter essere compilate con la libreria C e le API di Android. - Adattare separatamente il software da riga di comando. Uno script o un'utilità da terminale può funzionare in Termux dopo l'installazione dell'interprete e delle dipendenze, ma ciò produce un'installazione nell'ambiente di runtime Termux, non un APK. Un'applicazione Android con interfaccia grafica richiede comunque un front end Android.
- Creare e firmare l'APK. Utilizzare Build → Generate App Bundles or APKs → Generate APKs in Android Studio oppure eseguire
./gradlew assembleDebug. Una build di debug viene firmata automaticamente e normalmente viene scritta inapp/build/outputs/apk/debug/. Per la distribuzione, configurare un keystore di release ed eseguire./gradlew assembleRelease; Android richiede una firma valida per l'installazione.
Limiti di compatibilità e alternative
Avere la stessa architettura CPU non è sufficiente. Un binario Linux può dipendere da glibc, X11 o altre librerie desktop, percorsi del filesystem Linux, servizi di sistema, funzionalità del kernel o script del gestore dei pacchetti che Android non fornisce. Un DEB contenente soltanto script, font o dati può essere riutilizzato più facilmente, ma richiede comunque un'applicazione o un runtime Android compatibile.
Se l'obiettivo è eseguire il programma Linux originale anziché produrre un APK, installare un ambiente Linux adatto tramite Termux e proot-distro, quindi utilizzare un gestore dei pacchetti all'interno di tale ambiente quando l'architettura del dispositivo e la distribuzione corrispondono a quelle del DEB. Ciò può evitare il porting, ma non crea un'app Android, può essere più lento e non fornisce la normale integrazione Android. apktool è utile per esaminare o ricostruire un APK esistente; non converte i file DEB.
In poche parole, è impossibile convertire direttamente DEB in APK.
Pertanto non esiste un cosiddetto convertitore deb in apk o un convertitore online gratuito . Convertitore da deb a .apk da trovare.
Confronto formato: DEB vs APK
Come i formati DEB e APK si confrontano sulle proprietà più importanti per questa conversione.
| Proprietà | .DEB Debian binary package | .APK Android Package |
|---|---|---|
| Standard aperto | Sì | No |
| Compressione | Entrambi | Entrambi |
| Dimensione tipica del file | Piccolo | Medio |
| Si apre in un browser web | No | No |
| Modifica successiva | Limitato | Non modificabile direttamente |
| Supporto metadata | Base | Base |
| Leggibile come testo semplice | No | No |
| Ideale per | Incorporamento nelle applicazioni | Incorporamento nelle applicazioni |
| Introdotto | 1995 | 2008 |
| Sviluppatore | Debian Project | |
| Tipo MIME | application/vnd.debian.binary-package | application/vnd.android.package-archive |