Det er fascinerende å eksperimentere med ulike operativsystemer. Teknisk interesserte personer vet at alle operativsystemer har sine begrensninger, men de beste løsningene kan gi muligheter for å utfordre egne grenser.
I det teknologiske landskapet som er i konstant utvikling, finnes det en gruppe engasjerte mennesker som ikke er tilfreds med det eksisterende. Disse tekniske entusiastene er alltid på jakt etter nye utfordringer, utforsker ukjente områder og flytter grensene for hva som er mulig.
Et slikt prosjekt som har vakt stor interesse og nysgjerrighet blant disse entusiastene, er sammenslåingen av to kraftige operativsystemer: Android og Linux. Ønsket om å kjøre Android på Linux har blitt en spennende utfordring for disse teknisk kyndige hodene.
Hvorfor kjøre Android på Linux?
Svaret ligger i samspillet mellom to usedvanlig dyktige systemer, som begge utmerker seg innenfor sitt eget område. Android, det mye brukte mobiloperativsystemet utviklet av Google, har blitt en viktig del av den moderne smarttelefonæraen.
På den annen side dominerer Linux, et svært allsidig operativsystem med åpen kildekode, verden av servere, integrerte systemer og datamaskiner. Det er anerkjent for sin stabilitet, sikkerhet og fleksibilitet. Noen vanlige grunner til å kjøre Android på Linux er:
- Emulering og testing av apper
- Utforskning av åpen kildekode
- Tilpasning og personlig tilpasning
- Ressursutnyttelse og ytelse
- Sikkerhet og personvern
- Multifunksjonalitet på én enhet
- Læring og utvikling av ferdigheter
I det følgende skal vi se nærmere på hvordan du kan kjøre Android på Linux.
Hvordan kjører jeg Android på Linux?
Det finnes åpenbart flere måter å kjøre Android-applikasjoner på Linux. Bruk av emulatorer er en av de mest brukte metodene i dag. Men verden er ikke begrenset til bare emulatorer. Det finnes også metoder som x86 Project, virtuelle maskiner, skript og operativsystemintegrasjoner.
De fleste av disse er imidlertid teknisk krevende, med unntak av emulatorer. Derfor brukes emulatorer når brukere ønsker å kjøre Android-applikasjoner på Linux.
De andre populære metodene for å kjøre Android på Linux er ganske annerledes enn å bruke emulatorer. Android x86 Project, drevet av Apache, er en måte å overføre Android OS til åpen kildekode-operativsystemer som Linux. I tillegg gjør noen kompatibilitetslag, som Shashlik, det mulig for brukere å kjøre Android på Linux uten emulatorprogramvare.
Emulatorer gjør det enkelt, ved å simulere Android OS på et Linux-system. Dette gjøres ved hjelp av spesialutviklet programvare. De fleste som jobber innen programvareutvikling benytter seg av denne metoden.
La oss se på de beste plattformene som har kommet fra disse tekniske entusiastenes arbeid. Hver plattform tilbyr unike muligheter med kontinuerlig utvikling innen teknologi.
Anbox Cloud
Anbox Cloud er en skybasert plattform som gir mulighet for sømløs integrasjon av Android-applikasjoner i forskjellige skymiljøer. Den svært skalerbare funksjonen gir effektiv håndtering av arbeidsbelastninger, noe som gjør den til et utmerket valg for både små og store virksomheter. I motsetning til tradisjonelle emulatorer, kjører Anbox Cloud Android i systemcontainere, noe som sikrer bedre ytelse og redusert overhead.
Med omfattende kompatibilitet på tvers av store skytjenesteleverandører som AWS, OCI, Azure og GCP, gir Anbox Cloud fleksibilitet til å operere på et bredt spekter av skyservere. I tillegg, for brukere som ønsker personvern og tilpasning, kan plattformen også brukes på private skyer med ultralav strømningsforsinkelse.
Anbox Cloud tilbyr overlegen økonomi, som gjør det mulig for brukere å maksimere ressursutnyttelsen. Den har full automatiseringsevne, forenkler driftsmessige oppgaver og reduserer behovet for manuell inngripen. I tillegg støtter skyplattformen elastisk oppskalering, som gjør det mulig for applikasjoner å dynamisk justere ressurskravene sine etter behov.
Plattformen har en avansert strømmestack, som bidrar til lav ventetid og høye bildefrekvenser for strømming av mobilapplikasjoner og spill til eksterne enheter. Den kan tilpasses både Arm- og x86-arkitekturer. Det er en fullt administrert plattform som gir brukerne en problemfri opplevelse og frigjør dem fra byrden med vedlikehold og infrastrukturadministrasjon. Førsteklasses teknisk støtte er tilgjengelig, som sikrer rask assistanse og problemløsning.
Anbox muliggjør sikker levering av lokale mobilapplikasjoner og inkorporerer sentralt administrert applikasjonssikkerhet. Den støtter forskjellige distribusjonsmodeller, for eksempel BYOD (Bring Your Own Device), CYOD (Choose Your Own Device), COPE (Company-Owned, Personally-Enabled) og COBO (Company-Owned, Business-Only).
Anbox Cloud tilbyr en betydelig tidsbesparelse med sine automatiserte apptestingsmuligheter. Brukere kan emulere tusenvis av forskjellige Android-enheter, simulere ulike testscenarier og integrere testing sømløst i CI/CD-prosessene (Continuous Integration/Continuous Deployment).
Waydroid
Waydroid er en innovativ og gratis containerbasert plattform som gir en fullstendig Android-opplevelse til vanlige GNU/Linux-systemer, som for eksempel Ubuntu. Som en kraftig åpen kildekode-løsning med spennende funksjoner, er det et attraktivt alternativ for de som er interessert i Android på Linux.
Waydroid integrerer Android-applikasjoner sømløst i verts-GNU/Linux-miljøet. En full appintegrasjonsopplevelse oppnås når Android-applikasjoner fungerer som om de var en naturlig del av Linux-systemet.
Waydroid støtter også multi-vindusmodus, slik at brukerne kan kjøre flere Android-applikasjoner samtidig. Full UI-modus gir en omfattende Android-opplevelse, med alle de kjente grafiske elementene i Android, som varslingspanelet, statuslinjen og appskuffen.
Ved hjelp av Linux-navneområder (bruker, pid, uts, net, mount, ipc) oppnår Waydroid en imponerende effektivitet og sikrer jevn drift på GNU/Linux-vertsmaskinen. Plattformen støtter forskjellige CPU-arkitekturer, inkludert ARM, ARM64, x86 og x86_64. Den bruker LXC (Linux Containers) og bindergrensesnittet, og gir direkte tilgang til maskinvareressurser for Android-systemet, noe som bidrar til optimalisert ytelse.
Waydroid utvider GPU-støtten til Intel og AMD GPU-er, slik at brukerne kan utnytte alle egenskapene til grafikkmaskinvaren sin. For Nvidia GPU-er og virtuelle maskiner er plattformen imidlertid avhengig av programvaregjengivelse, noe som kan ha konsekvenser.
Waydroid har et aktivt fellesskap som bidrar til plattformens utvikling, forbedring og støtte.
Genymotion
Genymotion er en allsidig plattform med et omfattende sett av funksjoner, noe som gjør den til et godt valg for å kjøre virtuelle Android-enheter i både sky- og skrivebordsmiljøer. Den har eksepsjonell kompatibilitet og sikrer sømløs integrasjon.
Skalerbarheten gjør det enkelt å utvide for å møte økende behov og arbeidsbelastninger. Genymotion fungerer fleksibelt med flere enheter, slik at brukerne kan emulere flere Android-konfigurasjoner.
Automatisering er et viktig aspekt ved Genymotion, som forenkler repeterende oppgaver og gjør det mulig for brukere å bygge robuste testrammer med populære løsninger som Appium, Espresso og Detox. I tillegg integreres plattformen jevnt med ledende løsninger for kontinuerlig integrasjon, som CircleCI, Bitrise og GitHub Actions.
Genymotions doble alternativer for sky og skrivebord gir brukerne enestående fleksibilitet. Genymotion SaaS (Software as a Service) gir interaktiv tilgang til virtuelle enheter fra en nettleser og gir sikre tilkoblinger til ADB (Android Debug Bridge). SaaS-versjonen tilbyr også enkel integrasjon med SDK-er og API-er, noe som gjør den til et utviklervennlig valg.
Genymotion Desktop tillater over 3000 virtuelle Android-enhetskonfigurasjoner, inkludert ulike Android-versjoner og maskinvarespesifikasjoner. En rekke maskinvaresensorer på plattformen muliggjør GPS-, nettverks- og multitouch-interaksjoner.
Andre funksjoner inkluderer batterisimulering, rotasjonskontroll, kamera- og lydinjeksjon, GPS-simulering og kontroll av nettverk og basebånd. For omfattende test- og utviklingsmiljøer finnes det tilleggsfunksjoner som disk I/O-struping, live-logger for feilsøking, dra-og-slipp-sidelasting av apper og Android-identifikatoradministrasjon.
Den støtter også store skyleverandører, inkludert markedsplasser for AWS, Azure, GCP, Aliyun og Oracle Cloud Infrastructure.
Android x86
Android x86 er en bemerkelsesverdig åpen kildekode-plattform som gir en fullstendig løsning for å kjøre Android på vanlige x86-plattformer. Den startet som en hosting av patcher for Android x86-støtte, men har utviklet seg til en fullverdig Git-server.
Android x86 har et aktivt åpen kildekode-fellesskap som har bidratt mye til prosjektet. Plattformen er grundig testet på ulike enheter, som Microtech e-tab Pro (2018), ASUS Eee PC-er/bærbare datamaskiner, Viewsonic Viewpad 10, Dell Inspiron Mini Duo, Samsung Q1U, Viliv S5, Lenovo ThinkPad x61 Tablet og mange andre. Testresultater er delt med fellesskapet.
Den siste stabile utgivelsen, Android-x86 8.1-r6, har en rekke imponerende funksjoner og forbedringer. Den bruker Kernel 4.19 med KMS (Kernel Mode Setting) aktivert, som forbedrer grafikkytelsen og visningsmulighetene.
Strømsparing og gjenoppretting (S3-modus) støttes, slik at enhetene effektivt kan håndtere strømtilstander. Andre viktige funksjoner inkluderer lyd (ALSA), Bluetooth, G-sensor, V4l2-kamerastøtte, speilmodus på eksterne skjermer, automatisk montering av ekstern lagring, eksterne tastaturer og musehjulkompatibilitet.
Noen kommende utviklinger inkluderer overføring av Android 10 (Q-utgivelse) til plattformen, oppgradering av kjernen til versjon 5.4 og implementering av OpenGL ES maskinvareakselerasjon for Intel, Radeon, Nvidia, AMDGPU og Virgl GPU-er.
ARHOn Runtime
ARHOn Runtime er en bemerkelsesverdig plattform som er spesielt utviklet for Chrome. Den gjør det mulig for utviklere å kjøre Android-applikasjoner på Windows, Linux og andre systemer ved hjelp av Chrome-nettleseren. Den nyeste versjonen, ARChon 2.1.0 Beta (ARC 41.4410.238.0), fortsetter å forbedre opplevelsen av å kjøre Android-apper på andre plattformer enn Android.
Plattformen tilbyr en rekke nedlastingsalternativer som er tilpasset ulike enheter og konfigurasjoner. Brukere kan velge riktig versjon for sine enheter, for eksempel Intel x86 Chrome 64-bit/Chrome OS 64-bit, 32-bit/Chrome OS 32-bit eller ARM (kompatibelt med ARM-baserte Chromebooks).
Det er enkelt å sette opp ARChon Runtime. Brukere må laste ned ARChon runtime og deretter pakke den ut. Deretter kan de navigere til «chrome://extensions», aktivere «Utviklermodus» og laste inn kjøretiden.
For å teste funksjonene til plattformen kan brukerne prøve ut eksempelappen ved å laste den ned, pakke den ut, laste den som en utpakket utvidelse og deretter trykke på «Start».
For å konvertere Android-apper til å være kompatible med ARChon, tilbyr plattformen nyttige verktøy for å forenkle prosessen. Disse verktøyene inkluderer chromeos-apk (CLI-appkonverteringsverktøy), ARChon Packager (Android-basert konverteringsverktøy) og twerk (Chrome-basert konverteringsverktøy).
Android Studio
Android Studio er det offisielle integrerte utviklingsmiljøet (IDE) som Android tilbyr for Android-apputvikling. Selv om hovedformålet er å legge til rette for oppretting av nye Android-applikasjoner fra grunnen av, kan det også brukes til ulike modifikasjoner og teknologiske integrasjoner, inkludert å kjøre Android-apper på Linux.
Den nyeste versjonen av Android Studio, kjent som «Giraffe», er en svært avansert plattform med et omfattende sett av verktøy og funksjoner som er skreddersydd for Android-utviklere. Det som imidlertid gjør det spesielt attraktivt er støtten på tvers av plattformer, noe som gjør den tilgjengelig for Linux, Windows, ChromeOS og andre operativsystemer.
For å kjøre Android-apper på Linux med Android Studio, må utviklere laste ned og installere den Linux-kompatible versjonen av IDE-en. Når den er installert, gir Android Studio et utviklervennlig miljø der brukerne kan teste, utvikle, designe og konfigurere Android-apper direkte på et Linux-system.
Som den offisielle plattformen som støttes av Android, sikrer Android Studio en sømløs og pålitelig opplevelse når du kjører Android-applikasjoner på Linux. De robuste utviklingsverktøyene, feilsøkingsmulighetene og den integrerte emulatoren gjør den til en omfattende apputviklings- og testløsning på tvers av flere plattformer.
Android Studio er ikke bare et eksepsjonelt verktøy for å lage nye Android-apper, det fungerer også som den offisielle måten å kjøre Android-applikasjoner på Linux. Ved å tilby en Linux-kompatibel versjon gir Android Studio utviklere mulighet til å utnytte mulighetene til Linux mens de bygger, tester og finjusterer sine Android-applikasjoner.
Anbox
Anbox er et bemerkelsesverdig prosjekt som dukket opp i 2017 med det ambisiøse målet om å bringe Android-operativsystemet til ethvert Linux-basert skrivebordsmiljø. Det tok i bruk en containerbasert tilnærming for å kjøre et komplett Android-system på et vanlig GNU/Linux-system, og ga brukerne muligheten til å få tilgang til Android-apper sømløst på Linux-skrivebordet.
Selv om Anbox i utgangspunktet viste lovende takter, har utviklingen stagnert de siste årene. Fra og med 2023 er det rimelig å si at prosjektet ikke lenger er aktivt vedlikeholdt eller utviklet av de opprinnelige skaperne.
Til tross for dette er de essensielle komponentene i Anbox, inkludert kjernemodulene, fortsatt tilgjengelig på GitHub-depotet, noe som gjør det tilgjengelig for de som er interessert i å bruke det. Selv om Anbox» vedlikehold har stoppet opp, er prosjektets dokumentasjon, brukermanualer, rammeverk og manifester fortsatt tilgjengelige på GitHub.
Det er imidlertid viktig å merke seg at bruken av Anbox, gitt mangel på aktiv utvikling og vedlikehold, kan ha konsekvenser med tanke på kompatibilitet med nyere Android-versjoner, potensielle sikkerhetsproblemer og generell stabilitet på moderne Linux-distribusjoner.
Siste ord
I den stadig utviklende teknologiverdenen har jakten på å kjøre Android på Linux satt fantasien i gang hos både teknisk interesserte og entusiaster. Søken etter sømløs integrasjon mellom to kraftige operativsystemer, Android og Linux, har ført til utviklingen av forskjellige plattformer som imøtekommer ulike behov og bruksområder.
Vi har sett nærmere på de beste plattformene som har kommet fra disse visjonære personenes innsats. Hver plattform tilbyr unike funksjoner, muligheter og begrensninger, som passer til spesifikke brukstilfeller og preferanser.
Du kan også se på Android- og iOS-emulatorer for å få fart på apputvikling og -testing.