박사님께 애완동물 요정을 한꺼번에 드리고 싶어요. 안드로이드 디버그 브릿지(ADB)를 사용하면 좀 편해요.

포켓몬 고 열풍도 얼마 안 남았는데 그늘이 보이죠.
저렴한 스마트폰을 사용하기 때문에 AR 모드가 좋지 않고 포켓몬고 전체 동작이 느린 편이다.특히 박사에게 포켓몬을 보내는 것은 번거로워 포켓몬 상세 화면이 잘 굴러가지 않을 뿐만 아니라 한 마리씩 보낼 수밖에 없어 스트레스가 컸다.이에 따라 ADB와 베이쉬를 연습하면서 포켓몬이 박사에게 전송되는 속도를 조금 자동화해 부담을 절반으로 줄였다.
갑작스러운 기상이기 때문에 더욱 간단한 반복 작업 자동화 방법도 있다.꼭 알려주세요.
면책: 잘못이 있어도 책임을 지지 않는다.나는 개발 중에 나팔을 잘못 보냈다.또 실수하기 싫은 포켓몬을 컬렉션에 추가하면 오발을 막을 수 있다.

ADB 가져오기

adbコマンド Windows 등으로 g를 진행하세요.이곳은 난이도가 가장 높다.

실행

  • source pokemon-go.sh코드는 잠시 후에요.
  • 스마트폰과 PC를 USB로 연결해 USB 디버깅을 시작한다.
  • 포켓몬 시작 Go 포켓몬 보기
  • 번호 순서대로 보내고 싶은 포켓몬(소라다)을 맨 위에
  • send-pokemons right 3이번에는 맨 위 오른쪽부터 포켓몬 3개를 박사님께 차례로 드립니다.
  • 대기 중

    박사님께 순서대로 보내드리겠습니다.날짜 아래 공백은 뭘까요?
  • 완성!
  • 코드


    수치나 자신의 실제 기기 전용이다.
    2016년 7월 31일'박사님께 보내기'주변의 UI 변경에 따른 대응 조치다.
    강제로 천천히 굴러다니는 구린내가 없어서 발송 시간이 짧아졌다.
    pokemon-go-after-2016_07_31.sh
    function send-pokemons () {
      echo "Begin";
      for ((i=1; i<=$2; i++)); do
        echo $i
        send-pokemon $1
      done
      echo "Finished";
    }
    
    
    function send-pokemon () {
      case "$1" in
        "left")   x=130;;
        "center") x=360;;
        "right")  x=590;;
        *) echo "unknown position"
           return;;
      esac
    
      # ポケモンリストで、一番上の指定した位置のポケモンをタップ
      adb shell input tap $x 360
      sleep 1
    
      # フローティングアクションボタンをタップ
      adb shell input tap 620 1180
    
      # 「博士に送る」ボタンを押し確認画面で「はい」を押す
      adb shell input tap 620 1040
      adb shell input tap 360 670
      sleep 3
    }
    
    pokemon-go-before-2016_07_30.sh
    function send-pokemons () {
      echo "Begin";
      for ((i=1; i<=$2; i++)); do
        echo $i
        send-pokemon $1
      done
      echo "Finished";
    }
    
    
    function send-pokemon () {
      case "$1" in
        "left")   x=130;;
        "center") x=360;;
        "right")  x=590;;
        *) echo "unknown position"
           return;;
      esac
    
      # ポケモンリストで、一番上の指定した位置のポケモンをタップ
      adb shell input tap $x 360
      sleep 1
    
      # 「博士に送る」ボタンが表示されるまでスクロール。
      #  私の場合時間をかけてゆっくりスクロールしないとアプリに認識されませんでした。
      adb shell input swipe 700 1200 700 250 4300
      sleep 1
    
      # 「博士に送る」ボタンを押し確認画面で「はい」を押す
      adb shell input tap 360 1050
      adb shell input tap 360 670
      sleep 3
    }
    

    해설


    좌표와 대기 시간을 자신의 스마트폰으로 조정해야 한다.
    각 값을 조사할 때開発者向けオプション를 열면ポインタの位置 편리하다.
    화면 사이즈adb shell dumpsys window | grep "mUnrestrictedScreen"는 빼낼 수 있어요.send-pokemons (position) (count)지정한 (count) 횟수send-pokemon (position)만 실행한다는 것은 특별히 설명한 적이 없다고 생각합니다.send-pokemon (position)맨 위에 있는 포켓몬을 박사님께 드립니다.adb shell input tap X Y adb shell input swipe X1 Y1 X2 Y2 DURATIONadb의 명령입니다.헤드셋과 교환을 재현하다.sleep NN초 동안 bash 명령을 정지합니다.스마트폰이 바삭바삭하면 필요없을지도 몰라요.

    ToDo

  • 포켓몬 동시 발송 가능
  • 이하는 캡처할 수 있기 때문에 이미지를 식별하여 더욱 간단하게 진행하고자 합니다.
  • adb shell screencap -p | sed 's/\r$//' > XXX.png
  • 좋은 웹페이지 즐겨찾기