Använda Waydroid för att installera Android-appar på Ubuntu Touch

  • Waydroid kör ett komplett Android-system i en Linux-container och integrerar Android-appar med Ubuntu och Ubuntu Touch utan att behöva tillgripa tunga virtuella maskiner.
  • På Ubuntu Touch levereras Halium 9 eller högre enheter med Waydroid förinstallerat, vilket gör att du enkelt kan initiera det och hantera APK:er och butiker som F-Droid från terminalen.
  • Kompatibiliteten är inte total: vissa appar (banktjänster, tjänster med Play Integrity) kanske inte fungerar, och användning av Waydroid ökar batteriförbrukningen och potentiella hårdvarukonflikter.
  • Ekosystemet förlitar sig på fria teknologier (LXC, namnrymder, LineageOS, microG) och har en aktiv community som korrigerar fel och förbättrar integrationen med Ubuntu Touch.

Hur man använder Waydroid för att installera Android-appar på Ubuntu Touch

Om du använder Ubuntu Touch och vill installera och köra Android-applikationer smidigtDu har förmodligen redan hört talas om Waydroid. Tanken på att ha dina favoritappar för Android inbäddade i din Ubuntu-telefon eller surfplatta är väldigt frestande, men när du väl provar det börjar frågorna dyka upp: krav, prestanda, kompatibilitet, batteriförbrukning och hur man installerar APK:er utan att bli galen.

I de följande raderna hittar du en En komplett guide till att förstå och använda Waydroid på Ubuntu TouchDen här guiden täcker allt från vad det här verktyget egentligen är, hur det integreras med systemet, dess begränsningar och hur man installerar och hanterar Android-applikationer (inklusive butiker som F-Droid). Allt förklaras på spanska (Spanien) med ett lättillgängligt språk, men utan att försumma de viktiga tekniska aspekterna som gör hela skillnaden.

Vad är Waydroid och hur fungerar det på Ubuntu och Ubuntu Touch?

Waydroid är, kort sagt, en komplett Android-miljö som körs inuti en Linux-containerDet är inte en klassisk emulator eller en tung virtuell maskin: det är ett kompatibilitetslager som integrerar Android med GNU/Linux-system, såsom Ubuntu Desktop, Ubuntu Touch eller derivatdistributioner (Debian, Droidian, UBports, etc.).

Detta projekt föddes som en utveckling av Anbox-Halium, en variant av Anbox optimerad för Linux-telefonerTanken var att dra mycket bättre nytta av värdenhetens inbyggda hårdvara genom att minska antalet mellanliggande lager. Tack vare detta körs Android-applikationer med prestanda som ligger mycket närmare den inbyggda, vilket resulterar i mindre lagg och en betydligt smidigare upplevelse än med en traditionell virtuell maskin.

För att uppnå detta förlitar sig Waydroid på standard containertekniker i Linux, särskilt namnrymder (user, pid, uts, net, mount, ipc). Dessa namnrymder låter dig isolera processer, användare, nätverk och andra resurser, så att Android som är "innesluten" i containern fungerar som ett oberoende system, men delar samma kärna som resten av distributionen.

Containerhantering sker med LXC (Linux Containers), ett mycket moget verktyg för att hantera containeriserade miljöerSpecifika moduler laddas in i den Linuxkärnan, till exempel binder_linux och ashmem_linuxvilka är avgörande för att Android ska fungera korrekt utan att behöva en separat "speciell" kärna.

Vad är Lepton-kompatibilitetsskiktet för Android?
Relaterad artikel:
Vad är Lepton, Valves kompatibilitetslager för Android?

I praktiken betyder det det Android-systemet som körs inuti Waydroid har ganska direkt åtkomst till din hårdvara.Grafik, pekinmatning, ljud etc. Processorn simuleras inte, och all hårdvara återskapas inte som en generisk emulator skulle göra; istället används enhetens egen Linuxkärna direkt. Det är därför prestandan är betydligt överlägsen den hos en traditionell virtuell maskin.

