Πώς να κωδικοποιήσετε στο Android Studio από οποιαδήποτε συσκευή με τον προβολέα JetBrains

Θέλετε να κωδικοποιήσετε εξ αποστάσεως στο Android Studio; Ρίξτε μια ματιά στον προβολέα JetBrains, ο καλύτερος τρόπος για να εκτελέσετε το IntelliJ IDE του JetBrains σε οποιαδήποτε συσκευή.

Η JetBrains είναι η εταιρεία πίσω από μερικά από τα πιο δημοφιλή IDE, συμπεριλαμβανομένων των IntelliJ IDEA, PyCharm και PhpStorm. Ακόμη και το Android Studio, το είδος του εσωτερικού IDE της Google για την ανάπτυξη Android, βασίζεται στο IntelliJ.

Ενώ τα IDE της IntelliJ είναι δημοφιλή για κάποιο λόγο (είναι Καλός), μπορεί να είναι λίγο βαριά μερικές φορές. Το IntelliJ και το Android Studio μπορούν να καταλάβουν πολλούς πόρους απλώς και μόνο αν είναι ανοιχτά, για παράδειγμα. Και αν συντάσσετε κάτι, θα χρησιμοποιήσουν ακόμα περισσότερα. Επίσης, δεν μπορείτε (ακόμα) να εκτελέσετε πραγματικά πράγματα JetBrains σε κινητές συσκευές, καθώς το JetBrains δεν διαθέτει εύκολα προσβάσιμες εκδόσεις ARM.

Τι συμβαίνει λοιπόν εάν δεν έχετε έναν ισχυρό υπολογιστή ή δεν έχετε καν υπολογιστή; Κανονικά, εδώ θα ψάχνατε για άλλα IDE που λειτουργούν στο ARM. Αλλά το JetBrains έχει μια λύση, και ονομάζεται JetBrains Projector.

Τι είναι ο προβολέας;

Πιθανότατα έχετε ακούσει για απομακρυσμένη επιφάνεια εργασίας ή VNC στο παρελθόν. Σας επιτρέπει να αλληλεπιδράτε γραφικά με έναν υπολογιστή μέσω τοπικού δικτύου ή ακόμα και μέσω Διαδικτύου. Ο προβολέας JetBrains λειτουργεί λίγο σαν απομακρυσμένη επιφάνεια εργασίας, αλλά χωρίς κάποια από τα μειονεκτήματα.

Για να χρησιμοποιήσετε τον Προβολέα JetBrains, χρειάζεστε έναν υπολογιστή κάπου στο Διαδίκτυο για να τον φιλοξενήσετε. Αυτό μπορεί να είναι μια παρουσία AWS ή ένας οικιακός διακομιστής. Στη συνέχεια, μπορείτε να συνδεθείτε σε αυτό από οποιοδήποτε υποστηριζόμενο πρόγραμμα περιήγησης, συμπεριλαμβανομένου του Chrome για κινητά και του Firefox.

Αλλά αντί να εμφανίσετε μια ολόκληρη επιφάνεια εργασίας και να στείλετε μια τροφοδοσία βίντεο από αυτήν σε έναν συνδεδεμένο πελάτη, Ο προβολέας JetBrains στέλνει τις πληροφορίες που χρειάζονται για να εμφανίσει ο πελάτης ένα IDE σαν να εμφανίζει τοπικά. Αυτό σημαίνει ότι δεν υπάρχει καμία κλίμακα συμπίεσης ή ανάλυσης, επομένως το IDE φαίνεται σχεδόν εγγενές.

Επίσης, ο προβολέας JetBrains δεν περιορίζεται μόνο στα επίσημα IDE του JetBrains. Εφόσον έχετε ένα IDE που βασίζεται στενά σε ένα από το JetBrains, μπορείτε να το χρησιμοποιήσετε με τον Προβολέα JetBrains. Αυτό περιλαμβάνει το Android Studio.

Γιατί προβολέας;

Ο μεγαλύτερος λόγος για τον οποίο μπορεί να θέλετε να κάνετε απομακρυσμένη ανάπτυξη είναι αυτό για το οποίο μίλησα στην εισαγωγή: Τι γίνεται αν δεν έχετε έναν ισχυρό υπολογιστή που βασίζεται σε x86; Θα μπορούσατε να αγοράσετε έναν ημι-ισχυρό ειδικά για εργασίες ανάπτυξης ή θα μπορούσατε να δημιουργήσετε έναν διακομιστή cloud και να χρησιμοποιήσετε τον προβολέα JetBrains.

