Kódolás az Android Studióban bármilyen eszközről a JetBrains Projector segítségével

Távolról szeretne kódolni az Android Studióban? Nézze meg a JetBrains Projectort, amely a JetBrains IntelliJ IDE futtatásának legjobb módja bármilyen eszközön.

A JetBrains a legnépszerűbb IDE-k, köztük az IntelliJ IDEA, a PyCharm és a PhpStorm mögött álló vállalat. Még az Android Studio, a Google egyfajta házon belüli IDE Android-fejlesztéshez is az IntelliJ-n alapul.

Míg az IntelliJ IDE-jei okkal népszerűek (ezek ), időnként kissé nehezek lehetnek. Az IntelliJ és az Android Studio sok erőforrást lefoglalhat például azzal, hogy nyitott. És ha te fordítasz valamit, akkor még többet fognak használni. A JetBrains cuccokat (még) nem is igazán futtathatja mobileszközökön, mivel a JetBrains nem rendelkezik könnyen elérhető ARM buildekkel.

Tehát mi történik, ha nincs nagy teljesítményű számítógépe, vagy nincs is számítógépe? Általában itt nézhet körül más IDE-ket, amelyek működnek az ARM-en. De a JetBrainsnek van valami megoldása, és ezt JetBrains Projectornak hívják.

Mi az a projektor?

Valószínűleg hallottál már a távoli asztalról vagy a VNC-ről. Lehetővé teszi grafikus interakciót a számítógéppel helyi hálózaton vagy akár az interneten keresztül. A JetBrains Projector egy kicsit úgy működik, mint egy távoli asztal, de bizonyos hátrányok nélkül.

A JetBrains Projector használatához szükség van egy számítógépre valahol az interneten. Ez lehet egy AWS-példány vagy egy otthoni szerver. Ezután bármely támogatott böngészőből csatlakozhat hozzá, beleértve a mobil Chrome-ot és a Firefoxot is.

De ahelyett, hogy egy teljes asztalt jelenítene meg, és egy videót küldene vissza egy csatlakoztatott kliensnek, A JetBrains Projector átküldi a kliensnek az IDE megjelenítéséhez szükséges információkat, mintha az megjelenítené helyileg. Ez azt jelenti, hogy nincs tömörítés vagy felbontási skálázás, így az IDE szinte natívnak tűnik.

Ezenkívül a JetBrains Projector nem korlátozódik csak a hivatalos JetBrains IDE-kre. Mindaddig, amíg olyan IDE-je van, amely szorosan a JetBrains egyikén alapul, használhatja a JetBrains Projectorral. Ide tartozik az Android Studio.

Miért projektor?

A legnagyobb ok, amiért érdemes távolról fejleszteni, az az, amiről a bevezetőben beszéltem: Mi van, ha nincs erős x86-alapú számítógépe? Vásárolhat egy félerőset kifejezetten fejlesztési munkához, vagy felpörgethet egy felhőszervert és használhatja a JetBrains Projectort.

Hasznos lehet akkor is, ha csak az erőforrásigényt szeretné tehermentesíteni. Például van egy elég erős gamer laptopom i7-9750H-val és 32 GB RAM-mal. Ez még azokhoz a nagy projektekhez is elegendő, amelyekkel foglalkozom. De ha valami mást akarok csinálni a fejlesztésen túl, az is erőforrás-igényes, pl nézi a YouTube-ot, játszani egy játékot? Aztán kezdenek szétesni a dolgok.

De van egy Ryzen 7 5800X szerverem 32 GB RAM-mal. Tehát erre telepítettem a JetBrains Projectort. Most már csak megnyithatok egy új Chrome-ablakot, és csatlakozhatok hozzá a laptopomról anélkül, hogy aggódnom kellene az erőforrásokkal való zsonglőrködés miatt. A szerver is sokkal gyorsabban épül, mint a laptopom, szóval ez egy win-win helyzet.

Milyen a projektor használata?

