Kako kodirati u Android Studiju s bilo kojeg uređaja s JetBrains projektorom

click fraud protection

Želite kodirati na daljinu u Android Studiju? Pogledajte JetBrains Projector, najbolji način za pokretanje JetBrains IntelliJ IDE na bilo kojem uređaju.

JetBrains je tvrtka koja stoji iza nekih od najpopularnijih IDE-a, uključujući IntelliJ IDEA, PyCharm i PhpStorm. Čak se i Android Studio, Googleov interni IDE za Android razvoj, temelji na IntelliJ-u.

Dok su IntelliJ-ovi IDE popularni s razlogom (oni su dobro), ponekad mogu biti malo teški. IntelliJ i Android Studio mogu zauzeti puno resursa samim time što su, na primjer, otvoreni. A ako nešto sastavljate, oni će koristiti još više. Također (još) ne možete stvarno pokretati JetBrainsove stvari na mobilnim uređajima, budući da JetBrains nema lako dostupne ARM verzije.

Dakle, što se događa ako nemate moćno računalo ili čak nemate računalo? Obično biste ovdje tražili druge IDE-ove koji rade na ARM-u. Ali JetBrains na neki način ima rješenje, a zove se JetBrains Projector.

Što je projektor?

Vjerojatno ste već čuli za udaljenu radnu površinu ili VNC. Omogućuje vam grafičku interakciju s računalom preko lokalne mreže ili čak interneta. JetBrains Projector radi pomalo poput udaljene radne površine, ali bez nekih nedostataka.

Da biste koristili JetBrains Projector, potrebno vam je računalo negdje na internetu na kojem ćete ga ugostiti. To može biti AWS instanca ili kućni poslužitelj. Zatim se možete povezati s njim iz bilo kojeg podržanog preglednika, uključujući mobilni Chrome i Firefox.

Ali umjesto prikazivanja cijele radne površine i slanja videosadržaja toga natrag povezanom klijentu, JetBrains Projector šalje informacije potrebne klijentu za prikaz IDE-a kao da se prikazuje lokalno. To znači da nema kompresije ili skaliranja rezolucije, tako da IDE izgleda gotovo izvorno.

Također, JetBrains Projector nije ograničen samo na službene JetBrains IDE. Sve dok imate IDE koji se temelji na onom iz JetBrainsa, možete ga koristiti s JetBrains Projectorom. To uključuje Android Studio.

Zašto projektor?

Najveći razlog zbog kojeg biste mogli raditi razvoj na daljinu je ono o čemu sam govorio u uvodu: Što ako nemate moćno računalo temeljeno na x86? Možete kupiti polujaki posebno za rad na razvoju ili možete pokrenuti poslužitelj u oblaku i koristiti JetBrains Projector.

Također može biti korisno ako samo želite rasteretiti zahtjeve za resursima. Na primjer, imam prilično moćno prijenosno računalo za igranje s i7-9750H i 32 GB RAM-a. To je dovoljno čak i za velike projekte kojima se bavim. Ali ako želim raditi nešto drugo osim razvoja što također zahtijeva resurse, npr gledanje YouTubea, igraš igricu? Tada se stvari počnu raspadati.

Ali imam Ryzen 7 5800X poslužitelj s 32 GB RAM-a u njemu. Pa sam instalirao JetBrains Projector na to. Sada mogu jednostavno otvoriti novi Chromeov prozor i povezati se s njim sa svog prijenosnog računala bez brige o žongliranju resursima. Poslužitelj se također gradi mnogo brže od mog laptopa, tako da je to situacija u kojoj svi dobivaju.

Kako se koristi projektor?

JetBrains Projector je namijenjen za hosting na Linux stroju. To ne znači da ga ne možete pokrenuti na macOS-u ili Windowsu s WSL-om, ali biste zbog toga mogli naići na neke čudne probleme.

Da biste ga postavili, sve što trebate učiniti je otići na Program za instalaciju projektora GitHub repo i slijedite tamošnje upute. Oni će vas provesti kroz instalaciju ovisnosti i postavljanje IDE-a. Postoje čak i neki koraci za rješavanje problema s WSL-om ako su vam potrebni.

Zatim se jednostavno možete povezati s adresom poslužitelja pomoću ispravnog priključka i tokena (ako ste ga postavili) i sada imate IDE koji radi na vašem uređaju bez ikakvih problema.

Android razvoj

Ja sam programer za Android, pa iako bih mogao koristiti IntelliJ IDEA za razvoj, Android Studio radi bolje. Iako JetBrains Projector podržava IDE-ove trećih strana, sada je jednostavno kao korištenje ugrađenog sučelja naredbenog retka za njihovo preuzimanje i instalaciju. Ipak, još uvijek je prilično jednostavno.

Da biste koristili Android Studio s JetBrains projektorom, sve što trebate učiniti je preuzeti i izdvojiti Android Studio na nekom razumnom mjestu. Zatim ga možete ručno dodati u Projector putem naredbenog retka navođenjem putanje.

Postoji još jedan problem s Android razvojem i projektorom: pokretanje aplikacija. Bez ičega dodatnog, možete kodirati aplikacije i pregledavati preglede u Projektoru, ali ne možete koristiti emulator ili se povezati sa stvarnim uređajem da stvarno pokrenete aplikacije i otklonite pogreške. Ili možete?