Μπορεί επίσης να είναι χρήσιμο εάν θέλετε απλώς να ξεφορτώσετε τις απαιτήσεις πόρων. Για παράδειγμα, έχω έναν αρκετά ισχυρό φορητό υπολογιστή παιχνιδιών με i7-9750H και 32 GB μνήμης RAM. Αυτό είναι αρκετό ακόμα και για τα μεγάλα έργα με τα οποία ασχολούμαι. Αλλά αν θέλω να κάνω κάτι άλλο πέρα ​​από την ανάπτυξη, αυτό είναι επίσης εντάσεως πόρων, όπως παρακολουθώντας YouTube, παίζοντας ένα παιχνίδι? Τότε τα πράγματα αρχίζουν να καταρρέουν.

Αλλά έχω έναν διακομιστή Ryzen 7 5800X με 32 GB RAM σε αυτόν. Έτσι, εγκατέστησα το JetBrains Projector σε αυτό. Τώρα μπορώ απλώς να ανοίξω ένα νέο παράθυρο του Chrome και να συνδεθώ σε αυτό από τον φορητό υπολογιστή μου χωρίς να ανησυχώ για ταχυδακτυλουργίες πόρων. Ο διακομιστής δημιουργείται επίσης πολύ πιο γρήγορα από τον φορητό υπολογιστή μου, επομένως είναι μια κατάσταση win-win.

Πώς είναι η χρήση ενός προβολέα;

Ο Προβολέας JetBrains προορίζεται να φιλοξενείται σε μηχανή Linux. Αυτό δεν σημαίνει ότι δεν μπορείτε να το εκτελέσετε σε macOS ή σε Windows με WSL, αλλά μπορεί να αντιμετωπίσετε κάποια περίεργα προβλήματα εξαιτίας αυτού.

Για να το ρυθμίσετε, το μόνο που χρειάζεται να κάνετε είναι να κατευθυνθείτε στο Αποθετήριο GitHub Installer Projector και ακολουθήστε τις οδηγίες εκεί. Θα σας καθοδηγήσουν στην εγκατάσταση των εξαρτήσεων και στη ρύθμιση ενός IDE. Υπάρχουν ακόμη και ορισμένα βήματα αντιμετώπισης προβλημάτων WSL εάν τα χρειάζεστε.

Στη συνέχεια, μπορείτε απλώς να συνδεθείτε στη διεύθυνση του διακομιστή σας χρησιμοποιώντας τη σωστή θύρα και διακριτικό (εάν έχετε ορίσει ένα), και τώρα έχετε ένα IDE που εκτελείται στη συσκευή σας χωρίς κανένα πρόβλημα.

Ανάπτυξη Android

Είμαι προγραμματιστής Android, οπότε ενώ θα μπορούσα να χρησιμοποιήσω το IntelliJ IDEA για ανάπτυξη, το Android Studio τείνει να λειτουργεί καλύτερα. Ενώ το JetBrains Projector υποστηρίζει IDE τρίτων, είναι πλέον τόσο απλό όσο η χρήση της ενσωματωμένης διεπαφής γραμμής εντολών για τη λήψη και την εγκατάσταση τους. Είναι ακόμα αρκετά απλό, όμως.

Για να χρησιμοποιήσετε το Android Studio με τον προβολέα JetBrains, το μόνο που έχετε να κάνετε είναι να κατεβάσετε και να εξαγάγετε το Android Studio κάπου λογικά. Στη συνέχεια, μπορείτε να το προσθέσετε χειροκίνητα στον Προβολέα μέσω της γραμμής εντολών, καθορίζοντας τη διαδρομή.

Υπάρχει επίσης ένα άλλο πρόβλημα με την ανάπτυξη Android και τον Προβολέα: η εκτέλεση εφαρμογών. Χωρίς τίποτα επιπλέον, μπορείτε να κωδικοποιήσετε εφαρμογές και να προβάλετε προεπισκοπήσεις στον Προβολέα, αλλά δεν μπορείτε να χρησιμοποιήσετε έναν εξομοιωτή ή να συνδεθείτε σε μια πραγματική συσκευή για να εκτελέσετε πραγματικά και να εντοπίσετε σφάλματα εφαρμογών. Ή μπορείτε;