Android-systemavbildningen som Waydroid använder är vanligtvis baserad på LineageOS, vanligtvis baserat på Android 10Det är en minimalistisk men komplett bild, anpassad för att köras inuti en container och erbjuder precis vad som behövs för att köra Android-applikationer av alla slag.

I det specifika fallet med Ubuntu Touch är Waydroid utformad för att arbetar med sessioner baserade på Wayland-protokolletDetta är ett viktigt krav: integrationen och hur Android-fönster renderas och interagerar med resten av miljön beror på Wayland. På stationära datorer som kör Ubuntu gäller samma krav: om du inte använder Wayland kommer Waydroid helt enkelt inte att fungera korrekt.

Fördelar med Waydroid: nästan nativ integration av Android-appar

En av Waydroids största styrkor är mycket naturlig integration av Android-applikationer med skrivbordsmiljön eller pekskärmsgränssnittetDu "öppnar inte bara en mobiltelefon inuti en mobiltelefon"; Android-appar kan samexistera med inbyggda Linux-applikationer ganska transparent.

Till exempel kan du ha din inbyggda Ubuntu Touch-webbläsare öppen samtidigt som en Android-meddelandeapp eller ett speloch växla mellan dem på ett sätt som är väldigt likt hur man skulle göra på en vanlig Android-smartphone. Denna parallella samexistens är en av projektets viktigaste funktioner.

Waydroid tillåter också det Genvägar för Android-applikationer visas i standardmenyn eller applistan för UbuntuI Ubuntu Touch innebär det att efter att Waydroid har initialiserats ser du nya Android-appikoner blandade med systemapparna. Om de inte visas omedelbart laddar du bara om appens omfång (svep nedåt från mitten av skärmen och släpp) för att uppdatera listan.

En annan mycket intressant funktion är Köra Android-appar i flerfönsterlägeFönstren anpassar sig till den visuella stilen i din skrivbordsmiljö, vilket är särskilt användbart på surfplattor eller enheter där du letar efter en mer PC-liknande upplevelse. Du kan flytta och ändra storlek på Android-fönster tillsammans med inbyggda program, vilket gör saker och ting mycket enklare.

För de som använder enheten som en bärbar konsol eller mediacenter erbjuder Waydroid ett helskärmsläge för Android-apparDetta är idealiskt för spel eller videoinnehåll, eftersom det utnyttjar skärmen fullt ut utan att behöva hantera ytterligare systemfält eller bildrutor.

Om du föredrar en mer klassisk upplevelse finns det också tillgängligt. ett läge där hela Android-gränssnittet visasDär har du din egen startskärm och programlåda, precis som du använder en Android-telefon i din Ubuntu Touch, utan att vara begränsad till bara enskilda fönster.

Tekniska krav och stödd miljö

Waydroid för att installera Android-appar på Ubuntu Touch

För att Waydroid ska fungera korrekt måste du uppfylla en rad krav. tekniska krav som bör följas till punkt och prickaAtt hoppa över någon av dem resulterar vanligtvis i fel som är svåra att felsöka.

Det första grundläggande kravet är användningen av Wayland som ett grafiskt sessionsprotokollOm du startar Ubuntu under X11 på stationära datorer och försöker starta Waydroid, kommer du att stöta på problem direkt. För Ubuntu Touch och andra Halium-baserade mobila system är sessionen redan konfigurerad på Wayland, så den här delen är löst direkt.

På stationära GNU/Linux-system är det också nödvändigt att ha Python 3 installeratDet är vanligtvis inte ett problem eftersom praktiskt taget alla nuvarande distributioner inkluderar det som standard, men det är ett beroende som Waydroid-verktygslådan behöver för att fungera.