Gotovo je kao da je Google očekivao ovakav scenarij jer se ADB može povezati s udaljenim poslužiteljem preko Interneta. Sve što je potrebno je SSH tunel od klijenta do poslužitelja projektora. Postavio sam Android Studio na projektoru da ne pokušava upravljati ADB-om i da koristi priključak 5038. Zatim samo koristim neku vrstu SSH klijenta (OpenSSH, plink, itd.) da stvorim tunel koji prosljeđuje ADB poslužitelj koji radi lokalno na portu 5037 do poslužitelja na portu 5038. Lako!

Sve što trebate je SSH tunel za pravilan Android razvoj.

Ako želite više pojedinosti o tome kako pokrenuti Android Studio i SSH tuneliranje, pogledajte ovo GitHub dokument Joaquima Vergesa.

Jedna napomena o Android Studiju i drugim IDE-ima trećih strana koji se temelje na JetBrainsu: ne možete ih ažurirati sa zaslona projektora. Morat ćete se daljinski spojiti na poslužitelj izravno i od tamo ih ažurirati. Provjerite je li odgovarajuća instanca projektora zaustavljena prije nego što to učinite.

Android Android razvoj

Budući da JetBrains Projector radi u pregledniku, a možete se spojiti s nečega poput Android telefona, kao potpuno nasumičan primjer, htio sam nešto isprobati.

Android 11 uveo je mogućnost da omogućiti bežični ADB izravno s uređaja. Iako su neki proizvođači izložili postavku prije toga, ona nije dostupna za sve uređaje s Googleovim certifikatom sve dok imaju Android 11 ili noviju verziju. Iako je bežično uklanjanje pogrešaka namijenjeno za korištenje s računala, to ne mora biti.

Aplikacije poput Shizuku pokažite da je na Androidu 11 moguće povezati se s ADB-om na vaš uređaj...s vašeg uređaja, bez razmišljanja o korištenju računala. Dok Shizuku ovo koristi kako bi aplikacijama omogućio pokretanje povišenih operacija, mislim da vjerojatno vidite kamo to vodi.

Pa sam napravio aplikaciju! Ne znam hoću li to ikada objaviti, ali prilično je jednostavno. U njemu imam SSH biblioteku zajedno s ARM64 ADB binarnom datotekom. Koristim ADB binarnu datoteku za povezivanje s uređajem koji koristim, zatim koristim SSH biblioteku za stvaranje tunela za prosljeđivanje od svog uređaja do poslužitelja projektora. I konačno, koristim ga za pohranjivanje i pokretanje URL-ova projektora.

Bam, razvoj za Android...iz Androida! Kad god nisam kod kuće, a želim se baviti razvojem Androida, mogu samo izvaditi svoj Samsung Galaxy Tab S7. Imam Bluetooth tipkovnicu i Bluetooth miš (napomena: ako koristite projektor, stvarno želite koristiti miš ili trackpad. Ne radi dobro s unosom dodirom), tako da mogu razvijati i ispravljati pogreške bez potrebe za mijenjanjem uređaja i bez potrebe da vuku puno teže prijenosno računalo.

Problemi

JetBrains projektor je još uvijek u prilično ranoj fazi razvoja, tako da nije savršen.

  1. Ponekad malo kasni kada reagira na stvari kao što su pomicanje i povlačenje, a kontrole mogu biti klimave.
  2. Nasumično, prilikom gledanja koda biblioteke (bilo dekompiliranog ili u izvornom prikazu), težina fonta postaje stvarno velika i sve kasni. Ipak, ovo je možda popravljeno u trenutku pisanja ovoga.
  3. Neki dodaci neće ispravno raditi. Budući da ovo nije izravan videostream, dodaci poput ugrađenih preglednika jednostavno neće ništa prikazati.
  4. Nema podrške za X poslužitelj, a vjerojatno je neće ni biti. To može otežati razvoj aplikacija za radnu površinu i preglednik, ali uvijek možete koristiti SSH tunel s X prosljeđivanjem i lokalni X poslužitelj ako vam je stvarno potreban.
  5. Ponekad se sučelje zaključa i trebate osvježiti stranicu ili čak ponovno pokrenuti uslugu poslužitelja kako bi ponovno proradila.

I ima još toga.

Ali je li sve to kršenje dogovora? Za mene sigurno ne. Sasvim sam u redu s malo manje uglađenim iskustvom (uostalom, koristim Android Studio Canary), pogotovo ako to znači da mogu prebaciti sav posao kompilacije na drugo računalo, pa čak i razvijati za svoj tablet sa svog tableta.

Android Studio radi na Samsung Galaxy Tab S7 putem JetBrains projektora

Čak i uz njegove probleme, još uvijek mi se jako sviđa JetBrains Projector. Omogućuje razvoj s mobilnog uređaja, premješta opterećenje resursa s lokalnog računala na udaljeno, a također je i stvarno super.

Znam da vam drugi IDE-ovi, poput Visual Studio-a, omogućuju prebacivanje kompilacije na udaljeno računalo, ali to još uvijek zahtijeva da IDE imate instaliran i pokrenut lokalno.

Osobno sam jako uzbuđen što vidim kamo JetBrains Projector ide dalje jer je već sada prilično nevjerojatno. Nadajmo se da će moći riješiti neke od problema koje sam gore opisao, ali čak i sada, Projector bi trebao biti siguran za korištenje za projekte spremne za proizvodnju.

Ako želite sami isprobati JetBrains projektor, evo opet linka na instalater i vodič za početno postavljanje. Ako želite postaviti Android Studio u Projektoru, evo opet tog linka, također.