Είναι σχεδόν σαν να περίμενε η Google να συμβεί αυτό το είδος του σεναρίου επειδή το ADB μπορεί να συνδεθεί σε έναν απομακρυσμένο διακομιστή μέσω του Διαδικτύου. Το μόνο που χρειάζεται είναι μια σήραγγα SSH από τον πελάτη στον διακομιστή του Προβολέα. Ρύθμισα το Android Studio στον προβολέα να μην προσπαθεί να διαχειριστεί το ADB και να χρησιμοποιήσει τη θύρα 5038. Στη συνέχεια, χρησιμοποιώ απλώς κάποιο είδος πελάτη SSH (OpenSSH, plink, κ.λπ.) για να δημιουργήσω ένα τούνελ που προωθεί τον διακομιστή ADB που εκτελείται τοπικά στη θύρα 5037 στον διακομιστή στη θύρα 5038. Ανετα!

Το μόνο που χρειάζεστε είναι μια σήραγγα SSH για σωστή ανάπτυξη Android.

Αν θέλετε περισσότερες λεπτομέρειες σχετικά με τον τρόπο λειτουργίας της σήραγγας Android Studio και SSH, ρίξτε μια ματιά σε αυτό Έγγραφο GitHub του Joaquim Verges.

Μια σημείωση σχετικά με το Android Studio και άλλα IDE που βασίζονται σε JetBrains τρίτων: Δεν μπορείτε να τα ενημερώσετε από την οθόνη του Προβολέα. Θα χρειαστεί να μεταφερθείτε απευθείας στον διακομιστή και να τους ενημερώσετε από εκεί. Βεβαιωθείτε ότι η αντίστοιχη παρουσία του Προβολέα έχει σταματήσει πριν το κάνετε.

Ανάπτυξη Android Android

Δεδομένου ότι το JetBrains Projector εκτελείται σε πρόγραμμα περιήγησης και μπορείτε να συνδεθείτε από κάτι σαν τηλέφωνο Android, ως εντελώς τυχαίο παράδειγμα, ήθελα να δοκιμάσω κάτι.

Το Android 11 εισήγαγε τη δυνατότητα να ενεργοποιήστε το ασύρματο ADB απευθείας από τη συσκευή. Ενώ ορισμένοι κατασκευαστές εξέθεσαν τη ρύθμιση πριν από τότε, δεν είναι διαθέσιμη για όλες τις συσκευές με πιστοποίηση Google, εφόσον είναι σε Android 11 ή μεταγενέστερη έκδοση. Ενώ ο ασύρματος εντοπισμός σφαλμάτων προορίζεται για χρήση από υπολογιστή, δεν χρειάζεται να είναι.

Εφαρμογές όπως Σιζούκου δείξτε ότι στο Android 11 είναι δυνατό να συνδεθείτε με το ADB στη συσκευή σας...από τη συσκευή σας, χωρίς καν να σκεφτείτε τη χρήση υπολογιστή. Ενώ το Shizuku το χρησιμοποιεί για να επιτρέπει στις εφαρμογές να εκτελούν αυξημένες λειτουργίες, νομίζω ότι πιθανότατα μπορείτε να δείτε πού πηγαίνει αυτό.

Λοιπόν έφτιαξα μια εφαρμογή! Δεν ξέρω αν θα το δημοσιοποιήσω ποτέ, αλλά είναι αρκετά απλό. Έχω μια βιβλιοθήκη SSH μαζί με ένα δυαδικό αρχείο ARM64 ADB. Χρησιμοποιώ το δυαδικό ADB για να συνδεθώ με τη συσκευή που χρησιμοποιώ και, στη συνέχεια, χρησιμοποιώ τη βιβλιοθήκη SSH για να δημιουργήσω ένα τούνελ προώθησης από τη συσκευή μου στον διακομιστή του Προβολέα. Και τέλος, το χρησιμοποιώ για την αποθήκευση και την εκκίνηση διευθύνσεων URL προβολέων.

Bam, ανάπτυξη για Android...από Android! Κάθε φορά που δεν είμαι σπίτι αλλά θέλω να κάνω κάποιες εργασίες ανάπτυξης Android, μπορώ απλώς να βγάλω το δικό μου Samsung Galaxy Tab S7. Έχω ένα πληκτρολόγιο Bluetooth και ένα ποντίκι Bluetooth (σημείωση: εάν χρησιμοποιείτε τον Προβολέα, θα Πραγματικά θέλετε να χρησιμοποιήσετε ένα ποντίκι ή ένα trackpad. Δεν τα πάει καλά με την είσοδο αφής), έτσι μπορώ να αναπτύξω και να διορθώσω σφάλματα χωρίς να χρειάζεται να αλλάξω συσκευές και χωρίς να χρειάζεται να κολλήσω σε έναν πολύ πιο βαρύ φορητό υπολογιστή.