En annan avgörande komponent är LXC, containertekniken som används av WaydroidInnan du installerar Waydroid på ett Ubuntu-skrivbordssystem måste du till exempel se till att LXC är korrekt installerat. I en typisk Ubuntu-installation skulle kommandot för att göra detta vara något i stil med:

sudo apt install lxc

Utan det paketet kommer Waydroid inte att kunna skapa och hantera Android-containern, så det är värt att kontrollera att den finns från början för att undvika efterföljande ominstallationer.

När det gäller distribution erbjuder Waydroid arkiv förberedda för olika versioner av Ubuntu och DebianTill exempel finns det paket för Ubuntu 20.04 (focal), 21.04 (hirsute) och Debian 11, samt för derivatsystem som Droidian och UBports. För att lägga till repositoriet, definiera först en variabel med versionen, hämta GPG-nyckeln och registrera källkoden.

export DISTRO="hirsute"
curl https://repo.waydro.id/waydroid.gpg > /usr/share/keyrings/waydroid.gpg && \
echo "deb [signed-by=/usr/share/keyrings/waydroid.gpg] https://repo.waydro.id/ $DISTRO main" > /etc/apt/sources.list.d/waydroid.list && \
sudo apt update

Med arkivet nu tillgängligt är installationen på Ubuntu-skrivbordet reducerad till en enkel process. sudo apt installera waydroidDärifrån initieras containern och startas med några få kommandon, till exempel sudo waydroid init y sudo systemctl start waydroid-container.

I Ubuntu Touch är situationen något annorlunda: Alla enheter baserade på Halium 9 eller högre, från Focal-basen, levereras med Waydroid förinstallerat.Med andra ord behöver du inte lägga till arkiv manuellt eller installera extra paket: initiera det helt enkelt från terminalen så att det laddar ner Android-avbildningen och är redo att användas.

Waydroid på Ubuntu Touch: Grundläggande installation

Om din telefon eller surfplatta med Ubuntu Touch är relativt modern och baserad på Halium 9 eller senare är det normalt att Waydroid finns redan i systemet och väntar på att du ska starta det för första gången.Initial aktivering görs från ett skal på enheten.

För att öppna det skalet har du flera alternativ: Anslut via ADB från din dator, använd SSH om det är aktiverat eller använd terminalappen som ingår i Ubuntu TouchVilken som helst av dessa metoder ger dig en kommandorad där du kan skriva Waydroid-kommandon.

När skalet är öppet är det viktigaste steget att köra initialiseringskommando:

waydroid init

Den här processen laddar ner Android-avbildningen, skapar containern och installerar allt som behövs för att förbereda miljön. Det kan ta ett tag, beroende på din anslutning och enhetens prestanda, så ha tålamod.

När du är klar, helt enkelt Ladda om Ubuntu Touch-programlistan för att kontrollera om Android-appikoner visas.Om du inte ser dem först sveper du nedåt från mitten av skärmen i appvyn och släpper för att uppdatera. Från och med då kommer alla Android-appar du installerar att läggas till i samma lista.

Installera och starta om Waydroid på Ubuntu-skrivbordet

På en skrivbordsinstallation med Ubuntu eller Debian är det grundläggande arbetsflödet för att få Waydroid igång relativt enkelt, utöver de krav som redan nämnts. När arkivet har lagts till och paketindexet har uppdaterats fortsätter processen enligt följande: Installera Waydroid med apt:

sudo apt install waydroid

Initialiseringen av Android-containern körs sedan med:

sudo waydroid init

När bilden är klar måste du Starta containertjänsten använder systemd:

sudo systemctl start waydroid-container

Om något går fel på grund av att du till exempel inte installerade LXC i förväg eller om du gjorde ett konfigurationsfel kan du alltid välja att Ta bort och installera om Waydroid från grundenFör att göra detta stoppas först sessionen och containern:

waydroid session stop
sudo waydroid container stop

Avinstallera sedan paketet med:

sudo apt remove waydroid

Slutligen raderas datamappen från behållaren för att lämna allt rent:

