Haluatko koodata etänä Android Studiossa? Tutustu JetBrains-projektoriin, joka on paras tapa käyttää JetBrainsin IntelliJ IDE: tä millä tahansa laitteella.
JetBrains on joidenkin suosituimpien IDE-laitteiden, mukaan lukien IntelliJ IDEA, PyCharm ja PhpStorm, takana oleva yritys. Jopa Android Studio, Googlen eräänlainen sisäinen IDE Android-kehitykseen, perustuu IntelliJ: hen.
Vaikka IntelliJ: n IDE: t ovat suosittuja syystä (ne ovat hyvä), ne voivat toisinaan olla hieman raskaita. IntelliJ ja Android Studio voivat viedä paljon resursseja esimerkiksi pelkällä avoimuudella. Ja jos kokoat jotain, he käyttävät vielä enemmän. Et myöskään voi (vielä) todella ajaa JetBrains-materiaalia mobiililaitteissa, koska JetBrainsilla ei ole helposti saavutettavia ARM-koontiversioita.
Mitä tapahtuu, jos sinulla ei ole tehokasta tietokonetta tai sinulla ei ole edes tietokonetta? Normaalisti täällä voit etsiä muita ARM: ssa toimivia IDE-laitteita. Mutta JetBrainsilla on tavallaan ratkaisu, ja sitä kutsutaan JetBrains Projectoriksi.
Mikä on projektori?
Olet luultavasti kuullut etätyöpöydästä tai VNC: stä aiemmin. Sen avulla voit olla graafisessa vuorovaikutuksessa tietokoneen kanssa paikallisverkon tai jopa Internetin kautta. JetBrains Projector toimii vähän kuin etätyöpöytä, mutta ilman joitakin haittoja.
JetBrains Projectorin käyttäminen edellyttää tietokoneen jossain Internetissä sen isännöintiä varten. Tämä voi olla AWS-ilmentymä tai kotipalvelin. Voit sitten muodostaa yhteyden siihen millä tahansa tuetulla selaimella, mukaan lukien mobiili Chrome ja Firefox.
Mutta sen sijaan, että näyttäisit koko työpöydän ja lähetät siitä videosyötteen takaisin yhdistetylle asiakkaalle, JetBrains Projector lähettää tiedot, joita asiakas tarvitsee näyttääkseen IDE: n ikään kuin se näyttäisi paikallisesti. Tämä tarkoittaa, että pakkausta tai resoluution skaalausta ei ole, joten IDE näyttää melkein alkuperäiseltä.
JetBrains Projector ei myöskään rajoitu vain virallisiin JetBrains IDE: ihin. Niin kauan kuin sinulla on IDE, joka perustuu läheisesti JetBrains-tuotteeseen, voit käyttää sitä JetBrains Projectorin kanssa. Sisältää Android Studion.
Miksi projektori?
Suurin syy, miksi saatat haluta tehdä etäkehitystä, on se, mistä puhuin johdannossa: Entä jos sinulla ei ole tehokasta x86-pohjaista tietokonetta? Voit ostaa puolitehokkaan nimenomaan kehitystyötä varten tai pyörittää pilvipalvelimen ja käyttää JetBrains Projectoria.
Se voi olla hyödyllistä myös, jos haluat vain purkaa resurssivaatimukset. Minulla on esimerkiksi melko tehokas pelikannettava, jossa on i7-9750H ja 32 Gt RAM-muistia. Se riittää jopa suuriin projekteihin, joita käsittelen. Mutta jos haluan tehdä jotain muuta kehittämisen lisäksi, se on myös resurssivaltaista, esim katsomassa YouTubea, pelaamassa? Sitten asiat alkavat hajota.
Mutta minulla on Ryzen 7 5800X -palvelin, jossa on 32 Gt RAM-muistia. Joten asensin JetBrains Projectorin siihen. Nyt voin vain avata uuden Chrome-ikkunan ja muodostaa yhteyden siihen kannettavasta tietokoneesta huolehtimatta resurssien jongleerauksesta. Palvelin myös rakentaa paljon nopeammin kuin kannettavani, joten se on win-win-tilanne.
Miten projektorin käyttö sujuu?
JetBrains Projector on tarkoitettu isännöitäväksi Linux-koneella. Tämä ei tarkoita, että et voi käyttää sitä macOS: ssä tai Windowsissa WSL: n kanssa, mutta saatat kohdata outoja ongelmia sen vuoksi.
Määrittääksesi sen, sinun tarvitsee vain mennä osoitteeseen Projektorin asennusohjelman GitHub repo ja noudata siellä olevia ohjeita. He opastavat sinua riippuvuuksien asentamisessa ja IDE: n määrittämisessä. Saatavilla on jopa joitain WSL-vianmääritysvaiheita, jos tarvitset niitä.
Sitten voit vain muodostaa yhteyden palvelimesi osoitteeseen käyttämällä oikeaa porttia ja merkkiä (jos määrität sellaisen), ja nyt sinulla on IDE käynnissä laitteellasi ilman turvotusta.
Android-kehitys
Olen Android-kehittäjä, joten vaikka voisin käyttää IntelliJ IDEA: ta kehittämiseen, Android Studio toimii yleensä paremmin. Vaikka JetBrains Projector tukee kolmannen osapuolen IDE: itä, se on nyt yhtä helppoa kuin käyttää sisäänrakennettua komentorivikäyttöliittymää niiden lataamiseen ja asentamiseen. Se on silti melko yksinkertaista.
Jos haluat käyttää Android Studiota JetBrains Projectorin kanssa, sinun tarvitsee vain ladata ja purkaa Android Studio jossain järkevässä paikassa. Sitten voit lisätä sen manuaalisesti Projectoriin komentorivin kautta määrittämällä polun.
Android-kehityksessä ja Projectorissa on myös toinen ongelma: sovellusten suorittaminen. Ilman mitään ylimääräistä voit koodata sovelluksia ja katsella esikatseluita Projectorissa, mutta et voi käyttää emulaattoria tai muodostaa yhteyttä oikeaan laitteeseen sovellusten suorittamiseen ja virheenkorjaukseen. Vai voitko?
Se on melkein kuin Google odotti tällaisen skenaarion tapahtuvan, koska ADB voi muodostaa yhteyden etäpalvelimeen Internetin kautta. Tarvitset vain SSH-tunnelin asiakkaalta Projector-palvelimelle. Asetin projektorin Android Studion olemaan yrittämättä hallita ADB: tä ja käyttämään porttia 5038. Sitten käytän vain jonkinlaista SSH-asiakasta (OpenSSH, plink jne.) luodakseni tunnelin, joka välittää paikallisesti portissa 5037 toimivan ADB-palvelimen portin 5038 palvelimelle. Helppo!
Jos haluat lisätietoja Android Studion ja SSH-tunneloinnin saamisesta toimimaan, katso tämä GitHub-dokumentti Kirjailija: Joaquim Verges
Yksi huomautus Android Studiosta ja muista kolmannen osapuolen JetBrains-pohjaisista IDE: istä: Et voi päivittää niitä projektorin näytöltä. Sinun on etäyhteyden kautta suoraan palvelimelle ja päivitettävä ne sieltä. Varmista, että vastaava Projector-instanssi on pysäytetty ennen kuin teet sen.
Android Android-kehitys
Koska JetBrains Projector toimii selaimessa ja voit muodostaa yhteyden jostain Android-puhelimesta, aivan satunnaisena esimerkkinä, halusin kokeilla jotain.
Android 11 esitteli mahdollisuuden ota langaton ADB käyttöön suoraan laitteesta. Jotkut valmistajat julkistivat asetuksen aiemmin, mutta se ei ole saatavilla kaikille Googlen hyväksymille laitteille, jos niissä on Android 11 tai uudempi. Vaikka langaton virheenkorjaus on tarkoitettu käytettäväksi tietokoneelta, sen ei tarvitse olla.
Sovellukset, kuten Shizuku osoittavat, että Android 11:ssä on mahdollista muodostaa yhteys ADB: n avulla laitteeseesi... laitteestasi ilman, että edes ajattelet tietokoneen käyttöä. Vaikka Shizuku käyttää tätä antaakseen sovellusten suorittaa korkeampia toimintoja, luulen, että voit luultavasti nähdä, mihin tämä johtaa.
Joten tein sovelluksen! En tiedä, julkaisenko sitä koskaan, mutta se on melko yksinkertaista. Minulla on SSH-kirjasto sekä ARM64 ADB -binaari. Käytän ADB-binaaria yhteyden muodostamiseen käyttämääni laitteeseen, sitten luon edelleenlähetystunnelin laitteeltani projektoripalvelimelle SSH-kirjaston avulla. Ja lopuksi, käytän sitä projektorin URL-osoitteiden tallentamiseen ja käynnistämiseen.
Bam, kehitetään Androidille... Androidista! Aina kun en ole kotona, mutta haluan saada Android-kehitystyötä, voin vain ottaa omani pois Samsung Galaxy Tab S7. Minulla on Bluetooth-näppäimistö ja Bluetooth-hiiri (sivuhuomautus: jos käytät Projektoria, Todella haluat käyttää hiirtä tai ohjauslevyä. Se ei toimi hyvin kosketussyötteen kanssa), joten voin kehittää ja korjata virheitä ilman, että tarvitsee vaihtaa laitteita ja ilman paljon raskaampaa kannettavaa.
Ongelmia
JetBrains Projector on vielä melko varhaisessa kehitysvaiheessa, joten se ei ole täydellinen.
- Joskus se on hieman viivästynyt, kun reagoidaan sellaisiin asioihin kuin vierittäminen ja vetäminen, ja säätimet voivat mennä sekaisin.
- Satunnaisesti kirjastokoodia tarkasteltaessa (joko purettu tai lähdenäkymässä) fontin paino tulee todella raskaaksi ja kaikki viivästyy. Tämä saattaa kuitenkin olla korjattu tätä kirjoittaessa.
- Jotkut laajennukset eivät toimi kunnolla. Koska tämä ei ole suora videovirta, laajennukset, kuten upotetut selaimet, eivät vain näytä mitään.
- X-palvelintukea ei ole, eikä luultavasti tulekaan olemaan. Tämä voi tehdä työpöytä- ja selainsovellusten kehittämisestä hankalaa, mutta voit aina käyttää SSH-tunnelia X-edelleenohjauksella ja paikallista X-palvelinta, jos todella tarvitset sitä.
- Joskus käyttöliittymä lukkiutuu ja sinun on päivitettävä sivu tai jopa käynnistettävä palvelinpalvelu uudelleen, jotta se toimisi uudelleen.
Ja on muutakin.
Mutta onko tämä kaikki sopimuksen rikkoja? Ei todellakaan minulle. Olen täysin kunnossa hieman vähemmän viimeistellyllä kokemuksella (käytän kuitenkin Android Studio Canarya), varsinkin jos se tarkoittaa, että voin ladata kaiken kokoelmatyön toiselle tietokoneelle ja jopa kehittää tablettiani omastani tabletti.
Ongelmistaan huolimatta pidän JetBrains Projectorista todella paljon. Se mahdollistaa kehittämisen mobiilista, se siirtää resurssikuormituksen paikalliselta tietokoneelta etätietokoneelle, ja se on myös todella siistiä.
Tiedän, että muut IDE: t, kuten Visual Studio, antavat sinun siirtää käännöksen etätietokoneeseen, mutta se edellyttää silti, että IDE on asennettu ja käynnissä paikallisesti.
Olen henkilökohtaisesti todella innoissani nähdessäni, mihin JetBrains Projector tästä eteenpäin menee, koska se on jo nyt melko uskomatonta. Toivottavasti he pystyvät korjaamaan osan yllä kuvailemistani ongelmista, mutta nytkin Projectorin pitäisi olla turvallista käyttää tuotantovalmiissa projekteissa.
Jos haluat kokeilla JetBrains Projectoria itse, tässä linkki taas asennusoppaaseen ja alkuasennusoppaaseen. Jos haluat määrittää Android Studion Projectorissa, tässä se linkki taas, yhtä hyvin.