JetBrains Projector를 사용하여 모든 기기에서 Android Studio에서 코딩하는 방법

click fraud protection

Android Studio에서 원격으로 코딩을 원하시나요? 모든 기기에서 JetBrains의 IntelliJ IDE를 실행할 수 있는 가장 좋은 방법인 JetBrains Projector를 확인해 보세요.

JetBrains는 IntelliJ IDEA, PyCharm, PhpStorm 등 가장 인기 있는 IDE를 개발한 회사입니다. Android 개발을 위한 Google의 일종의 사내 IDE인 Android Studio도 IntelliJ를 기반으로 합니다.

IntelliJ의 IDE가 인기를 끄는 데에는 이유가 있습니다(그들은 좋은) 때로는 약간 무거울 수도 있습니다. 예를 들어 IntelliJ와 Android Studio는 공개만으로도 많은 리소스를 차지할 수 있습니다. 그리고 무언가를 컴파일한다면 훨씬 더 많은 것을 사용할 것입니다. 또한 JetBrains에는 쉽게 액세스할 수 있는 ARM 빌드가 없기 때문에 (아직은) 실제로 JetBrains 기능을 모바일 장치에서 실행할 수 없습니다.

그렇다면 강력한 컴퓨터가 없거나 심지어 컴퓨터도 없다면 어떻게 될까요? 일반적으로 여기에서 ARM에서 작동하는 다른 IDE를 찾을 수 있습니다. 하지만 JetBrains에는 JetBrains Projector라는 솔루션이 있습니다.

프로젝터란 무엇입니까?

원격 데스크톱이나 VNC에 대해 들어본 적이 있을 것입니다. 로컬 네트워크나 인터넷을 통해 컴퓨터와 그래픽으로 상호 작용할 수 있습니다. JetBrains Projector는 원격 데스크톱과 약간 유사하게 작동하지만 몇 가지 단점이 없습니다.

JetBrains Projector를 사용하려면 인터넷상의 어딘가에 호스팅할 컴퓨터가 필요합니다. 이는 AWS 인스턴스일 수도 있고 홈 서버일 수도 있습니다. 그런 다음 모바일 Chrome 및 Firefox를 포함하여 지원되는 모든 브라우저에서 연결할 수 있습니다.

그러나 전체 데스크탑을 표시하고 그에 대한 비디오 피드를 연결된 클라이언트로 다시 보내는 대신, JetBrains Projector는 클라이언트가 IDE를 표시하는 것처럼 표시하는 데 필요한 정보를 보냅니다. 장소 상에서. 즉, 압축이나 해상도 조정이 없으므로 IDE가 거의 기본처럼 보입니다.

또한 JetBrains Projector는 공식 JetBrains IDE에만 국한되지 않습니다. JetBrains의 IDE를 기반으로 하는 IDE가 있으면 JetBrains Projector와 함께 사용할 수 있습니다. 여기에는 Android Studio가 포함됩니다.

왜 프로젝터인가?

원격 개발을 원하는 가장 큰 이유는 제가 서문에서 이야기한 내용입니다. 강력한 x86 기반 컴퓨터가 없다면 어떻게 될까요? 개발 작업을 위해 특별히 강력한 제품을 구입하거나 클라우드 서버를 가동하고 JetBrains Projector를 사용할 수 있습니다.

리소스 요구 사항을 오프로드하려는 경우에도 유용할 수 있습니다. 예를 들어, 저는 i7-9750H와 32GB RAM을 갖춘 매우 강력한 게임용 노트북을 가지고 있습니다. 제가 다루는 대규모 프로젝트에도 이 정도면 충분합니다. 하지만 개발 외에 자원 집약적인 다른 작업을 수행하고 싶다면 다음과 같이 하세요. 유튜브 시청, 게임하고있는 중? 그런 다음 상황이 무너지기 시작합니다.

하지만 저는 32GB RAM을 갖춘 Ryzen 7 5800X 서버를 가지고 있습니다. 그래서 그 위에 JetBrains Projector를 설치했습니다. 이제 리소스 관리에 대한 걱정 없이 새 Chrome 창을 열고 노트북에서 연결할 수 있습니다. 또한 서버는 내 노트북보다 훨씬 빠르게 구축되므로 윈윈(win-win) 상황입니다.