sudo rm -rf /var/lib/waydroid

Efter den här processen kan du Upprepa installationen och se till att alla förutsättningar är uppfyllda., börjar med LXC, och kör igen sudo waydroid init och starten av containertjänsten.

Jämförelse mellan Android 14 och Ubuntu Touch
Relaterad artikel:
Android 14 vs Ubuntu Touch: verklig prestanda på samma telefon

Installera Android-applikationer (APK:er) på Waydroid på Ubuntu Touch

När Waydroid har initialiserats är nästa logiska steg att installera dina egna Android-applikationer i form av APK-filerI Ubuntu Touch görs detta också från kommandoraden, men proceduren är ganska enkel.

Den första är kopiera APK-filen till enheten i en tillgänglig sökvägDen typiska mappen är vanligtvis:

/home/phablet/Downloads

Du kan få filen dit på många sätt: ladda ner den direkt från din mobila webbläsare, överföra den via USB från din dator, använda ADB för att pusha den eller använda något annat verktyg du är bekväm med.

När APK-filen är på plats, öppna ett shell på enheten igen (via ADB, SSH eller terminalappen) och använd Waydroid-specifikt kommando för att installera applikationer, som anger den fullständiga filsökvägen:

waydroid app install /home/phablet/Downloads/mi-aplicacion.apk

Om filen är giltig och kompatibel kommer installationen att slutföras och Du bör snart se Android-appikonen i Ubuntu Touch-applikationslistan.Som tidigare, om den inte visas omedelbart, uppdatera listan genom att dra nedåt från mitten av skärmen.

Använda appbutiker: F-Droid, Amazon Appstore och fler

Att installera APK:er manuellt fungerar, men det är mycket bekvämare Att ha en appbutik i Waydroid för att hantera installationer och uppdateringarI en miljö utan Google-certifiering är de vanligaste alternativen vanligtvis F-Droid och Amazon Appstore, bland andra alternativa butiker.

F-Droid utmärker sig eftersom Den erbjuder en katalog över gratis och öppen källkodsapplikationer (FOSS)Det kräver inte ett Google-konto eller är beroende av företagets egna tjänster, vilket passar perfekt in i filosofin bakom Ubuntu Touch och fri programvara i allmänhet. För att installera det, ladda bara ner dess APK från den officiella webbplatsen eller med ett verktyg som wgetoch använd sedan Waydroid-kommandot:

wget https://f-droid.org/F-Droid.apk
waydroid app install F-Droid.apk

När du har installerat F-Droid (eller någon annan alternativ butik) kommer du att kunna sök efter appar, installera dem och håll dem uppdaterade från ett grafiskt Android-gränssnittPå grund av Waydroids natur uppdaterar dock dessa butiker inte appar helt automatiskt: du måste regelbundet öppna butiken, söka efter uppdateringar och bekräfta installationen av var och en.

Det allmänna flödet är vanligtvis detsamma: Hitta appen, tryck på installera eller uppdatera, vänta tills den laddas ner och acceptera installationsdialogrutan. vilket visas av Android självt i Waydroid. Det är lite mer manuellt än på en certifierad Android-telefon, men fullt användbart.

För avancerade användare finns möjligheten att Skapa anpassade Waydroid-bilder som redan inkluderar en specifik appbutik förinstallerad.På så sätt kan Android-miljön distribueras på flera enheter utan att man manuellt behöver upprepa installationen av F-Droid eller någon annan butik på var och en.

Avinstallera Android-appar och hantera lagringsutrymme

När du slutar använda en Android-app är det en bra idé att Avinstallera den för att frigöra lagringsutrymme och minska potentiella konflikterI Ubuntu Touch med Waydroid utförs även denna uppgift från enhetsskalet.

Öppna först en terminal (via ADB, SSH eller själva Ubuntu Touch-terminalappen) och sedan Använd Waydroid-kommandon för att lista och ta bort apparTill exempel kan du se de installerade apparna med:

