рдПрдбреАрдмреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЯреЗрдХреНрд╕реНрдЯ рдХреЙрдкреА рдХрд░реЗрдВ


рдирдорд╕реНрддреЗ! рдХреНрдпрд╛ рдЖрдкрдиреЗ рдкрд╛рд╕ рдкрдбрд╝реЗ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреБрдЫ рдЯреЗрдХреНрд╕реНрдЯ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ? рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдЬрд┐рддрдирд╛ рд╕рд░рд▓ рд╣реЛ - рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЙрдмрд╛рдК рд╣реИ рдФрд░ рд╣рдореЗрд╢рд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред


рдФрд░ рд╣реЙрдЯрдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛: рдЗрд╕реЗ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдФрд░ рдкреАрд╕реА рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдкрд╛рда рдЖрдкрдХреЗ рдлреЛрди / рдЯреИрдмрд▓реЗрдЯ рдХреА рд╕реНрдХреНрд░реАрди рдкрд░ рдЯрд╛рдЗрдк рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ - рдпрд╣ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд╣реИ рдирд╛?


рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдо adb рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдХреЙрдкреА рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рдпрджрд┐ рдЖрдк рдПрдХ рдЕрдиреБрднрд╡реА рдПрдбреАрдмреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИрдВ, рдФрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХреА рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ - рдореИрдВ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕ рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред


рдХреНрдпрд╛ рдФрд░ рдХреНрдпреЛрдВ


рд╣рдо рдПрдХ рдЫреЛрдЯреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдВрдЧреЗ рдЬреЛ рдЖрдкрдХреЛ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЬрд▓реНрджреА рд╕реЗ рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ:



рдпрд╣ рдЙрдкрдпреЛрдЧреА рд╣реИ рдЕрдЧрд░:


  • рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдлрд┐рд░ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ рдпрд╛ рдПрдХ рдирдпрд╛ рдЖрдИрдкреА рджрд░реНрдЬ рдХрд░реЗрдВ:

http://example.com:8080/foo 192.168.1.100 

  • рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЗрдирдкреБрдЯ рдЬрд╛рдВрдЪреЗрдВ рдпрд╛ рдореБрд╢реНрдХрд┐рд▓ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ:

 v3rY$ecUrEP@s$w0rD 

  • рдмрд╕ рдПрдХ рд▓рдВрдмреА рд▓рд╛рдЗрди рдбрд╛рд▓рдиреА рдереА:

 Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute: 

  • рдпрд╛ рдкрд░реАрдХреНрд╖рдг рдХреБрдВрдЬреА:

 BUexKeGHiERJ4YYbd2_Tk8XlDMVEurbKjWOWvrY 

рдмреЗрд╢рдХ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рдордп-рд╕рдордп рдкрд░, рдореЗрд░реЗ рдкрд╛рд╕ рдРрд╕реЗ рдорд╛рдорд▓реЗ рдереЗ рдЬрд╣рд╛рдВ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛ред


рдЕрдВрдд рдореЗрдВ, рдЕрдХреНрд╕рд░ рдпрд╣ рдбреЗрдЯрд╛ рдпрд╛ рдПрдкреАрдЖрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рд╣реЛрддрд╛ рдерд╛, рдФрд░ рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ 5 рдорд┐рдирдЯ рднреА рдирд╣реАрдВ рдмрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдиреМрдХрд░реА рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдмрдирд╛ рджрд┐рдпрд╛ред


рдФрд░ рдХреИрд╕реЗ?


