ADB 명령을 위한 GUI 작업 도구를 직접 만들어 보십시오.

거치다


"OculusQuest에서 내 어플리케이션이 Unity부터 설치까지 다 된다고 하던데, 마운트 해제가 안 된다고...정말...? 명령 프롬프트에서 ADB 명령 마운트 해제...? 에? 정말? 에? 무슨 소리야...?"
그래서 했어요.
https://github.com/divide-by-zero/ADBB/
※ 맞습니다. 윈도우즈 전용

할 수 있는 일

  • APK 파일 설치(파일 대화 상자에서 패키지 목록 섹션으로 선택 또는 드래그)
  • 설치된 애플리케이션의 패키지 이름 요약 표시 (필터)
  • 지정된 패키지를 통해 어플리케이션 제거
  • 지정된 패키지를 통해 애플리케이션 강제 시작/중지
  • 터미널 IP 주소 연결, 차단
  • 터미널 강제 종료
  • 터미널 강제 재부팅

  • 핑계


    혼자 쓰는 거니까 UI도 그런 느낌이고 소스 코드도 알아차리지만 한동안 사용하기 편해서 공개하기로 했어요.
    그리고 대략적인 안드로이드 단말기도 사용할 수 있을 것 같지만 기본적으로 OculusQuest가 사용합니다.
    내부적으로adb shell를 통해 정보를 얻었지만 그곳에서 사용grepsed, ADB 셸에서 사용할 수 있는 명령은 모든 안드로이드 단말기에서 공통적이라고 생각하지 않기 때문에 회색 구역이 될 수밖에 없는 것 같다.

    시작 방법


    git에서clone 및 구축 또는releasehttps://github.com/divide-by-zero/ADBB/releases/에서 zip 다운로드 가능
    또는 압축 해제 exe(자체 압축 해제 형식), 시작 폴더의 ADBB.EXE.
    처음 시작할 때 adb.exe 경로 설정이 열립니다. (설치될 수 있음) adb.exe 을 지정하십시오.
    일반적으로 AndroidSDK가 설치된 폴더\android-sdk\platform-tools에 있습니다.

    구조


    위에 적힌'할 수 있는 일'모두adb(Android Debug Bridge)는 할 수 있다.
    설정된adb.이것은 단지 exe 경로를 사용하여 명령을 대체하는 것에 불과하다.
    그래서adb.exe가 할 수 있는 일은 모두 할 수 있고, 반대로adb.exe가 할 수 없는 일은 할 수 없다.

    소스 구성


    매우 난잡하다. Value Object로서 연결을 담당하는 안드로이드 단말기Device류, 설치된 응용 프로그램PackageData류.
    UI 섹션은 MainForm, Adb 명령 처리 클래스는 AdbCommand 클래스이지만 간단합니다.

    조금 노력했어요.


    일반적으로 클래스에서 ADB 명령을 실행하면 UI가 굳어집니다.블록 처리니까.
    따라서 내부적으로 ProcessTask.Run 비동기화 (스레드 풀 실행) 를 사용합니다.
    그냥 그랬으면 좋겠어요. TaskCompletionSourceadb install [パッケージ名] 명령이 장치가 연결되지 않은 상태에서 실행되면
    c:\>adb install test.apk
    error: no devices/emulators found
    adb: error: failed to get feature set: no devices/emulators found
    - waiting for device -
    
    이렇게 adb uninstall [パッケージ名] 나와서 장치 연결을 기다리세요.
    명령줄에서 이 상태에 있으면 - waiting for device - 를 누르는 등 멈추지만 프로세스 클래스를 사용할 때 외부에서 호출해야 한다Ctrl+C.
    이번처럼 외부에서 임무화된 처리를 멈추다 = Kill() 등장.
    따라서 CancellationToken 버전을 교부할 수 있는 비동기 프로세스 실행을 실현했다(대략)
    이외에adb의 명령(및adb셸의 명령)에서 표준 출력 정보를 얻기 위해 매우 소박하게 노력합니다.눈물나게 하다.

    더 하고 싶은 일

  • "Device Update"를 누르지 않아도 자동으로 연결/차단되는 Android 장치가 감지됩니다.지금은 심혈을 기울여 수동으로 구동한다.
  • 패키지 이름에서 응용 프로그램 이름과 아이콘 이미지 등을 가져와 화면에 표시하고자 합니다.(adb 명령을 통해 얻을 수 있는 방법을 찾을 수 없습니다...)
  • 방법을 아는 사람이 있으면 알려주세요(프롤릭도 환영합니다)
    그럼 안녕히 계세요.

    좋은 웹페이지 즐겨찾기