프로젝터 사용은 어떤가요?

JetBrains Projector는 Linux 시스템에서 호스팅되도록 만들어졌습니다. 그렇다고 해서 macOS나 WSL을 사용하는 Windows에서 실행할 수 없다는 의미는 아니지만 이로 인해 몇 가지 이상한 문제가 발생할 수 있습니다.

설정하려면 다음 페이지로 이동하기만 하면 됩니다. 프로젝터 설치 프로그램 GitHub 저장소 거기에 있는 지침을 따르세요. 종속성을 설치하고 IDE를 설정하는 과정을 안내합니다. 필요한 경우 몇 가지 WSL 문제 해결 단계도 있습니다.

그런 다음 올바른 포트와 토큰(설정한 경우)을 사용하여 서버 주소에 연결할 수 있으며 이제 IDE가 부풀어오르는 일 없이 장치에서 실행됩니다.

안드로이드 개발

저는 Android 개발자이므로 IntelliJ IDEA를 사용하여 개발할 수도 있지만 Android Studio가 더 잘 작동하는 경향이 있습니다. JetBrains Projector는 타사 IDE를 지원하지만 이제는 내장된 명령줄 인터페이스를 사용하여 이를 다운로드하고 설치하는 것만큼 간단합니다. 그래도 여전히 매우 간단합니다.

JetBrains Projector와 함께 Android Studio를 사용하려면 적절한 위치에 Android Studio를 다운로드하여 추출하기만 하면 됩니다. 그런 다음 경로를 지정하여 명령줄을 통해 프로젝터에 수동으로 추가할 수 있습니다.

Android 개발 및 프로젝터에는 앱 실행이라는 또 다른 문제도 있습니다. 추가 항목 없이 앱을 코딩하고 Projector에서 미리보기를 볼 수 있지만 실제로 앱을 실행하고 디버그하기 위해 에뮬레이터를 사용하거나 실제 장치에 연결할 수는 없습니다. 아니면 할 수 있나요?

ADB가 인터넷을 통해 원격 서버에 연결할 수 있기 때문에 Google이 이런 종류의 시나리오가 발생할 것으로 예상한 것과 거의 같습니다. 필요한 것은 클라이언트에서 프로젝터 서버로의 SSH 터널뿐입니다. ADB를 관리하지 않고 포트 5038을 사용하도록 프로젝터에서 Android Studio를 설정했습니다. 그런 다음 일종의 SSH 클라이언트(OpenSSH, plink 등)를 사용하여 포트 5037에서 로컬로 실행되는 ADB 서버를 포트 5038의 서버로 전달하는 터널을 만듭니다. 쉬운!

적절한 Android 개발을 위해 필요한 것은 SSH 터널뿐입니다.

Android Studio 및 SSH 터널링을 작동시키는 방법에 대한 자세한 내용을 보려면 다음을 확인하세요. GitHub 문서 Joaquim Verges의 작품입니다.

Android Studio 및 기타 타사 JetBrains 기반 IDE에 대한 참고 사항: 프로젝터 화면에서는 업데이트할 수 없습니다. 서버에 직접 원격으로 접속하여 업데이트해야 합니다. 수행하기 전에 해당 Projector 인스턴스가 중지되었는지 확인하십시오.

안드로이드 안드로이드 개발

JetBrains Projector는 브라우저에서 실행되고 Android 휴대폰과 같은 장치에서 연결할 수 있기 때문에 완전히 임의의 예로서 뭔가를 시도해보고 싶었습니다.

Android 11에는 다음 기능이 도입되었습니다. 무선 ADB 활성화 장치에서 직접. 일부 제조업체에서는 그 전에 설정을 공개했지만 Android 11 이상을 사용하는 모든 Google 인증 기기에서는 이 설정을 사용할 수 없습니다. 무선 디버깅은 컴퓨터에서 사용하도록 되어 있지만 반드시 그럴 필요는 없습니다.

다음과 같은 앱 시즈쿠 Android 11에서는 컴퓨터 사용을 고려하지 않고도 기기에서 ADB를 사용하여 기기에 연결할 수 있음을 보여줍니다. Shizuku는 이를 사용하여 앱이 향상된 작업을 실행할 수 있도록 하지만 이것이 어디로 가는지 알 수 있을 것이라고 생각합니다.

그래서 앱을 만들었어요! 공개하게 될지는 모르겠지만 매우 간단합니다. ARM64 ADB 바이너리와 함께 SSH 라이브러리가 있습니다. ADB 바이너리를 사용하여 사용 중인 장치에 연결한 다음 SSH 라이브러리를 사용하여 장치에서 프로젝터 서버로의 전달 터널을 만듭니다. 마지막으로 이를 사용하여 프로젝터 URL을 저장하고 실행합니다.

Bam, Android용으로 개발 중...Android에서! 집에 없을 때 언제든지 Android 개발 작업을 하고 싶을 때 언제든지 꺼내서 사용할 수 있습니다. 삼성 갤럭시 탭 S7. 저는 Bluetooth 키보드와 Bluetooth 마우스를 가지고 있습니다(참고: Projector를 사용하는 경우 정말 마우스나 트랙패드를 사용하고 싶습니다. 터치 입력으로는 잘 작동하지 않습니다. 따라서 장치를 전환할 필요도 없고 훨씬 더 무거운 노트북을 들고 다니지 않고도 개발 및 디버그가 가능합니다.

문제

JetBrains Projector는 아직 초기 개발 단계이므로 완벽하지 않습니다.

  1. 때로는 스크롤이나 끌기와 같은 작업에 응답할 때 약간의 지연이 발생하고 컨트롤이 불안정해질 수 있습니다.
  2. 무작위로 라이브러리 코드를 볼 때(디컴파일되거나 소스 보기에서) 글꼴 두께가 너무 무거워지고 모든 것이 지연됩니다. 하지만 이 글을 쓰는 시점에서는 이 문제가 해결되었을 수도 있습니다.
  3. 일부 플러그인은 제대로 작동하지 않습니다. 이것은 직접적인 비디오 스트림이 아니기 때문에 내장된 브라우저와 같은 플러그인은 아무 것도 표시하지 않습니다.
  4. X 서버 지원은 없으며 아마도 없을 것입니다. 이로 인해 데스크톱 및 브라우저 앱 개발이 까다로워질 수 있지만, 정말로 필요한 경우 언제든지 X 전달이 포함된 SSH 터널과 로컬 X 서버를 사용할 수 있습니다.
  5. 때로는 인터페이스가 잠기고 다시 작동하려면 페이지를 새로 고치거나 서버 서비스를 다시 시작해야 할 때도 있습니다.

그리고 더 많은 것이 있습니다.

하지만 그게 모두 거래를 방해하는 것입니까? 확실히 나에게는 그렇지 않습니다. 저는 약간 덜 세련된 경험으로도 완벽하게 괜찮습니다(결국 저는 Android Studio Canary를 사용합니다). 특히 만약 그것이라면 모든 컴파일 작업을 다른 컴퓨터로 오프로드할 수 있고 심지어 내 태블릿용으로 개발할 수도 있다는 의미입니다. 태블릿.

JetBrains 프로젝터를 통해 Samsung Galaxy Tab S7에서 실행되는 Android Studio

문제가 있음에도 불구하고 저는 여전히 JetBrains Projector를 정말 좋아합니다. 모바일에서의 개발이 가능해지고, 리소스 로드가 로컬 컴퓨터에서 원격 컴퓨터로 이동되며, 정말 멋집니다.

Visual Studio와 같은 다른 IDE를 사용하면 컴파일을 원격 컴퓨터로 오프로드할 수 있지만 여전히 IDE를 설치하고 로컬에서 실행해야 한다는 것을 알고 있습니다.

개인적으로 JetBrains Projector가 앞으로 어떻게 발전할지 정말 기대됩니다. 현재로서는 이미 꽤 놀라운 수준이기 때문입니다. 위에서 설명한 문제 중 일부를 해결할 수 있기를 바랍니다. 하지만 지금도 Projector는 프로덕션 준비 프로젝트에 안전하게 사용할 수 있습니다.

JetBrains Projector를 직접 사용해 보고 싶다면, 링크는 또 여기 있어 설치 프로그램 및 초기 설정 가이드를 참조하세요. Projector에서 Android Studio를 설정하고 싶다면, 여기 그 링크가 또 있어요, 또한.