рдпрд╣ рдПрдбреАрдмреА (рдПрдВрдбреНрд░реЙрдЗрдб рдбрд┐рдмрдЧ рдмреНрд░рд┐рдЬ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж, рд╕рднреА рдбреЗрд╡рд▓рдкрд░реНрд╕ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреНрдпреВрдП рдЗрд╕рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдПрдВрдбреНрд░реЙрдЗрдб рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рдЕрдВрджрд░ рд▓реЙрдЧ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╛ рд╕реАрдзреЗ, adb logcat рдорд╛рдзреНрдпрдо рд╕реЗред рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ adb рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ macOS рдкрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕рдВрд╕реНрдерд╛рдкрди рдпрд╣рд╛рдБ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред


рд╣рдо adb shell input рдХрдорд╛рдВрдб рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдЗрдирдкреБрдЯ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ tap рдпрд╛ swipe ред


рдпрд╣ рдЖрдкрдХреЛ рдкрд╛рда рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рднреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдпрд╣ рдЗрдирдкреБрдЯ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдореБрджреНрд░рд┐рдд рд╣реЛрдирд╛ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдЕрдм рдзреНрдпрд╛рди рдореЗрдВ рд╣реИ:


 adb shell input text <text> 

рдпрджрд┐ рдЖрдк рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ %s рд╕рд╛рде рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдмрдЪ рдЧрдПред рдирд╣реАрдВ рддреЛ рдХреБрдЫ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред


рдпрд╣ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ adb рдХреЗрд╡рд▓ рд▓реИрдЯрд┐рди рд╡рд░реНрдгрдорд╛рд▓рд╛, рд╕рдВрдЦреНрдпрд╛ рдФрд░ ASCII рдкреНрд▓реЗрдЯ рд╕реЗ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрдирдкреБрдЯ рдХреБрдЫ рд╣рдж рддрдХ рд╣реИ:


  1. Not like рдЬреИрд╕реЗ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛
  2. рд▓рд╛рдЗрди рд░реИрдкрд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рд▓реЗрдХрд┐рди рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, adb shell input keyevent 66 (рдПрдВрдЯрд░) рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдбреАрдмреА рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рд╕реЗ рд▓рд╛рдЗрди рд░реИрдкрд┐рдВрдЧ рдХрд╛ рдХрд╛рд░рдг рдпрд╛ рдпрд╣рд╛рдВ рд╡рд░реНрдгрд┐рдд рд╣реИ )
  3. рд╕рд┐рд░рд┐рд▓рд┐рдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдРрд╕реЗ рдкрд╛рддреНрд░реЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рд╕рдорд╛рдзрд╛рди рд╣реИ , рд╢рд╛рдпрдж рдпрд╣ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЛ рдЬрдХрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдФрд░ рдлрд┐рд░ рдХрд┐рд╕реА рднреА рдкрд╛рда рдХреЛ рдореБрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╕рдЪ рд╣реИ, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЛ рдкрд╣рд▓реЗ рдПрдХ рдХреАрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде .apk рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред


рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдКрдкрд░ рдФрд░ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдлреЙрд░реНрдо рдореЗрдВ, рдПрдбреАрдмреА рдХрдорд╛рдВрдб рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдпрджрд┐ рдХрдИ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


1) рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХрдорд╛рдВрдб рдХреЛ рдмреБрд▓рд╛рдУред -рдПрд╕ -s
рдЖрдк adb devices рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрд╕ рдирдВрдмрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдлрд┐рд░ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдирдВрдмрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:


 $ adb devices List of devices attached 023db62er9dd7d2b device $ adb -s 023db62er9dd7d2b shell input text qwe 

2) usb рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреБрдбрд╝реЗ рдПрдХ рдПрдХрд▓ рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ - рд╡рд┐рдХрд▓реНрдк -d :


 adb -d shell input text qwe 

3) рдПрдХрдорд╛рддреНрд░ рд╕рдХреНрд░рд┐рдп рдПрдореБрд▓реЗрдЯрд░ рдкрд░ рдХрдорд╛рдВрдб рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ - -e рд╡рд┐рдХрд▓реНрдк:


 adb -e shell input text qwe 

рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред


рдпрджрд┐ рдЖрдк рдХрдИ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпреЗ рдорд╛рдорд▓реЗ рдЖрдкрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИрдВ, рддреЛ рддрджрдиреБрд╕рд╛рд░ рдПрдбреАрдмреА рдХрдорд╛рдВрдб рдХреЛ рдареАрдХ рдХрд░реЗрдВред


рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди


рд╣рдо macOS рдХреЗ рд╕рдорд╛рдзрд╛рди рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рднреА рдПрдХ рддрд░реАрдХрд╛ рд╣реИ:


  • рдЬреАрдПрдирдпреВ / рд▓рд┐рдирдХреНрд╕
  • MacOS
  • рд╡рд┐рдВрдбреЛрдЬ

рд▓рд┐рдирдХреНрд╕ рд╕рдорд╛рдзрд╛рди

рдПрдХ рд╕рдордп рдореЗрдВ, KODE ( Dima Suzdalev рдФрд░ Dima Gaiduk ) рдХреЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдПрдХ рд╢рд╛рдирджрд╛рд░ рд▓рд┐рдирдХреНрд╕ рд╕рдорд╛рдзрд╛рди рдмрдирд╛рдпрд╛ рдФрд░ рдЗрд╕реЗ рдореЗрд░реЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ред


рдпрд╣ X11 рдмрдлрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡реЗрд▓реИрдВрдб рд╣реИ , рддреЛ рдиреАрдЪреЗ рдкрдврд╝реЗрдВ) - рдЖрдк рд╢рд░реНрдд рдХреЗ рд▓рд┐рдП рдкрд╛рда рдХрд╛ рдЪрдпрди рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╣реЙрдЯрдХреА рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред


рдРрд╕рд╛ рд╣реЙрдЯрдХреА рдЬреЛрдбрд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИ:


1) рдПрдХреНрд▓рд┐рдкреНрд╕ рд▓рдЧрд╛рдПрдВ


2) рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓ рдЬреЛрдбрд╝реЗрдВ


 #!/bin/bash adb shell input text `xclip -o` 

3) рдХреАрдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрде рд▓рд┐рдЦреЗрдВ


рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ рдФрд░ рдмрд╣реБрдд рд╕рдореНрдорд╛рдиред


рдорд╣рддреНрд╡рдкреВрд░реНрдг: рдЙрдкрд░реЛрдХреНрдд рд╕рдорд╛рдзрд╛рди X11 (Xorg) рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд╡рд╛рдпрд▓реИрдВрдб рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рд╡рд╛рдпрд▓реИрдВрдб рдореЗрдВ рдмрдлрд░ рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, рдореЗрд░реА рдЦреЛрдЬреЛрдВ рд╕реЗ рджреЗрдЦрддреЗ рд╣реБрдП рдЕрднреА рддрдХ рдРрд╕реА рдХреЛрдИ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╕рд╣реА рдирд╣реАрдВ рддреЛ рд╕рд╣реАред


рдпрджрд┐ рдЖрдкрдХреЛ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрд┐рд╕ рддрд░рд╣ рдХрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдХреЗ рдкрд╛рд╕ X11 рд╣реИ рдФрд░ рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред


MacOS рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдзрд╛рди

MacOS рд▓рд╛рдЗрдирдХреНрд╕ рдХреЗ рд▓рд┐рдП, рд╕рдорд╛рдзрд╛рди рдлрд┐рдЯ рдирд╣реАрдВ рдерд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдПрдХ рд╕рдорд╛рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ adb shell input text <text> рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдмрдирд╛ рджреЗрдЧрд╛ред


рдореБрдЭреЗ рддреБрд░рдВрдд рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП - рд╕реЗрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдореИрдВрдиреЗ рдПрдХ рдЯреАрдо рдореЗрдВ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдереЛрдбрд╝рд╛ рдкреВрд░рдХ рдХрд┐рдпрд╛, рдЬреЛ рд╡рд┐рд╢реЗрд╖ рдкрд╛рддреНрд░реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рднрд╛рдЧрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓рд┐рдкрд┐ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕рдордЭреЗрдВ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛!


рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:


 source ~/.bash_profile adb shell input text $(pbpaste | sed -e 's/[_<>|&$;()\"]/\\&/g' -e 's/ /\%s/g' -e 's/!+/!/g') 

