Prelazak između različitih operativnih sistema deluje kao intrigantan eksperiment. Tehnološki entuzijasti su svesni da svaki operativni sistem ima određena ograničenja, ali uz prava rešenja moguće je pomerati granice.
U dinamičnom svetu tehnologije, postoji grupa posvećenih pojedinaca koji ne prihvataju status quo. Ovi tehnički entuzijasti neprekidno traže nove izazove, istražuju nepoznate teritorije i pomeraju granice mogućeg.
Jedan takav poduhvat koji je privukao veliku pažnju i interesovanje jeste spajanje dva moćna operativna sistema: Androida i Linuxa. Želja da se Android pokrene na Linuxu postala je fascinantna potraga za ove tehnološki upućene umove.
Zašto pokrenuti Android na Linuxu?
Odgovor se krije u konvergenciji dva izuzetno sposobna sistema, od kojih svaki briljira u svom domenu. Android, široko rasprostranjeni mobilni operativni sistem koji je razvio Google, postao je temelj moderne ere pametnih telefona.
S druge strane, Linux, veoma prilagodljiv operativni sistem otvorenog koda, dominira svetom servera, ugrađenih sistema i računarskih uređaja. Cenjen je zbog svoje stabilnosti, sigurnosti i fleksibilnosti. Neki popularni razlozi za pokretanje Androida na Linuxu su:
- Emulacija i testiranje aplikacija
- Istraživanje otvorenog koda
- Prilagođavanje i podešavanje
- Korišćenje resursa i performanse
- Sigurnost i privatnost
- Multifunkcionalnost jednog uređaja
- Učenje i razvoj veština
U nastavku ćemo razmotriti kako pokrenuti Android na Linuxu.
Kako pokrenuti Android na Linuxu?
Postoji nekoliko načina za pokretanje Android aplikacija na Linuxu. Korišćenje emulatora je jedan od najčešćih metoda. Međutim, nisu samo emulatori rešenje. Postoje i druge opcije poput x86 projekta, virtuelnih mašina, skripti i integracija operativnih sistema.
Većina ovih metoda je tehnički zahtevna, osim emulatora. Stoga se emulatori koriste kada korisnici žele da pokrenu Android aplikacije na Linuxu.
Drugi načini za pokretanje Androida na Linuxu se razlikuju od korišćenja emulatora. Projekat Android x86, koji pokreće Apache, omogućava prenošenje Android OS-a na operativne sisteme otvorenog koda kao što je Linux. Takođe, slojevi kompatibilnosti, kao što je Shashlik, omogućavaju korisnicima da pokrenu Android na Linuxu bez emulatora.
Emulatori simuliraju Android OS na Linux sistemu pomoću specijalizovanog softvera. Ovaj pristup je popularan među stručnjacima u softverskom inženjeringu.
Pogledajmo najbolje platforme koje su proizašle iz truda ovih tehničkih entuzijasta. Svaka platforma nudi jedinstvene mogućnosti uz kontinuirani tehnološki napredak.
Anbox Cloud
Anbox Cloud je platforma bazirana na oblaku koja omogućava integraciju Android aplikacija u različita okruženja u oblaku. Njena skalabilna priroda omogućava efikasno upravljanje radnim opterećenjima, što je čini odličnim rešenjem kako za male, tako i za velike primene. Za razliku od tradicionalnih emulatora, Anbox Cloud pokreće Android u sistemskim kontejnerima, pružajući bolje performanse i smanjene troškove.
Uz kompatibilnost sa glavnim dobavljačima usluga u oblaku kao što su AWS, OCI, Azure i GCP, Anbox Cloud nudi fleksibilnost za rad na širokom spektru servera u oblaku. Platforma se takođe može koristiti u privatnim oblacima za korisnike koji žele privatnost i prilagođavanje, uz ultra-nisko kašnjenje striminga.
Anbox Cloud nudi vrhunsku ekonomičnost, omogućavajući korisnicima da maksimalno iskoriste resurse. Platforma ima potpunu automatizaciju, pojednostavljujući operativne zadatke i smanjujući ručne intervencije. Osim toga, podržava elastično skaliranje, omogućavajući aplikacijama da dinamički prilagođavaju svoje potrebe za resursima na osnovu potražnje.
Platforma ima napredan stek za striming, što doprinosi niskom kašnjenju i visokoj brzini kadrova prilikom strimovanja mobilnih aplikacija i igara na udaljene uređaje. Prilagodljiva je za Arm i x86 arhitekturu. Ovo je platforma kojom se u potpunosti upravlja, pružajući korisnicima bezbrižno iskustvo i oslobađajući ih tereta održavanja i upravljanja infrastrukturom. Dostupna je i vrhunska tehnička podrška za brzu pomoć i rešavanje problema.
Anbox omogućava sigurnu isporuku lokalnih mobilnih aplikacija i uključuje centralizovano upravljanje sigurnošću aplikacija. Podržava različite modele primene, kao što su BYOD (Bring Your Own Device), CYOD (Choose Your Own Device), COPE (Company-Owned, Personally-Enabled) i COBO (Company-Owned, Business-Only).
Anbox Cloud nudi značajnu prednost u uštedi vremena zahvaljujući automatizovanom testiranju aplikacija. Korisnici mogu emulirati hiljade različitih Android uređaja, simulirati različite scenarije testiranja i integrisati testiranje u svoje CI/CD (Continuous Integration/Continuous Deployment) procese.
Waydroid
Waydroid je inovativna i besplatna platforma bazirana na kontejnerima koja donosi kompletno Android iskustvo na GNU/Linux sisteme poput Ubuntua. Kao moćno rešenje otvorenog koda sa zanimljivim funkcijama, predstavlja privlačnu opciju za entuzijaste koji žele da koriste Android na Linuxu.
Waydroid integriše Android aplikacije u GNU/Linux okruženje domaćina. Aplikacije funkcionišu kao da su izvorne za Linux sistem.
Waydroid podržava režim sa više prozora, omogućavajući korisnicima da istovremeno pokreću više Android aplikacija. Režim potpunog korisničkog interfejsa pruža sveobuhvatno Android iskustvo, uključujući poznate Android grafičke elemente poput table sa obaveštenjima, statusne trake i fioke sa aplikacijama.
Koristeći Linux namespaces (user, pid, uts, net, mount, ipc), Waydroid postiže visok nivo efikasnosti, obezbeđujući nesmetan rad na GNU/Linux hostu. Platforma podržava različite CPU arhitekture, uključujući ARM, ARM64, x86 i x86_64. Koristi LXC (Linux Containers) i binder interfejs, pružajući direktan pristup hardverskim resursima za Android sistem i optimizujući njegove performanse.
Waydroid proširuje svoju GPU podršku na Intel i AMD GPU, omogućavajući korisnicima da iskoriste pun potencijal svog grafičkog hardvera. Međutim, za Nvidia GPU i virtuelne mašine, platforma se oslanja na softversko prikazivanje, što može uticati na performanse.
Waydroid ima aktivnu zajednicu koja doprinosi razvoju, poboljšanju i podršci platforme.
Genymotion
Genymotion je svestrana platforma koja nudi sveobuhvatan skup funkcija, što je čini odličnim izborom za pokretanje Android virtuelnih uređaja u oblaku i desktop okruženjima. Ima izuzetnu kompatibilnost i besprekornu integraciju.
Njena skalabilnost omogućava lako proširenje kako bi se prilagodila rastućim potrebama i radnim opterećenjima. Genymotion fleksibilno radi sa više uređaja, omogućavajući korisnicima da emuliraju više Android konfiguracija.
Automatizacija je moćan aspekt Genymotiona, pojednostavljuje zadatke koji se ponavljaju i omogućava korisnicima da izgrade robusne okvire za testiranje sa popularnim rešenjima kao što su Appium, Espresso i Detox. Pored toga, platforma se lako integriše sa vodećim rešenjima za kontinuiranu integraciju kao što su CircleCI, Bitrise i GitHub Actions.
Genymotion nudi fleksibilnost sa opcijama za oblak i desktop okruženja. Genymotion SaaS (Software as a Service) omogućava interaktivan pristup virtuelnim uređajima iz web pretraživača, obezbeđujući sigurne veze sa ADB (Android Debug Bridge). SaaS verzija takođe nudi laku integraciju sa SDK-ovima i API-jima, što je čini pogodnom za programere.
Genymotion Desktop omogućava više od 3000 virtuelnih konfiguracija Android uređaja, uključujući različite Android verzije i hardverske specifikacije. Platforma ima hardverske senzore koji omogućavaju GPS, mrežu i multitouch interakcije.
Ostale karakteristike uključuju simulaciju baterije, kontrolu rotacije, ubacivanje kamere i zvuka, GPS simulaciju i kontrolu mreže i osnovnog opsega. Za sveobuhvatno testiranje i razvoj, postoje dodatne funkcije kao što su disk I/O prigušivanje, live logovi za otklanjanje grešaka, prevlačenje i ispuštanje aplikacija i upravljanje Android identifikatorima.
Takođe podržava glavne dobavljače usluga u oblaku, uključujući AWS, Azure, GCP, Aliyun i Oracle Cloud Infrastructure.
Android x86
Android x86 je značajna platforma otvorenog koda koja pruža rešenje za pokretanje Androida na uobičajenim x86 platformama. Početno je zamišljena kao hosting zakrpa za podršku za Android x86, ali je evoluirala u punopravni Git server.
Android x86 ima aktivnu zajednicu otvorenog koda koja značajno doprinosi projektu. Platforma je testirana na različitim uređajima, uključujući Microtech e-tab Pro (2018), ASUS Eee PC/laptop, Viewsonic Viewpad 10, Dell Inspiron Mini Duo, Samsung Q1U, Viliv S5, Lenovo ThinkPad x61 Tablet i druge. Rezultati testiranja se dele sa zajednicom.
Najnovije stabilno izdanje, Android-x86 8.1-r6, donosi brojne funkcije i poboljšanja. Koristi Kernel 4.19 sa KMS (Kernel Mode Setting), poboljšavajući grafičke performanse i mogućnosti prikaza.
Podržano je suspendovanje i nastavak napajanja (S3 režim), što omogućava uređajima da efikasno upravljaju stanjima napajanja. Ostale karakteristike uključuju audio (ALSA), Bluetooth, G-senzor, podršku za V4l2 kameru, režim ogledala na eksternim monitorima, automatsko montiranje spoljne memorije, spoljne tastature i kompatibilnost točkića miša.
Predstojeći razvoj uključuje prenos Androida 10 (Q izdanje) na platformu, nadogradnju kernela na verziju 5.4 i implementaciju OpenGL ES hardverskog ubrzanja za Intel, Radeon, Nvidia, AMDGPU i Virgl GPU.
ARCHON Runtime
ARCHON Runtime je platforma namenjena za Chrome, koja omogućava programerima da pokreću Android aplikacije na Windows, Linux i drugim sistemima koristeći Chrome pretraživač. Najnovija verzija, ARCHON 2.1.0 Beta (ARC 41.4410.238.0), nastavlja da poboljšava iskustvo pokretanja Android aplikacija na platformama koje nisu Android.
Platforma nudi različite opcije preuzimanja prilagođene različitim uređajima i konfiguracijama. Korisnici mogu izabrati verziju za svoje uređaje, kao što su Intel x86 Chrome 64-bit/Chrome OS 64-bit, 32-bit/Chrome OS 32-bit ili ARM (kompatibilni sa Chromebook-ovima baziranim na ARM-u).
Podešavanje ARCHON Runtime-a je jednostavno. Korisnici treba da preuzmu ARCHON runtime i raspakuju ga. Zatim mogu da pristupe „chrome://extensions“, uključe „Developer mode“ i učitaju runtime.
Da bi testirali mogućnosti platforme, korisnici mogu da isprobaju primer aplikacije tako što će je preuzeti, raspakovati, učitati kao raspakovanu ekstenziju, a zatim pritisnuti „Launch“.
Za prevođenje Android aplikacija u format kompatibilan sa ARCHON-om, platforma nudi alate za pojednostavljenje procesa. Ovi alati uključuju chromeos-apk (alatka za CLI konverziju aplikacija), ARCHON Packager (alatka za konverziju bazirana na Androidu) i twerk (alatka za konverziju bazirana na Chrome-u).
Android Studio
Android Studio je zvanično integrisano razvojno okruženje (IDE) koje pruža Android za razvoj Android aplikacija. Iako je njegova primarna svrha kreiranje novih Android aplikacija, može se koristiti i za različite modifikacije i tehnološke integracije, uključujući pokretanje Android aplikacija na Linuxu.
Najnovija verzija Android Studija, poznata kao „Giraffe“, je napredna platforma sa sveobuhvatnim skupom alata i funkcija prilagođenih Android programerima. Njena podrška za više platformi čini je dostupnom za Linux, Windows, ChromeOS i druge operativne sisteme.
Da bi pokrenuli Android aplikacije na Linuxu pomoću Android Studija, programeri moraju da preuzmu i instaliraju IDE verziju kompatibilnu sa Linuxom. Android Studio pruža okruženje pogodno za programere, gde korisnici mogu da testiraju, razvijaju, dizajniraju i konfigurišu Android aplikacije direktno na Linux sistemu.
Kao zvanična platforma koju podržava Android, Android Studio obezbeđuje sigurno iskustvo prilikom pokretanja Android aplikacija na Linuxu. Njegovi razvojni alati, mogućnosti otklanjanja grešaka i integrisani emulator čine ga sveobuhvatnim rešenjem za razvoj i testiranje aplikacija na više platformi.
Android Studio nije samo alat za kreiranje novih Android aplikacija; on je i zvaničan način za pokretanje Android aplikacija na Linuxu. Pružajući verziju kompatibilnu sa Linuxom, Android Studio omogućava programerima da iskoriste mogućnosti Linuxa dok razvijaju, testiraju i usavršavaju svoje Android aplikacije.
Anbox
Anbox je projekat koji se pojavio 2017. godine sa ciljem da se Android operativni sistem donese na bilo koje desktop okruženje zasnovano na Linuxu. Koristi pristup baziran na kontejnerima za pokretanje Android sistema na redovnom GNU/Linux sistemu, omogućavajući korisnicima pristup Android aplikacijama na njihovom Linux desktopu.
Razvoj Anboxa je zastao u poslednjih nekoliko godina. Od 2023. godine projekat više ne održavaju njegovi originalni autori.
Uprkos tome, osnovne komponente Anboxa, uključujući module kernela, dostupne su u njegovom GitHub repozitorijumu. Iako je održavanje Anboxa prekinuto, dokumentacija, korisnički priručnici i okviri ostaju dostupni na GitHub-u.
Korišćenje Anboxa može imati implikacije u pogledu kompatibilnosti sa novijim verzijama Androida, bezbednosnih propusta i stabilnosti na modernim Linux distribucijama, s obzirom na nedostatak aktivnog razvoja i održavanja.
Završne reči
U svetu tehnologije, težnja za pokretanjem Androida na Linuxu podstakla je maštu tehničkih entuzijasta. Potraga za integracijom Androida i Linuxa je dovela do razvoja različitih platformi koje zadovoljavaju različite potrebe i slučajeve upotrebe.
Razmotrili smo najbolje platforme koje su proizašle iz napora ovih vizionara. Svaka platforma nudi jedinstvene karakteristike, mogućnosti i ograničenja, zadovoljavajući specifične slučajeve upotrebe i preferencije.
Pogledajte Android i iOS emulatore da biste ubrzali razvoj i testiranje aplikacija.