waydroid app list

Det kommandot visar dig programidentifierarna (APP_ID), vilket är vad du behöver avinstallera. När du har hittat den du är intresserad av kan du köra:

waydroid app remove [APP_ID]

Ett annat alternativ, om du har ADB konfigurerat, är att använda följande kommando:

adb uninstall [APP_ID]

Efter att du har tagit bort appen med någon av dessa metoder kan det ta ett tag innan ikonen försvinner från Ubuntu Touch-listan. I så fall, Ladda om programlistan genom att dra nedåt från appvyn för att tvinga fram uppdateringen.

Åtkomst till Androids interna lagring från Ubuntu Touch

I vissa fall är det mycket användbart för att kunna komma direkt åt filerna i Waydroid Android-miljön för att säkerhetskopiera, flytta data eller inspektera vad som har laddats ner.

Det interna lagringsutrymmet som Android ser finns vanligtvis i en liknande sökväg:

/home/phablet/.local/share/waydroid/data/media/0

Från Ubuntu Touch kan du navigera genom den mappen med hjälp av en filhanterare eller från terminalenKopiera filer, synkronisera data med andra appar eller bläddra helt enkelt bland det som sparats. Det är praktiskt taget motsvarigheten till den "interna lagringen" i en vanlig Android-telefon, men tillgänglig från Linux-lagret.

Viktiga begränsningar: batteri, kompatibilitet och hårdvara

Även om Waydroid är ett mycket kraftfullt verktyg är det viktigt Var mycket medveten om dess begränsningar innan du börjar använda den dagligen.Det är inte bara fördelar, och det är klokt att veta var de potentiella hindren ligger.

Den första begränsningen som många användare märker är ökad batteriförbrukning när Waydroid är aktivI slutändan körs ett helt Android-system parallellt med Ubuntu Touch, komplett med dess tjänster och processer. Om du vill spara batteri är det lämpligt att stoppa Waydroid när du inte behöver det.

Du måste också anta att Inte alla Android-appar fungerar på WaydroidSärskilt applikationer som är starkt beroende av tjänster som Google Play Integrity eller SafetyNet (internetbank, vissa betaltjänster, appar som är mycket känsliga ur säkerhetssynpunkt) verifierar vanligtvis att enheten är certifierad av Google och har de officiella Play-tjänsterna installerade.

Som i Ubuntu Touch med Waydroid Du har inte en certifierad miljö eller en officiell Play Store.Många av dessa appar kommer att vägra att fungera eller visa felmeddelanden. Detta kan också påverka program som kräver specifika Google-certifierade enheter eller funktioner som är nära kopplade till företagets egenutvecklade ekosystem.

En annan aspekt att tänka på är Möjlig konflikt vid användning av kringutrustning mellan Ubuntu Touch och WaydroidOm båda systemen försöker komma åt kameran, mikrofonen eller andra enheter samtidigt kan ett av dem förlora åtkomsten. Det är inte ovanligt att Android-appar klagar på att de inte kan använda kameran eftersom den används av huvudsystemet.

För de som behöver funktioner som liknar de som erbjuds av Google Play Services finns det microG, en gratis implementering av dessa tjänsterI vissa fall kan integrationen i Waydroid förbättra kompatibiliteten med vissa appar, men det är ingen mirakellösning: appar som kräver strikta integritetskontroller eller certifiering kommer fortfarande att ha problem.

Felsökning av APK-installation och daglig användning

Ett av de vanligaste felen när man installerar appar på Waydroid är att man får meddelandet "Ogiltig APK-fil" när installationskommandot körsVid första anblicken låter det som en skadad fil, men ofta är problemet något mycket enklare.

Den vanligaste orsaken är att Systemet kan inte hitta APK-filen i den angivna sökvägen.Detta kan bero på ett stavfel i namnet, att kommandot körs från en annan katalog eller att man glömt att inkludera hela sökvägen. För att undvika den här typen av fel rekommenderas det att alltid använda den absoluta sökvägen, till exempel:

