Programing

Android 에뮬레이터에 텍스트 붙여 넣기

lottogame 2020. 3. 22. 10:36
반응형

Android 에뮬레이터에 텍스트 붙여 넣기


(데스크톱의) 클립 보드 컨텐츠를 EditViewAndroid 에뮬레이터에 복사 / 붙여 넣기하는 쉬운 방법이 있습니까?

(개발 / 테스트를 용이하게하기 위해)


v25.3.x의 Android 에뮬레이터 및 x86 Google API 에뮬레이터 시스템 이미지 API 레벨 19 (Android 4.4-Kitkat) 이상을 사용하면 마우스 또는 키보드를 사용하여 데스크톱에서 간단히 복사하여 붙여 넣을 수 있습니다.

이 기능은 Android Studio 2.3 에서 발표되었습니다.

Android 에뮬레이터로 복사하여 붙여 넣기


터미널에서 입력 adb shell input text 'my string here. With some characters escaped like \$ that'

텍스트에 공백을 포함시키는 대체 방법 %s은 각 space문자 를 대체하는 것 입니다 .


일반적으로 텔넷을 통해 SMS 메시지로 복사 할 텍스트를 보낸 다음 SMS 메시지에서 텍스트를 복사합니다. 방법은 다음과 같습니다.

텔넷을 통해 연결 :

  • 통사론: telnet localhost <port>
  • 예: telnet localhost 5554

(5554가 기본 포트입니다. 에뮬레이터의 제목 표시 줄에 사용중인 포트가 표시되므로 다른 포트인지 확인할 수 있습니다).

문자 보내:

  • 통사론: sms send <senders phone number> <message>
  • 예: sms send 1231231234 This is the message you want to send

(발신자 전화 번호 만 만들 수 있습니다)

이것은 메시지가 자동으로 브라우저에 복사 / 붙여 넣기하지 않고 클릭 할 수있는 하이퍼 링크로 자동 변환되므로 링크에 매우 효과적입니다.

에뮬레이터가 메시지를 수신하면 원하는 위치에 복사하여 붙여 넣을 수 있습니다.


이것이 유용한 지 확실하지 않지만 모바일 브라우저에서 데스크탑 브라우저의 긴 URL을 열어야하는 경우 해당 URL을 사용하여 SMS를 보내고 메시지 앱에서 직접 열 수 있습니다.

여기에 이미지 설명을 입력하십시오


어디에서나 복사하고, 에뮬레이터 전화의 편집 텍스트를 클릭 한 상태에서 텍스트를 놓으십시오 (실제 전화에 붙여 넣기 위해 길게 누르는 것과 같은 종류). PASTE 옵션이 나타난 다음 PASTE입니다.


Mac에서 Android Studio를 사용하는 경우 adb실행 파일 의 전체 경로를 제공해야 할 수 있습니다 . 이 경로를 찾으려면 다음을여십시오.

Android Studio > Tools > Android > SDK Manager

SDK 위치에 경로를 복사하십시오. adb실행은 내 것 platform-tools디렉토리. 나에게 이것은 경로였다.

~/Library/Android/sdk/platform-tools/adb

이제이 명령을 실행할 수 있습니다 :

~/Library/Android/sdk/platform-tools/adb shell input text 'thetextyouwanttopaste'

약간 까다로울 수 있지만 에뮬레이터 컨트롤을 사용하여 에뮬레이터에 SMS를 보낼 수 있습니다. 그런 다음 더 긴 텍스트를 다시 입력 할 필요가 없으며 에뮬레이터에 복사하여 붙여 넣을 수 있습니다.

다른 방법 : "telnet localhost PORT"를 통해 에뮬레이터에 연결 한 다음 하드웨어 이벤트 전송을 사용하여 텍스트 입력 이벤트를 에뮬레이터에 보냅니다 (UTF-8 필요).


Linux에서는 클립 보드에서 직접 텍스트를 붙여 넣습니다.

adb shell input text "'$(xclip -selection c -o)'"

또한이 명령을 사용하여 전역 키보드 단축키를 만드는 것이 매우 유용합니다. Ctrl+Shift+Super+V


해결 방법없이이 작업을 수행 할 수 있습니다. 붙여 넣기 알림이 나타날 때까지 입력 필드에서 비트를 클릭 한 후 붙여 넣기를 클릭하십시오. 그게 다야!


API 레벨> = 24에만 해당

로컬 컴퓨터에서 텍스트를 복사 한 다음이 명령을 실행하십시오.

adb shell input keyevent 279

Android 에뮬레이터 설정에서 Enable Clipboard Sharing옵션이 활성화되어 있는지 확인하십시오