A JetBrains Projector Linuxos gépen való üzemeltetésre szolgál. Ez nem jelenti azt, hogy nem futtathatja macOS-en vagy Windowson WSL-lel, de előfordulhat, hogy emiatt furcsa problémákba ütközhet.

A beállításhoz nem kell mást tennie, mint a Projektor telepítő GitHub repo és kövesse az ott található utasításokat. Végigvezetik a függőségek telepítésén és az IDE beállításán. Van még néhány WSL hibaelhárítási lépés is, ha szüksége van rájuk.

Ezután egyszerűen csatlakozhat a kiszolgáló címéhez a megfelelő port és token használatával (ha beállított egyet), és most már egy IDE fut az eszközön, anélkül, hogy felfakadna.

Android fejlesztés

Android-fejlesztő vagyok, így bár az IntelliJ IDEA-t használhatnám a fejlesztéshez, az Android Studio általában jobban működik. Bár a JetBrains Projector támogatja a harmadik féltől származó IDE-ket, most már olyan egyszerű, mint a beépített parancssori felület segítségével letölteni és telepíteni őket. Azért ez még mindig elég egyszerű.

Az Android Studio JetBrains Projectorral való használatához mindössze annyit kell tennie, hogy letölti és kicsomagolja az Android Studiót egy ésszerű helyről. Ezután manuálisan hozzáadhatja a Projectorhoz a parancssorban az elérési út megadásával.

Van egy másik probléma is az Android fejlesztéssel és a Projectorral: az alkalmazások futtatásával. Minden extra nélkül kódolhat alkalmazásokat és megtekintheti az előnézeteket a Projectorban, de nem használhat emulátort vagy nem csatlakozhat valódi eszközhöz az alkalmazások tényleges futtatásához és hibakereséséhez. Vagy tudsz?

Majdnem olyan, mintha a Google erre számított volna, mivel az ADB az interneten keresztül tud csatlakozni egy távoli szerverhez. Csak egy SSH-alagútra van szükség a klienstől a projektor szerverig. Beállítottam az Android Studiót a kivetítőn, hogy ne próbálja meg kezelni az ADB-t, és az 5038-as portot használja. Ezután csak valamilyen SSH-klienst (OpenSSH, plink stb.) használok egy alagút létrehozására, amely továbbítja az 5037-es porton helyileg futó ADB-kiszolgálót az 5038-as porton lévő kiszolgálóhoz. Könnyen!

Csak egy SSH-alagútra van szüksége a megfelelő Android-fejlesztéshez.

Ha további részletekre van szüksége az Android Studio és az SSH tunneling működéséhez, nézze meg ezt GitHub dokumentum írta: Joaquim Verges.

Egy megjegyzés az Android Studióval és más, harmadik féltől származó JetBrains-alapú IDE-kkel kapcsolatban: Nem frissítheti őket a projektor képernyőjéről. Közvetlenül a szerverre kell távolítania, és onnan frissítenie kell azokat. Mielőtt megtenné, győződjön meg arról, hogy a megfelelő kivetítőpéldány le van állítva.

Android Android fejlesztés

Mivel a JetBrains Projector böngészőben fut, és valami androidos telefonról is lehet csatlakozni, így teljesen véletlenszerű példaként ki akartam próbálni valamit.

Az Android 11 bemutatta a lehetőséget engedélyezze a vezeték nélküli ADB-t közvetlenül a készülékről. Míg egyes gyártók már korábban közzétették a beállítást, ez nem érhető el minden Google-tanúsítvánnyal rendelkező eszközön mindaddig, amíg az Android 11 vagy újabb verziót futtatja. Bár a vezeték nélküli hibakeresést számítógépről kell használni, ennek nem kell lennie.

Olyan alkalmazások, mint Shizuku demonstrálja, hogy Android 11-en lehetséges az ADB-vel csatlakozni az eszközéhez... az eszközéről, anélkül, hogy számítógép használatára gondolna. Míg a Shizuku ezt használja arra, hogy az alkalmazások magasabb szintű műveleteket hajtsanak végre, azt hiszem, valószínűleg láthatja, hogy ez hol tart.

