Windows에서adb 명령 사용 시 고려 사항

4100 단어 Androidadb
Windows에서 adb 명령을 사용하여 멀티바이트 문자를 포함하는 파일을 만들 수 없습니다.Mac와 Linux 등 Windows 이외의 PC가 정상적으로 접근할 수 없는 것 외에 안드로이드 프로그램도 파일을 정상적으로 처리할 수 없다.

재현 순서


다음은 이 단계입니다.
adb shell mkdir /sdcard/Download/test
adb shell touch /sdcard/Download/test/こんにちは.txt
adb shell ls /sdcard/Download/test
작업 장소는 다운로드 폴더로 정했다.나중에 리소스 매니저와 안드로이드 File Transfer로 쉽게 확인할 수 있기 때문이다.
멀티바이트 문자를 포함하지 않는 폴더에 반드시 멀티바이트 문자를 포함하는 파일을 만드십시오.생성된 파일은 삭제할 수 없습니다. 최악의 경우 폴더를 삭제해서 피할 수 있습니다.
ls 명령으로 보면 정확하게 제작된 것 같아요.
Cygwin에서 adb 명령을 사용하여 파일 이름을 확인합니다.

제대로 표시할 수 없습니다.
Windows 명령을 표시하는 CP932, 즉 ShiftJIS는 가져오기 및 내보내기에 사용됩니다.한편, Android와 Cygwin의 입력과 출력은 UTF-8을 사용합니다.아무튼 Shift입니다.JIS 문자 코드로 파일을 만든 상태입니다.
이 상태에서 자원 관리자를 볼게요.

예, 리소스 매니저에서 파일을 찾을 수 없습니다.Windows만 해도 이상한 상태가 됐어요.
그럼 이 안드로이드 터미널을 맥에 연결해서 상태를 확인해 보세요.
우선adb 명령을 해 보세요.

파일 이름을 제대로 가져올 수 없습니다.
안드로이드 File Transfer에서 보겠습니다.

Android File Transfer에서 테스트 폴더 내의 파일을 감지할 수 없습니다.
안드로이드 애플리케이션의 파일 관리자로 확인해 보겠습니다.ES File Explore 파일 관리자를 사용합니다.

코드가 엉망이 되었지만 검출되었다.그럼 이거 지워요.

파일을 선택하고 삭제 단추를 누르십시오:

확인 대화 상자가 표시됩니다.왠지 잘 되는 것 같아.이렇게 OK를 누르세요.

사라졌어.잘 됐다!
신중을 기하기 위해서 나는 다시 읽어 보겠다.

부활한 것 같아!!!
정확히 말하면 삭제에 실패했는데도'성공'이라는 메시지를 보내 디스플레이에서 삭제된 것처럼 보였다.

복구 방법


인코딩할 파일에는 몇 가지 삭제 방법이 있다.
하나는 지령선에서 어댑터를 사용하여 삭제하는 방법이다.

그러나 이 방법은 확실하지 않아 실패할 수도 있다.성공/실패는 파일 이름에 따라 달라질 수 있습니다.
다음은 모든 부모 폴더를 삭제하는 방법입니다.

이렇게 삭제할 수 있습니다.이것은 확실하지만 삭제할 수 있는 폴더 아래에 있어야 하는 제한이 있습니다.
마지막으로 명령 프롬프트에서 제거하는 방법입니다.

파일 이름을 지정하고 삭제할 수 있습니다.그러나 명령 프롬프트에서 UTF-8의 멀티바이트 문자는 오히려 부호화될 수 있으므로 대상 파일이 멀티바이트 문자가 포함된 경로로 이동하면 이 방법을 사용할 수 없습니다.Mac/Linux/Android에 멀티바이트 문자가 포함되지 않은 경로로 이동하십시오.

총결산

  • Windows에서adb로 멀티바이트 문자를 만들지 않는 파일
  • Android에서 멀티바이트 문자를 만들지 않는 파일
  • 최악의 안드로이드 터미널을 출하 상태로 초기화
  • 좋은 웹페이지 즐겨찾기