C2DM을 보셨습니까? chrome2phone 및 fox2phone은 링크 및 클립 보드 텍스트를 전송하여 자동으로 전화기에 복사 할 수 있습니다. 또한 adb 쉘을 사용해보십시오. 서비스 (서비스 호출 클립 보드 ...)를 사용할 수있는 서비스 명령 (/ system / bin / service)이 있습니다. 트랜잭션 코드는 getClipboardText, setClipboardText 및 hasClipboardText 각각에 대해 1, 2 및 3입니다.


나는이 문제에 질려서 그것을 처리하기 위해이 별칭을 만들었습니다.

alias ap="pbpaste | xargs adb shell input text"

그런 다음 새 터미널 창을 열 때 "ap"을 입력하면 클립 보드에있는 모든 내용이 에뮬레이터의 선택된 텍스트 필드에 붙여 넣습니다.

설정

이 이름을 프로필에 추가하면 (대부분의 ~/.bash_profilezsh 사용자 인 ~/.zshrc경우) 별칭을 모든 곳에서 사용할 수 있습니다. 또는 bash 사용자 인 경우 (MacOS의 기본값) 터미널에서 다음 명령을 실행하여 설정할 수 있습니다.

echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile

Visual Studio Emulator를 사용하는 방법은 다음과 같습니다.

먼저 가상 SD 카드를 마운드하십시오.

  1. 에뮬레이터에 대한 추가 도구 (작은 >> 아이콘)를 사용하고 SD 카드 탭으로 이동하십시오.
  2. 컴퓨터에서 가상 SD 카드와 동기화 할 폴더를 선택하십시오.
  3. SD 카드에서 당기면 선택한 폴더에 폴더 구조가 생성됩니다.

텍스트를 전송할 텍스트 파일을 설정하십시오.

  1. Google Play 스토어를 사용하여 원하는 텍스트 편집기를 설치하십시오.
  2. 이전에 만든 가상 sd 카드 디렉토리의 다운로드 디렉토리에 컴퓨터에 텍스트가 포함 된 텍스트 파일을 작성하십시오.

클립 보드에 텍스트를 보내야 할 때마다.

  1. 위에서 만든 텍스트 파일을 편집하십시오.
  2. 추가 도구 (작은 >> 아이콘)로 이동하여 SD 카드로 푸시를 선택하십시오.
  3. 설치 한 텍스트 편집기에서 텍스트 파일을 열고 텍스트를 클립 보드에 복사하십시오. (대화 상자가 열릴 때 마우스를 누른 상태에서 모두 선택을 선택한 다음 복사 아이콘을 클릭하십시오)

일단 설정하면 반복하기가 쉽습니다. 다른 방법을 사용하여 텍스트 파일을 에뮬레이터로 푸시해야 할 수도 있습니다.


(댓글 토론을 답변으로 변환)

Windows의 유일한 솔루션 : https://github.com/gcb/AdbPaste

이 문제를 해결하기 위해 몇 시간 안에 작성했습니다. 나는 지금 100 % 리눅스로 돌아 왔으므로, 기고자 또는 관리자로서 자유롭게 참여하십시오!


쓰기 명령 : adb 장치 (현재 연결된 장치가 표시됨) 텍스트를 쓰려는 텍스트 상자를 선택하십시오. 쓰기 명령 : adb 쉘 입력 텍스트 "Yourtext"(이 명령을 실행하려면 하나의 장치 만 연결되어 있어야합니다) 완료!


사용자가 시각적 인터페이스에서 Android 에뮬레이터 또는 연결된 장치로 붙여 넣기를 복사 할 수있는이 Windows 응용 프로그램을 만들었습니다. https://github.com/Florin-Birgu/Android-Copy-Paste

여기에 이미지 설명을 입력하십시오


나는 같은 문제에 대한 해결책을 찾기 위해 여기에 왔고이 문제를 해결하기 위해 Android 응용 프로그램을 작성했습니다. http://www.box.net/shared/6203bn441bfltkimajmk 에서 다운로드 할 수 있습니다 . 기본 설정 메뉴를 통해 URL을 제공하면 웹 응답을 쉽게 변경할 수있는 위치를 가리킬 수 있습니다. 웹 응답의 첫 번째 줄이 에뮬레이터의 클립 보드에 복사됩니다. 자세한 내용은 http://agilesc.barryku.com/?p=255참조하십시오 .


Mac 및 Linux의 경우 aliases_bash 파일에서이 기능을 시도하십시오 (Mac 사용자의 경우 / etc / aliases_bash에 있으며 sudo vim / etc / aliases_bash를 사용해야합니다).

function adbtx {
  userinput="$(sed 's/ /%s/g' <<< $1)"
  adb shell input text "${userinput}";
}
export -f adbtx

그런 다음 명령 행에 다음을 입력하십시오.

adbtx 'Your text to emulator input'

' 에뮬레이터 입력에 텍스트 것은 '에뮬레이터 텍스트 필드에 입력됩니다.

sed의 대체 문자열로 Eliot에게 Kudos.

참고 URL : https://stackoverflow.com/questions/3391160/paste-text-on-android-emulator

반응형