Android 에뮬레이터에 텍스트 붙여 넣기
(데스크톱의) 클립 보드 컨텐츠를 EditView
Android 에뮬레이터에 복사 / 붙여 넣기하는 쉬운 방법이 있습니까?
(개발 / 테스트를 용이하게하기 위해)
v25.3.x의 Android 에뮬레이터 및 x86 Google API 에뮬레이터 시스템 이미지 API 레벨 19 (Android 4.4-Kitkat) 이상을 사용하면 마우스 또는 키보드를 사용하여 데스크톱에서 간단히 복사하여 붙여 넣을 수 있습니다.
이 기능은 Android Studio 2.3 에서 발표되었습니다.
터미널에서 입력 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_profile
zsh 사용자 인 ~/.zshrc
경우) 별칭을 모든 곳에서 사용할 수 있습니다. 또는 bash 사용자 인 경우 (MacOS의 기본값) 터미널에서 다음 명령을 실행하여 설정할 수 있습니다.
echo "alias ap='pbpaste | xargs adb shell input text'" >> ~/.bash_profile && source ~/.bash_profile
Visual Studio Emulator를 사용하는 방법은 다음과 같습니다.
먼저 가상 SD 카드를 마운드하십시오.
- 에뮬레이터에 대한 추가 도구 (작은 >> 아이콘)를 사용하고 SD 카드 탭으로 이동하십시오.
- 컴퓨터에서 가상 SD 카드와 동기화 할 폴더를 선택하십시오.
- SD 카드에서 당기면 선택한 폴더에 폴더 구조가 생성됩니다.
텍스트를 전송할 텍스트 파일을 설정하십시오.
- Google Play 스토어를 사용하여 원하는 텍스트 편집기를 설치하십시오.
- 이전에 만든 가상 sd 카드 디렉토리의 다운로드 디렉토리에 컴퓨터에 텍스트가 포함 된 텍스트 파일을 작성하십시오.
클립 보드에 텍스트를 보내야 할 때마다.
- 위에서 만든 텍스트 파일을 편집하십시오.
- 추가 도구 (작은 >> 아이콘)로 이동하여 SD 카드로 푸시를 선택하십시오.
- 설치 한 텍스트 편집기에서 텍스트 파일을 열고 텍스트를 클립 보드에 복사하십시오. (대화 상자가 열릴 때 마우스를 누른 상태에서 모두 선택을 선택한 다음 복사 아이콘을 클릭하십시오)
일단 설정하면 반복하기가 쉽습니다. 다른 방법을 사용하여 텍스트 파일을 에뮬레이터로 푸시해야 할 수도 있습니다.
(댓글 토론을 답변으로 변환)
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
'Programing' 카테고리의 다른 글
JavaScript에서 날짜를 다른 시간대로 변환 (0) | 2020.03.22 |
---|---|
변수 === 정의되지 않은 변수 대 typeof 변수 ===“정의되지 않음” (0) | 2020.03.22 |
SQL Server 텍스트 형식과 varchar 데이터 형식 (0) | 2020.03.22 |
압축을 풀기에는 너무 많은 값이 있습니다. (0) | 2020.03.22 |
jquery.js와 jquery.min.js의 차이점은 무엇입니까? (0) | 2020.03.22 |