Προβλήματα

Ο προβολέας JetBrains βρίσκεται ακόμα σε αρκετά πρώιμη ανάπτυξη, επομένως δεν είναι τέλειος.

  1. Μερικές φορές είναι λίγο καθυστερημένο όταν απαντάτε σε πράγματα όπως η κύλιση και η μεταφορά και τα χειριστήρια μπορεί να χαλάσουν.
  2. Τυχαία, κατά την προβολή κώδικα βιβλιοθήκης (είτε απομεταγλωττισμένος είτε σε προβολή πηγής), το βάρος της γραμματοσειράς γίνεται πολύ βαρύ και όλα καθυστερούν. Ωστόσο, αυτό μπορεί να έχει διορθωθεί από τη στιγμή που γράφτηκε αυτό.
  3. Ορισμένες προσθήκες δεν θα λειτουργούν σωστά. Δεδομένου ότι αυτή δεν είναι μια άμεση ροή βίντεο, προσθήκες όπως τα ενσωματωμένα προγράμματα περιήγησης απλώς δεν θα εμφανίζουν τίποτα.
  4. Δεν υπάρχει υποστήριξη διακομιστή X και πιθανότατα δεν θα υπάρχει. Αυτό μπορεί να κάνει δύσκολη την ανάπτυξη εφαρμογών για επιτραπέζιους υπολογιστές και προγράμματα περιήγησης, αλλά μπορείτε πάντα να χρησιμοποιήσετε μια σήραγγα SSH με προώθηση X και έναν τοπικό διακομιστή X, εάν το χρειάζεστε πραγματικά.
  5. Μερικές φορές η διεπαφή κλειδώνει και χρειάζεται να ανανεώσετε τη σελίδα ή ακόμα και να επανεκκινήσετε την υπηρεσία διακομιστή για να λειτουργήσει ξανά.

Και υπάρχουν περισσότερα.

Είναι όμως όλο αυτό ένα dealbreaker; Σίγουρα όχι για μένα. Είμαι πολύ καλά με μια ελαφρώς λιγότερο γυαλισμένη εμπειρία (χρησιμοποιώ το Android Studio Canary, τέλος πάντων), ειδικά αν αυτό σημαίνει ότι μπορώ να μεταφορτώσω όλη την εργασία μεταγλώττισης σε άλλον υπολογιστή και ακόμη και να αναπτύξω για το tablet μου από το δικό μου δισκίο.

Android Studio που τρέχει σε Samsung Galaxy Tab S7 μέσω JetBrains Projector

Ακόμα και με τα προβλήματά του, μου αρέσει πολύ ο JetBrains Projector. Κάνει δυνατή την ανάπτυξη από κινητό, μετακινεί το φορτίο πόρων από έναν τοπικό υπολογιστή σε έναν απομακρυσμένο και είναι επίσης πολύ ωραίο.

Γνωρίζω ότι άλλα IDE, όπως το Visual Studio, σας επιτρέπουν να εκφορτώνετε τη μεταγλώττιση σε έναν απομακρυσμένο υπολογιστή, αλλά αυτό απαιτεί να έχετε εγκαταστήσει και να εκτελείτε τοπικά το IDE.

Προσωπικά, είμαι πολύ ενθουσιασμένος που βλέπω πού πηγαίνει ο JetBrains Projector από εδώ γιατί είναι ήδη αρκετά απίστευτο αυτή τη στιγμή. Ας ελπίσουμε ότι θα μπορέσουν να διορθώσουν ορισμένα από τα προβλήματα που περιέγραψα παραπάνω, αλλά ακόμα και τώρα, ο Προβολέας θα πρέπει να είναι ασφαλής για χρήση για έργα έτοιμα για παραγωγή.

Αν θέλετε να δοκιμάσετε μόνοι σας τον JetBrains Projector, ορίστε πάλι το link στον οδηγό εγκατάστασης και αρχικής εγκατάστασης. Εάν θέλετε να ρυθμίσετε το Android Studio στον Προβολέα, ορίστε πάλι αυτός ο σύνδεσμος, επισης.