( source ~/.bash_profile рдЬреЛрдбрд╝рд╛ source ~/.bash_profile рд╣реИ рдЕрдЧрд░ adb рдирд┐рдпрдорд┐рдд рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди Automator рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ (рдЙрд╕ рдкрд░ рдмрд╛рдж рдореЗрдВ) adb рдХреЛ рдорд╛рдиреНрдпрддрд╛ рдирд╣реАрдВ рджреА рдЬрд╛рддреА рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ adb рдХреЗ рд▓рд┐рдП рд░рд╛рд╕реНрддрд╛ рдирд┐рдХрд╛рд▓рдирд╛ рд╣реЛрдЧрд╛ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ~/.bash_profile рдореЗрдВ рдкрдВрдЬреАрдХреГрддред



рдПрдХ рдирд┐рдпрдорд┐рдд adb shell input text <text> рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди


  1. рдкрд╛рда рдХрд╛ рд╕реНрд░реЛрдд pbpaste - рдЕрд░реНрдерд╛рдд, pbpaste рдХреНрд▓рд┐рдкрдмреЛрд░реНрдбред
  2. sed рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рддрд╛ рд╣реИред
  3. рдЕрдХреНрд╖рд░ _<>&$;()\" рдмрдЪ рдЧрдП рд╣реИрдВ: - & -> \&
  4. рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдг рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: ` -> % s`
  5. рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдЪрд┐рд╣реНрди рдХреЗ рд╕рд╛рде, рд╕рдм рдХреБрдЫ рдЬрдЯрд┐рд▓ рд╣реИ - рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░реЗрдЧрд╛ ! рдкрд░ ! рдЯреАрдо рдХреЛ рдЧрд┐рд░рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдпрд╣ рд╢рд╛рдВрдд рд╣реЛрдЧрд╛ред

рд╡рд┐рдВрдбреЛрдЬ рд╕рдорд╛рдзрд╛рди

рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ ( рдпрд╛ рдирд╣реАрдВ ) рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рдореИрдВрдиреЗ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИред рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рдЬреЛ рдореЗрд░реЗ рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ рд╡рд╣ рд╣реИ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдФрд░ рд╕рд┐рдЧрд╡рд┐рди рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред рдпрд╣ рдЖрдкрдХреЛ рд╣рд╛рде рдкрд░ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдЬреЛ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реИред
рдЖрдкрдХреЛ sed рдкреИрдХреЗрдЬ рдФрд░ рдЙрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдФрд░ cygutils-extra рдкреИрдХреЗрдЬ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА (рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ - getclip рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП pbpaste )


рдкрд░рд┐рдгрд╛рдо macOS рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛:


 adb shell input text $(getclip | sed -e 's/[_<>|&$;()\"]/\\&/g' -e 's/ /\%s/g' -e 's/!+/!/g') 

рд╡рд┐рдВрдбреЛрдЬ 10 рдореЗрдВ рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓ рдХреЛ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рднреА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рд╕рд╛рдЗрдЧрд╡рд┐рди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдзрд╛рди рдХреА рддрд░рд╣ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред



рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ


рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдПрдВ


рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣рд░ рдмрд╛рд░ рдХрдВрд╕реЛрд▓ рдкрд░ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рд╕реЗ adb shell input text <something> рдЯрд╛рдЗрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред рдЙрдкрдирд╛рдо рдмрдирд╛рдирд╛ рдпрд╛ рд╣реЙрдЯрдХреА рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред


рдХрдВрд╕реЛрд▓ рдХреЗ рд▓рд┐рдП рдЙрд░реНрдл тАЛтАЛрдХреЗ рдмрд╛рд░реЗ рдореЗрдВ

рдпрд╣рд╛рдВ рдХрдард┐рдирд╛рдИ рдпрд╣ рд╣реИ рдХрд┐ рдЙрд░реНрдл тАЛтАЛрдЦреБрдж рдореЗрдВ рдЖрдкрдХреЛ рдЕрднреА рднреА рд╕рднреА $ рдмрдЪрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ " рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣реЙрдЯрдХреА рдореЗрд░реЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рд╕рдЪ рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдерд╛ - alias adp='adb shell input text' adp example рддрд░рд╣ рдПрдХ рд╢рдмреНрдж рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХреАред рдпрджрд┐ рдХреЛрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдЦреБрдж рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдирд╛рдо рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рд▓рд┐рдЦреЗрдВ - рдЗрд╕реЗ рдпрд╣рд╛рдВ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВред


рд╣реЙрдЯрдХреА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдПрдЧреА

рдпрджрд┐ рд╣рдо рд▓рд┐рдирдХреНрд╕ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рд╕рдм рд╡рд┐рддрд░рдг рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рднреА рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред


Cygwin рдкрд░ рд╡рд┐рдВрдбреЛрдЬ рд╕рдорд╛рдзрд╛рди рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИред


рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рд▓реЗрдЦ рдЖрдВрддрд░рд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдерд╛, рдЗрд╕рд▓рд┐рдП macOS рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрд┐рдд рд╣реИ, рдЖрдк рдЗрд╕реЗ рдиреАрдЪреЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:


MacOS рдХреЗ рд▓рд┐рдП рд╡рд┐рдзрд┐:

рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░реЗрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рд▓реЗрдХрд┐рди Automator рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рд╣реИ - рдЖрдк рдЬрд▓реНрджреА рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣реЙрдЯрдХреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Automator рдЪрд▓рд╛рдПрдВ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рдХрд╛рд░ Service :



рдлрд┐рд░ рд╕реЗрд╡рд╛ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:


  • service receives рд▓рд┐рдП no input рд╕реЗрдЯ service receives
  • Actions рдЯреИрдм рдХреЗ рдЕрдВрджрд░, Run shell script рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ


рдЕрдм рдЖрдк рдирдИ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╣реЙрдЯрдХреА рдЕрд╕рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



рдпрд╣реА рд╣реИ, рдЕрдм рдбрд┐рд╡рд╛рдЗрд╕ рдкрд░ рдХреЙрдкреА рдХрд░рдирд╛ рд╣реЙрдЯрдХреА рджреНрд╡рд╛рд░рд╛ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред


рд╕рд╣реА рд╣реИ, рд╣реЙрдЯрдХреА рд╕реЗрд╡рд╛ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реАрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧреА, рдЬрд╣рд╛рдВ Services рдореЗрдиреВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдиреВ рдореЗрдВ рд╣реИ:



MacOS рдХреЗ рд▓рд┐рдП Zeplin рдРрдк рдореЗрдВ рдРрд╕рд╛ рдХреЛрдИ рдЯреИрдм рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╡рд╣рд╛рдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рд╢рд╛рдпрдж рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕ рд╕реАрдорд╛ рдХреЛ рдХрдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрднреА рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдкрд╛рд╕ рдСрдЯреЛрдореЗрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд░рд╛рд╕реНрддрд╛ рд╣реИред


рдпрд╣ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдПрдХ рд╣реЙрдЯрдХреА рдПрдХ рд╣реА Google Chrome рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдиреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХрддрд╛ рд╣реИред


рд╡рд╣ рд╕рдм


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд▓реЗрдЦ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ рдФрд░ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╛рдо рдореЗрдВ рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

Source: https://habr.com/ru/post/hi412551/


All Articles