Converti deb in apk

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

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

  1. Esaminare il pacchetto. Su Debian, Ubuntu o un altro sistema Linux, eseguire:

    dpkg-deb -I program.deb
    dpkg-deb -f program.deb Architecture
    dpkg-deb -x program.deb deb-root
    dpkg-deb -e program.deb deb-control

    Esaminare deb-root/usr/bin, deb-root/usr/lib e i metadati di controllo. Eseguire file deb-root/usr/bin/program per identificare un eseguibile ELF, uno script o dati indipendenti dall'architettura. Il DEB solitamente non contiene il codice sorgente necessario per il porting.

  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 in app/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.

Confronto dei formati DEB e APK
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 Google
Tipo MIME application/vnd.debian.binary-package application/vnd.android.package-archive

Altre conversioni di file .deb

Conversione inversa

Conversione in .apk
da altri formati

Condividi sui social media: