Android 터미널에서 개발 PC로 포트 전송
9067 단어 Android
어제는 @kazuhiro1128선생님의 Next.js+FirebaseAuth로 로그인 시도입니다.
오늘은 안드로이드 단말기의 실제 디버깅에 유용한 명령과 사용례를 소개하고 싶습니다.
adb reverse 명령
adb reverse
명령은 터미널에서 PC로 포트를 전송하는 명령입니다.반면 PC에서 터미널 포트로 전송
adb forward
명령Unity의 Profiler를 연결하기 위해 사용하기 때문에 유명하죠.
나는 이 명령을
사용 예
서버 준비
우선 컴퓨터에서 실행될 서버 응용 프로그램을 준비하세요.
언어는 무엇이든지 가능하지만 간단하게 기술할 수 있기 때문에 고를 선택했다.
API 및 파일 배포 기능이 있는 간단한 서버 응용 프로그램으로 로컬 호스트의 포트
8080
번호를 기다리고 고정 문자열을 반환할 수 있습니다.설명을 간소화하기 위해 오류 처리를 생략했다.
package main
import "net/http"
func main() {
http.HandleFunc("/api/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("ok"))
})
http.Handle("/resource/", http.StripPrefix("/resource/", http.FileServer(http.Dir("./resource/"))))
http.ListenAndServe("127.0.0.1:8080", nil)
}
디렉터리 설정은 다음과 같습니다. 스크립트 이외에 클라이언트에게 전달할 이미지 파일도 설정되어 있습니다..
├── main.go
└── resource
└── red.png
클라이언트 준비
클라이언트는 Unity를 사용하고, 우리도 동작에 필요한 최소한의 코드를 준비했다.
두 개의 버튼과 텍스트, 원본 이미지로 구성된 간단한 구성으로 통신 결과를 볼 수 있습니다.
접속 주소는
127.0.0.1
, 포트는 8080
번호로 지정됩니다.using System.Collections;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
public class MainBehaviour : MonoBehaviour
{
[SerializeField] private Button _callApiButton;
[SerializeField] private Button _getResourceButton;
[SerializeField] private Text _text;
[SerializeField] private RawImage _image;
private void Awake() {
_callApiButton.onClick.AddListener(() => StartCoroutine(CallApi()));
_getResourceButton.onClick.AddListener(() => StartCoroutine(GetResource()));
}
public IEnumerator CallApi() {
using (var request = UnityWebRequest.Get("http://127.0.0.1:8080/api/")) {
yield return request.SendWebRequest();
_text.text = request.downloadHandler.text;
}
}
public IEnumerator GetResource() {
using (var request = UnityWebRequestTexture.GetTexture("http://127.0.0.1:8080/resource/red.png")) {
yield return request.SendWebRequest();
_image.texture = DownloadHandlerTexture.GetContent(request);
}
}
}
연결 준비
터미널용 USB 케이블을 PC에 연결하고 개발자 옵션과 USB 디버깅을 ON으로 설정합니다.
adb devices
명령으로 터미널이 부착된 것을 확인한 후 adb reverse
명령을 실행해 보십시오.로컬 및 원격 모두
tcp
, 포트 지정 8080
입니다.$ adb reverse tcp:8080 tcp:8080
명령의 --list
옵션을 통해 전송 설정이 유효한지 확인합니다.$ adb reverse --list
(reverse) tcp:8080 tcp:8080
여기까지 확인한 후 컴퓨터에서 서버를 시작하고 단말기에 구축된 클라이언트를 이동합니다.결과
이것은 실제 기계에서 동작하는 것을 포착한 것이다.
각 버튼을 누르면 통신이 실행되고 결과는 Text 및 RawImage에 반영됩니다.
총결산
다음은
adb reverse
명령에 대한 설명입니다.비록 용도는 유한하지만 로컬 컴퓨터와 단말기 사이에서 통신을 완성할 수 있다는 점은 매우 편리하다.
내일은 @kojima_akira 씨의 보도입니다.
Reference
이 문제에 관하여(Android 터미널에서 개발 PC로 포트 전송), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Gaku_Ishii/items/d4e4cab34893e76b1674텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)