waydroid app install /home/phablet/Downloads/mi-aplicacion.apk

Om felet fortfarande visas är det möjligt att APK-filen är skadad, ofullständig eller inte kompatibel med enhetens arkitektur.I så fall är det bäst att ladda ner den igen från en pålitlig källa eller leta efter en annan version anpassad till din hårdvara (ARM, ARM64, etc.).

Även vid daglig användning kan mindre integrationsproblem eller enstaka krascher förekomma. I många fall, Att starta om Waydroid-containern löser många problem.I Ubuntu-skrivbordet kan du till exempel göra det med:

sudo systemctl restart waydroid-container

Om problemet kvarstår eller verkar allvarligare är det en bra idé att granska loggarna, leta efter liknande incidenter och, om det behövs, Rapportera felet till relevant projekt..

Google Play Store, Google-tjänster och alternativa alternativ

En känslig punkt i hela den här frågan är avsaknad av Google Play Store och Googles egna tjänster på WaydroidGoogle har en sluten lista över certifierade enheter, och när ett system inte finns med på den listan blockerar de officiell åtkomst till sin butik och vissa API:er.

Det betyder att även om du har en fullt fungerande Android-miljö inom WaydroidDu kommer inte att kunna använda Play Store officiellt. Många appar distribueras endast via den butiken, så du måste använda alternativa APK-arkiv eller tredjepartsbutiker för att installera dem.

Den metoden fungerar ganska bra för en stor del av katalogen, men Det garanterar inte samma beteende som på en certifierad Android-enhet.Appar som kräver SafetyNet, Play Integrity eller avancerade säkerhetskontroller kan vägra starta eller ha begränsad funktionalitet.

Som redan nämnts kan microG delvis täcka några av dessa brister genom att erbjuda en gratis implementering av vissa Google API:erDet löser dock inte alla fall, och bankappar och andra viktiga tjänster har ofta kvar sina begränsningar.

Felhantering och rapportering i Waydroid + Ubuntu Touch-ekosystemet

Waydroid är ett projekt i ständig utveckling och Integrationen med Ubuntu Touch och andra system förfinas med tiden.Det är normalt att stöta på mindre buggar, ovanligt beteende eller skillnader beroende på vilken specifika enhet du använder.

Funktioner i Liberux NEXX-0-smarttelefonen
Relaterad artikel:
Liberux NEXX: den kraftfullaste och mest privata Linux-smarttelefonen på marknaden

När du upptäcker ett fel är det lämpligt att för att skilja på om det är ett problem specifikt för Ubuntu Touch eller WaydroidFel relaterade till bassystemet (gränssnitt, sessionshanterare etc.) bör rapporteras i Ubuntu Touch-problemspåraren. Fel som är specifika för Android-containern, Waydroid-kommandon eller körningen av Android-appar hanteras dock i den officiella Waydroid-problemspåraren.

När du skickar in en rapport, försök att inkludera Vänligen ange så mycket information som möjligt: ​​enhetsmodell, Ubuntu Touch-version, exakta steg för att återskapa felet och felmeddelanden.Denna information gör det enklare för utvecklare att snabbt diagnostisera problemet och föreslå korrigeringar eller tillfälliga lösningar.

Med allt ovanstående är det tydligt att Waydroid har blivit ett viktigt verktyg för dem som vill kombinera Android-världen med Ubuntu Touch.Det låter dig köra många applikationer på ett integrerat sätt, komma åt alternativa butiker som F-Droid, hantera APK:er från terminalen och bättre utnyttja enhetens hårdvara, alltid med tanke på begränsningarna i Googles certifiering, den högre batteriförbrukningen och de möjliga hårdvarukonflikter som kan uppstå när man kombinerar två system på samma kärna. Dela informationen så att fler användare kan lära sig om ämnet.