Norite koduoti nuotoliniu būdu naudodami „Android Studio“? Išbandykite JetBrains projektorių – geriausią būdą paleisti JetBrains IntelliJ IDE bet kuriame įrenginyje.
„JetBrains“ yra kai kurių populiariausių IDE, įskaitant „IntelliJ IDEA“, „PyCharm“ ir „PhpStorm“, įmonė. Net „Android Studio“, „Google“ vidinė IDE, skirta „Android“ plėtrai, yra pagrįsta IntelliJ.
Nors „IntelliJ“ IDE yra populiarūs dėl priežasties (jie Gerai), kartais jie gali būti šiek tiek sunkūs. Pavyzdžiui, „IntelliJ“ ir „Android Studio“ gali užimti daug išteklių tiesiog būdamos atviros. O jei ką nors kompiliuosite, jie naudos dar daugiau. Taip pat (dar) tikrai negalite paleisti „JetBrains“ turinio mobiliuosiuose įrenginiuose, nes „JetBrains“ neturi lengvai pasiekiamų ARM versijų.
Taigi, kas atsitiks, jei neturite galingo kompiuterio arba net neturite kompiuterio? Paprastai čia ieškotumėte kitų IDE, veikiančių ARM. Tačiau „JetBrains“ turi sprendimą, ir jis vadinamas „JetBrains Projector“.
Kas yra projektorius?
Tikriausiai jau girdėjote apie nuotolinį darbalaukį arba VNC. Tai leidžia grafiškai bendrauti su kompiuteriu vietiniame tinkle ar net internetu. „JetBrains Projector“ veikia šiek tiek kaip nuotolinis darbalaukis, tačiau neturi tam tikrų trūkumų.
Jei norite naudoti JetBrains Projector, jums reikia kompiuterio, esančio kažkur internete, kad galėtumėte jį priglobti. Tai gali būti AWS egzempliorius arba namų serveris. Tada galite prisijungti prie jo naudodami bet kurią palaikomą naršyklę, įskaitant „Chrome“ ir „Firefox“.
Tačiau vietoj to, kad būtų rodomas visas darbalaukis ir būtų išsiųstas jo vaizdo įrašas atgal prijungtam klientui, „JetBrains“ projektorius siunčia informaciją, reikalingą, kad klientas galėtų rodyti IDE taip, tarsi jis būtų rodomas lokaliai. Tai reiškia, kad nėra jokio suspaudimo ar skiriamosios gebos mastelio, todėl IDE atrodo beveik savaime.
Be to, JetBrains projektorius neapsiriboja tik oficialiais JetBrains IDE. Jei turite IDE, kuris yra glaudžiai pagrįstas JetBrains, galite naudoti jį su JetBrains Projector. Tai apima „Android Studio“.
Kodėl projektorius?
Didžiausia priežastis, dėl kurios galbūt norėsite kurti nuotolinę plėtrą, yra ta, apie kurią kalbėjau įžangoje: O kas, jei neturite galingo x86 pagrindu veikiančio kompiuterio? Galite nusipirkti pusiau galingą specialiai kūrimo darbams arba sukurti debesies serverį ir naudoti JetBrains projektorių.
Tai taip pat gali būti naudinga, jei norite tiesiog sumažinti išteklių reikalavimus. Pavyzdžiui, turiu gana galingą žaidimų nešiojamąjį kompiuterį su i7-9750H ir 32 GB RAM. To užtenka net dideliems projektams, su kuriais dirbu. Bet jei noriu padaryti ką nors kita, be plėtros, tai taip pat reikalauja daug išteklių, pvz žiūri YouTube, žaisti žaidimą? Tada viskas pradeda byrėti.
Bet aš turiu Ryzen 7 5800X serverį su 32 GB RAM. Taigi aš įdiegiau JetBrains projektorių. Dabar galiu tiesiog atidaryti naują „Chrome“ langą ir prisijungti prie jo iš nešiojamojo kompiuterio, nesijaudindamas dėl išteklių žongliravimo. Serveris taip pat kuriamas daug greičiau nei mano nešiojamasis kompiuteris, todėl tai naudinga visiems.
Kaip naudoti projektorių?
„JetBrains“ projektorius skirtas prieglobai „Linux“ kompiuteryje. Tai nereiškia, kad negalite jos paleisti sistemoje „MacOS“ arba „Windows“ su WSL, tačiau dėl to galite susidurti su keistomis problemomis.
Norėdami jį nustatyti, viskas, ką jums reikia padaryti, tai eiti į Projektoriaus diegimo programos „GitHub“ atpirkimas ir vadovaukitės ten pateiktomis instrukcijomis. Jie padės jums įdiegti priklausomybes ir nustatyti IDE. Jei jums reikia, yra net keletas WSL trikčių šalinimo veiksmų.
Tada galite tiesiog prisijungti prie savo serverio adreso naudodami tinkamą prievadą ir prieigos raktą (jei jį nustatėte), o dabar jūsų įrenginyje veikia IDE be jokių problemų.
Android kūrimas
Esu „Android“ kūrėjas, todėl, nors galėčiau naudoti „IntelliJ IDEA“ kūrimui, „Android Studio“ veikia geriau. Nors „JetBrains Projector“ palaiko trečiųjų šalių IDE, dabar tai taip paprasta, kaip naudoti integruotą komandų eilutės sąsają, norint juos atsisiųsti ir įdiegti. Vis dėlto tai vis tiek gana paprasta.
Norėdami naudoti „Android Studio“ su „JetBrains Projector“, tereikia atsisiųsti ir išgauti „Android Studio“ kur nors protingai. Tada galite rankiniu būdu pridėti jį prie projektoriaus per komandinę eilutę, nurodydami kelią.
Taip pat yra dar viena „Android“ kūrimo ir projektoriaus problema: programų paleidimas. Be nieko papildomai galite koduoti programas ir peržiūrėti peržiūras projektoriuje, bet negalite naudoti emuliatoriaus arba prisijungti prie tikro įrenginio, kad iš tikrųjų paleistumėte ir derintumėte programas. Arba galite?
Beveik taip, kaip „Google“ tikėjosi tokio scenarijaus, nes ADB gali prisijungti prie nuotolinio serverio internetu. Viskas, ko reikia, yra SSH tunelis nuo kliento iki projektoriaus serverio. Projektoriuje nustatiau „Android Studio“, kad nebandytų valdyti ADB ir naudoti 5038 prievadą. Tada aš tiesiog naudoju tam tikrą SSH klientą (OpenSSH, plink ir tt), kad sukurčiau tunelį, kuris persiunčia ADB serverį, veikiantį vietoje 5037 prievade, į serverį, esantį 5038 prievade. Lengva!
Jei norite gauti daugiau informacijos apie tai, kaip „Android Studio“ ir SSH tuneliuose veikti, peržiūrėkite tai GitHub dokumentas pateikė Joaquim Verges.
Viena pastaba apie „Android Studio“ ir kitus trečiųjų šalių „JetBrains“ pagrindu sukurtus IDE: negalite jų atnaujinti projektoriaus ekrane. Turėsite tiesiogiai prisijungti prie serverio ir atnaujinti juos iš ten. Prieš tai atlikdami įsitikinkite, kad atitinkamas projektoriaus egzempliorius sustabdytas.
Android Android kūrimas
Kadangi JetBrains Projector veikia naršyklėje, o prisijungti galima iš kažko panašaus į Android telefoną, kaip visiškai atsitiktinis pavyzdys, norėjau ką nors išbandyti.
„Android 11“ pristatė galimybę įgalinti belaidį ADB tiesiai iš įrenginio. Nors kai kurie gamintojai šį nustatymą paviešino anksčiau, jis pasiekiamas ne visuose „Google“ sertifikuotuose įrenginiuose, jei juose veikia 11 ar naujesnės versijos „Android“. Nors belaidis derinimas skirtas naudoti iš kompiuterio, tai nebūtinai turi būti.
Programos kaip Šizuku parodykite, kad naudojant „Android 11“ galima prisijungti naudojant ADB prie įrenginio... iš savo įrenginio net negalvojant apie naudojimąsi kompiuteriu. Nors Shizuku tai naudoja leisdamas programoms vykdyti padidintas operacijas, manau, kad tikriausiai galite pamatyti, kur tai vyksta.
Taigi aš sukūriau programą! Nežinau, ar kada nors tai paviešinsiu, bet tai gana paprasta. Turiu SSH biblioteką kartu su ARM64 ADB dvejetainiu failu. Aš naudoju ADB dvejetainį failą, kad prisijungčiau prie naudojamo įrenginio, tada naudoju SSH biblioteką, kad sukurčiau persiuntimo tunelį iš savo įrenginio į projektoriaus serverį. Galiausiai naudoju jį projektoriaus URL saugojimui ir paleidimui.
Bam, kuriamas Android...iš Android! Bet kuriuo metu, kai nebūnu namuose, bet noriu atlikti „Android“ kūrimo darbus, galiu tiesiog išimti savo Samsung Galaxy Tab S7. Turiu „Bluetooth“ klaviatūrą ir „Bluetooth“ pelę (pastaba: jei naudojate projektorių, tikrai norite naudoti pelę arba valdymo bloką. Tai neveikia gerai naudojant jutiklinę įvestį), todėl galiu kurti ir derinti neperjungdamas įrenginių ir netempdamas daug sunkesnio nešiojamojo kompiuterio.
Problemos
JetBrains projektorius vis dar yra gana ankstyvas, todėl jis nėra tobulas.
- Kartais tai šiek tiek vėluoja reaguojant į tokius dalykus kaip slinkimas ir vilkimas, o valdikliai gali sutrikti.
- Atsitiktinai žiūrint bibliotekos kodą (dekompiliuotą arba šaltinio rodinyje), šrifto svoris tampa tikrai sunkus ir viskas vėluoja. Tačiau tai galėjo būti ištaisyta rašant šį tekstą.
- Kai kurie papildiniai neveiks tinkamai. Kadangi tai nėra tiesioginis vaizdo įrašų srautas, tokie papildiniai kaip įterptosios naršyklės tiesiog nieko nerodys.
- X serverio palaikymo nėra ir tikriausiai nebus. Dėl to darbalaukio ir naršyklės programų kūrimas gali būti sudėtingas, tačiau visada galite naudoti SSH tunelį su X persiuntimu ir vietiniu X serveriu, jei jums to tikrai reikia.
- Kartais sąsaja užsiblokuoja ir jums reikia atnaujinti puslapį arba net iš naujo paleisti serverio paslaugą, kad ji vėl veiktų.
Ir yra daugiau.
Bet ar visa tai laužo sandorį? Tikrai ne man. Man puikiai sekasi šiek tiek mažiau patobulinta patirtis (galų gale aš naudoju „Android Studio Canary“), ypač jei tai reiškia, kad galiu perkelti visą kompiliavimo darbą į kitą kompiuterį ir netgi sukurti planšetiniam kompiuteriui iš savo tablėtė.
Net ir turėdamas problemų, man vis tiek labai patinka „JetBrains Projector“. Tai leidžia kurti iš mobiliojo telefono, perkelia išteklių apkrovą iš vietinio kompiuterio į nuotolinį, be to, tai tikrai šaunu.
Žinau, kad kitos IDE, pvz., „Visual Studio“, leidžia perkelti kompiliavimą į nuotolinį kompiuterį, tačiau tam vis tiek reikia, kad IDE būtų įdiegtas ir paleistas vietoje.
Aš asmeniškai labai džiaugiuosi matydamas, kur „JetBrains Projector“ eina iš čia, nes tai jau dabar yra neįtikėtina. Tikimės, kad jie galės išspręsti kai kurias anksčiau aprašytas problemas, tačiau net ir dabar „Projector“ turėtų būti saugu naudoti gamybai paruoštiems projektams.
Jei norite patys išbandyti JetBrains projektorių, čia vėl nuoroda į montuotoją ir pradinės sąrankos vadovą. Jei norite nustatyti „Android Studio“ projektoriuje, čia vėl ta nuoroda, taip pat.