Kuidas Android Studios JetBrains Projectoriga mis tahes seadmest kodeerida

Kas soovite Android Studios eemalt kodeerida? Tutvuge JetBrainsi projektoriga, mis on parim viis JetBrainsi IntelliJ IDE käitamiseks mis tahes seadmes.

JetBrains on mõnede populaarsemate IDE-de, sealhulgas IntelliJ IDEA, PyCharm ja PhpStorm, taga olev ettevõte. Isegi Android Studio, Google'i omamoodi majasisene IDE Androidi arendamiseks, põhineb IntelliJ-l.

Kuigi IntelliJ IDE-d on mingil põhjusel populaarsed (nad on hea), võivad need mõnikord olla rasked. IntelliJ ja Android Studio võivad näiteks avatud olemisega võtta palju ressursse. Ja kui sa midagi koostad, kasutavad nad veelgi rohkem. Samuti ei saa te (veel) JetBrainsi asju mobiilseadmetes käivitada, kuna JetBrainsil pole hõlpsasti juurdepääsetavaid ARM-i versioone.

Mis juhtub siis, kui teil pole võimsat arvutit või teil pole isegi arvutit? Tavaliselt peaksite siin otsima teisi IDE-sid, mis ARM-is töötavad. Kuid JetBrainsil on omamoodi lahendus ja seda nimetatakse JetBrainsi projektoriks.

Mis on projektor?

Olete ilmselt varem kuulnud kaugtöölauast või VNC-st. See võimaldab teil kohaliku võrgu või isegi Interneti kaudu arvutiga graafiliselt suhelda. JetBrainsi projektor töötab veidi nagu kaugtöölaud, kuid ilma mõningate puudusteta.

JetBrains Projectori kasutamiseks vajate selle hostimiseks kusagil Internetis asuvat arvutit. See võib olla AWS-i eksemplar või koduserver. Seejärel saate sellega ühenduse luua mis tahes toetatud brauserist, sh mobiilsest Chrome'ist ja Firefoxist.

Kuid selle asemel, et kuvada terve töölaud ja saata sellest videovoog ühendatud kliendile tagasi, JetBrains Projector saadab üle teabe, mida klient vajab IDE kuvamiseks nii, nagu see kuvaks kohapeal. See tähendab, et pakkimist ega eraldusvõime skaleerimist ei toimu, seega näeb IDE välja peaaegu omapärane.

Samuti ei piirdu JetBrains Projector ainult ametlike JetBrainsi IDE-dega. Niikaua kui teil on IDE, mis põhineb tihedalt JetBrainsi IDE-l, saate seda kasutada koos JetBrains Projectoriga. See hõlmab ka Android Studiot.

Miks projektor?

Suurim põhjus, miks võiksite kaugarendust teha, on see, millest rääkisin sissejuhatuses: Mis siis, kui teil pole võimsat x86-põhist arvutit? Võite osta poolvõimsa spetsiaalselt arendustööks või saate luua pilveserveri ja kasutada JetBrains Projectorit.

See võib olla kasulik ka siis, kui soovite lihtsalt ressursinõudeid maha laadida. Näiteks on mul üsna võimas mänguarvuti i7-9750H ja 32 GB muutmäluga. Sellest piisab isegi nende suurte projektide jaoks, millega tegelen. Aga kui ma tahan arenduse kõrval midagi muud teha, siis see on ka ressursimahukas, näiteks YouTube'i vaatamine, mängin mängu? Siis hakkavad asjad lagunema.

Kuid mul on Ryzen 7 5800X server, milles on 32 GB muutmälu. Nii et ma installisin sellele JetBrains Projectori. Nüüd saan lihtsalt avada uue Chrome'i akna ja sellega sülearvutist ühenduse luua, muretsemata ressurssidega žongleerimise pärast. Server ehitab ka palju kiiremini kui minu sülearvuti, nii et sellest võidavad kõik.

Kuidas projektori kasutamine on?

JetBrains Projector on mõeldud majutamiseks Linuxi masinas. See ei tähenda, et te ei saaks seda MacOS-is või WSL-iga Windowsis käitada, kuid teil võib selle tõttu tekkida veidraid probleeme.

Selle seadistamiseks pole vaja teha muud, kui minna aadressile Projektori installija GitHubi repo ja järgige seal olevaid juhiseid. Nad juhendavad teid sõltuvuste installimisel ja IDE seadistamisel. Vajadusel on isegi mõned WSL-i tõrkeotsingu sammud.

Seejärel saate lihtsalt luua ühenduse oma serveriaadressiga, kasutades õiget porti ja luba (kui selle määrate) ning nüüd töötab teie seadmes IDE ilma igasuguste probleemideta.

Androidi arendus

Olen Androidi arendaja, nii et kuigi saaksin arendamiseks kasutada IntelliJ IDEA, töötab Android Studio paremini. Kuigi JetBrains Projector toetab kolmandate osapoolte IDE-sid, on see nüüd sama lihtne, kui kasutada nende allalaadimiseks ja installimiseks sisseehitatud käsurea liidest. See on siiski üsna lihtne.

Android Studio kasutamiseks JetBrains Projectoriga peate lihtsalt Android Studio kuskilt mõistlikust kohas alla laadima ja ekstraktima. Seejärel saate selle käsitsi Projectorisse lisada käsurea kaudu, määrates tee.

Androidi arenduse ja projektoriga on ka teine ​​probleem: rakenduste käitamine. Ilma millegi lisata saate Projectoris rakendusi kodeerida ja eelvaateid vaadata, kuid te ei saa rakenduste käitamiseks ja silumiseks kasutada emulaatorit ega ühendada päris seadmega. Või saate?