Szóval csináltam egy alkalmazást! Nem tudom, nyilvánosságra fogom-e hozni valaha, de nagyon egyszerű. Van benne egy SSH-könyvtár és egy ARM64 ADB bináris. Az ADB bináris segítségével csatlakozom az általam használt eszközhöz, majd az SSH-könyvtár segítségével továbbítási alagutat hozok létre a készülékemről a Projector szerverre. Végül pedig kivetítő URL-ek tárolására és elindítására használom.

Bam, fejlesztő Androidra... Androidról! Bármikor, amikor nem vagyok otthon, de szeretnék Android-fejlesztési munkát végezni, kivehetem a magamét Samsung Galaxy Tab S7. Van Bluetooth billentyűzetem és Bluetooth egerem (melléklet: ha projektort használ, akkor igazán egeret vagy görgetőpadot szeretne használni. Érintős bemenettel nem működik jól), így fejleszthetek és hibakereshetek anélkül, hogy eszközt kellene váltanom, és nem kell egy sokkal nehezebb laptopot cipelnem.

Problémák

A JetBrains Projector még nagyon korai fejlesztés alatt áll, tehát nem tökéletes.

  1. Néha kissé késleltetve reagál olyan dolgokra, mint például a görgetés és a húzás, és a kezelőszervek zavaróak lehetnek.
  2. Véletlenszerűen a könyvtári kód megtekintésekor (akár dekompilált, akár forrás nézetben) a font súlya nagyon megnehezedik, és minden késik. Bár lehet, hogy ezt már az írás pillanatában javították.
  3. Egyes beépülő modulok nem működnek megfelelően. Mivel ez nem egy közvetlen videofolyam, az olyan bővítmények, mint a beágyazott böngészők, egyszerűen nem jelenítenek meg semmit.
  4. Nincs X szerver támogatás, és valószínűleg nem is lesz. Ez trükkössé teheti az asztali és böngészőalkalmazások fejlesztését, de mindig használhat SSH alagutat X továbbítással és helyi X szervert, ha valóban szüksége van rá.
  5. Néha az interfész leblokkol, és frissítenie kell az oldalt, vagy akár újra kell indítania a szerverszolgáltatást, hogy újra működjön.

És van még több is.

De ez az egész alkudozás? Nekem biztosan nem. Tökéletesen megvagyok egy kicsit kevésbé csiszolt tapasztalattal (végül is az Android Studio Canaryt használom), különösen ha ez azt jelenti, hogy az összes fordítási munkát átrakhatom egy másik számítógépre, és még a táblagépemre is fejleszthetek a sajátomról tabletta.

Android Studio, amely Samsung Galaxy Tab S7 készüléken fut a JetBrains kivetítőn keresztül

Még a problémái ellenére is nagyon szeretem a JetBrains Projectort. Lehetővé teszi a mobilról való fejlesztést, az erőforrások terhelését helyi számítógépről távolira helyezi át, és ez is nagyon klassz.

Tudom, hogy más IDE-k, például a Visual Studio, lehetővé teszik a fordítások eltávolítását egy távoli számítógépre, de ehhez továbbra is telepíteni kell az IDE-t, és helyileg kell futnia.

Én személy szerint nagyon izgatott vagyok, hogy lássam, merre halad a JetBrains Projector, mert ez már most is hihetetlen. Remélhetőleg sikerül megoldaniuk néhány fent leírt problémát, de a Projectornak még most is biztonságosnak kell lennie a gyártásra kész projektekhez.

Ha ki szeretné próbálni a JetBrains projektort, itt a link megint a telepítőhöz és a kezdeti beállítási útmutatóhoz. Ha be szeretné állítani az Android Studio alkalmazást a Projectorban, itt a link megint, is.