See on peaaegu nagu Google eeldas, et selline stsenaarium juhtub, kuna ADB saab Interneti kaudu ühenduse luua kaugserveriga. Kõik, mida on vaja, on SSH-tunnel kliendist Projektori serverisse. Seadistasin projektoris Android Studio mitte püüdma ADB-d hallata ja kasutama porti 5038. Seejärel kasutan lihtsalt mingit SSH-klienti (OpenSSH, plink jne), et luua tunnel, mis edastab pordis 5037 töötava ADB-serveri pordis 5038 asuvasse serverisse. Lihtne!

Androidi õigeks arendamiseks on vaja ainult SSH-tunnelit.

Kui soovite lisateavet selle kohta, kuidas Android Studio ja SSH tunneldamine tööle panna, vaadake seda GitHubi dokument autor Joaquim Verges.

Üks märkus Android Studio ja muude kolmandate osapoolte JetBrainsil põhinevate IDE-de kohta: te ei saa neid projektoriekraanilt värskendada. Peate otse serverisse minema ja neid sealt värskendama. Enne seda veenduge, et vastav projektori eksemplar oleks peatatud.

Android Androidi arendus

Kuna JetBrains Projector töötab brauseris ja ühendust saab näiteks Androidi telefonist, siis täiesti suvalise näitena tahtsin midagi proovida.

Android 11 tutvustas võimalust lubage traadita ADB otse seadmest. Kuigi mõned tootjad avalikustasid seade enne seda, pole see saadaval kõigi Google'i sertifitseeritud seadmete jaoks seni, kuni need kasutavad operatsioonisüsteemi Android 11 või uuemat. Kuigi juhtmevaba silumine on mõeldud kasutamiseks arvutist, ei pea see nii olema.

Rakendused nagu Shizuku demonstreerida, et operatsioonisüsteemis Android 11 on võimalik luua ADB-ga ühendus oma seadmega...oma seadmest, isegi mõtlemata arvuti kasutamisele. Kuigi Shizuku kasutab seda rakendustel kõrgendatud toimingute tegemiseks, arvan, et näete tõenäoliselt, kuhu see läheb.

Nii et ma tegin rakenduse! Ma ei tea, kas ma seda kunagi avalikustan, aga see on üsna lihtne. Mul on selles SSH-teek koos ARM64 ADB-binaarfailiga. Kasutan kasutatava seadmega ühenduse loomiseks ADB binaarfaili, seejärel kasutan SSH-teeki, et luua oma seadmest projektoriserverisse edastustunnel. Ja lõpuks, ma kasutan seda projektori URL-ide salvestamiseks ja käivitamiseks.

Bam, arendus Androidile... Androidist! Iga kord, kui ma pole kodus, kuid tahan Androidi arendustööga tegeleda, võin lihtsalt oma töö ära võtta Samsung Galaxy Tab S7. Mul on Bluetoothi ​​klaviatuur ja Bluetooth-hiir (märkus: kui kasutate projektorit, tõesti soovite kasutada hiirt või puuteplaati. See ei tööta hästi puutetundliku sisendiga), nii et saan arendada ja siluda ilma seadmeid vahetamata ja palju raskemat sülearvutit kaasas tassima.

Probleemid

JetBrains Projector on veel üsna varajases arendusjärgus, seega pole see täiuslik.

  1. Mõnikord on reageerimine sellistele asjadele nagu kerimine ja lohistamine pisut hiline ning juhtnupud võivad tõrkele minna.
  2. Juhuslikult muutub raamatukogu koodi vaatamisel (kas dekompileeritud või lähtevaates) fondi kaal väga raskeks ja kõik jääb maha. See võib olla selle kirjutamise seisuga siiski parandatud.
  3. Mõned pistikprogrammid ei tööta korralikult. Kuna see ei ole otsene videovoog, ei kuva pistikprogrammid, nagu manustatud brauserid, lihtsalt midagi.
  4. X-serveri tuge pole ja tõenäoliselt ka ei tule. See võib muuta töölaua- ja brauserirakenduste arendamise keeruliseks, kuid alati saate kasutada SSH-tunnelit koos X-edasimisega ja kohalikku X-serverit, kui seda tõesti vajate.
  5. Mõnikord liides lukustub ja selle taastamiseks peate lehte värskendama või isegi serveriteenuse taaskäivitama.

Ja seal on veel.

Kuid kas see kõik on tehingu rikkuja? Minu jaoks kindlasti mitte. Ma olen täiesti korras veidi vähem lihvitud kogemusega (kasutan ju Android Studio Canaryt), eriti kui see tähendab, et saan kogu kompileerimistöö teise arvutisse laadida ja isegi oma tahvelarvuti jaoks arendada tahvelarvuti.

Android Studio töötab JetBrainsi projektori kaudu Samsung Galaxy Tab S7-s

Isegi oma probleemidega meeldib mulle JetBrains Projector endiselt väga. See teeb võimalikuks mobiilist arendamise, liigutab ressursikoormuse kohalikult arvutilt kaugarvutisse ja on ka lihtsalt väga lahe.

Tean, et teised IDE-d, nagu Visual Studio, võimaldavad teil kompileerimise kaugarvutisse maha laadida, kuid see nõuab siiski, et IDE oleks installitud ja töötaks kohapeal.

Mul on isiklikult väga hea meel näha, kuhu JetBrains Projector siit edasi jõuab, sest see on juba praegu üsna uskumatu. Loodetavasti suudavad nad mõne ülalkirjeldatud probleemi lahendada, kuid isegi praegu peaks Projector olema tootmisvalmis projektide jaoks ohutu.

Kui soovite JetBrainsi projektorit ise proovida, siin jälle link paigaldaja ja esmase seadistamise juhendi juurde. Kui soovite seadistada Android Studio projektoris, siin see link jälle, samuti.