БоврСмСнная мобильная экосистСма Android прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ свободу дСйствий, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° стандартных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² управлСния становится нСдостаточно. Empir Bump β€” это спСциализированный инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ физичСскиС наТатия ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ свайпы Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ интСрфСйс, Ρ‡Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², тСстировщиков ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ… Π³Π΅ΠΉΠΌΠ΅Ρ€ΠΎΠ². Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ простых макросов, этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ Π²Π²ΠΎΠ΄Π° Android ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ использования ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠ³ΠΎ моста ADB.

ИспользованиС ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ ΠΊ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, созданию слоТных сцСнариСв взаимодСйствия с интСрфСйсом ΠΈ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² условиях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ воспроизвСсти Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Эмуляция Π²Π²ΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ систСмы, Ρ‡Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠΈ дСйствиСм Π½Π° экранС. Однако Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ устройства ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Π°ΠΌ с систСмными процСссами.

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Empir Bump для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ограничСния ΠΈ ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ распространСнных ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ тонкостях синтаксиса, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ… ΠΈζœ€δ½³ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°Ρ… ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ этого инструмСнта Π² ваш Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс. Π“Π»ΡƒΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ input ΠΊΠΎΠΌΠ°Π½Π΄ станСт ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΊ эффСктивному ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ вашим Android-устройством.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ эмуляции Π²Π²ΠΎΠ΄Π° Π² Android

Основой функционирования любого инструмСнта эмуляции, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Empir Bump, являСтся систСмная слуТба Π²Π²ΠΎΠ΄Π° Android. Когда Π²Ρ‹ ΠΊΠ°ΡΠ°Π΅Ρ‚Π΅ΡΡŒ экрана, Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ сСнсорной ΠΏΠ°Π½Π΅Π»ΠΈ отправляСт ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ процСссору, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ прСобразуСтся Π² событиС MotionEvent. Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ эмуляции ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ этот процСсс Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, отправляя искусствСнныС события, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСма воспринимаСт ΠΊΠ°ΠΊ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π­Ρ‚ΠΎ позволяСт ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ физичСскиС ограничСния устройства.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ здСсь выступаСт Android Debug Bridge (ADB), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ слуТит мостом ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠΌ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ устройством. ИмСнно Ρ‡Π΅Ρ€Π΅Π· ADB ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π°Π½ΡΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹. Эмуляция свайпов ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ указания ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ X ΠΈ Y, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ курсора выглядСло СстСствСнным для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈ-ΠΎΠ½Π½ΠΎΠΉ систСмы ΠΈ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ЧрСзмСрная частота отправляСмых событий ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€Π° Π²Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ зависанию интСрфСйса ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ устройства. Π‘ΠΎΠ±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ симуациСй Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ. Empir Bump Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ с систСмным ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ Π²Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ Π² Ρ‚Π΅Ρ… прилоТСниях, Π³Π΄Π΅ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΎΠ²Π΅Ρ€Π»Π΅ΠΈ ΠΈΠ»ΠΈ слуТбы доступности ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹. Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΠΎ USB ΠΈ установлСнныС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ADB Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π­Ρ‚ΠΎ обСспСчиваСт ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, дСлая Π΅Π³ΠΎ нСзависимым ΠΎΡ‚ вСрсии Android ΠΈΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ смартфона, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Samsung Galaxy ΠΈΠ»ΠΈ Xiaomi Redmi.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° окруТСния ΠΈ установка ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Empir Bump, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ мСсто. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом являСтся установка ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… инструмСнтов Android SDK, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ содСрТат Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» adb.exe (для Windows) ΠΈΠ»ΠΈ исполняСмый Ρ„Π°ΠΉΠ» для Linux/macOS. Π‘Π΅Π· этого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° взаимодСйствиС с устройством Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠ½ обСспСчиваСт ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» связи.

Π”Π°Π»Π΅Π΅ слСдуСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ само мобильноС устройство. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрытоС мСню Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это дСлаСтся сСмикратным Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° Π½ΠΎΠΌΠ΅Ρ€ сборки Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ О Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅. ПослС Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ мСню Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ‚ΡƒΠΌΠ±Π»Π΅Ρ€ ΠžΡ‚Π»Π°Π΄ΠΊΠ° ΠΏΠΎ USB. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΊ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Π½Π° экранС смартфона появится запрос Π½Π° Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ.

  • πŸ“± УстановитС послСдниС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ ADB с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта Android Developers.
  • πŸ”Œ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ»ΠΈ качСствСнный USB-кабСль с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….
  • βš™οΈ Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ "ВсСгда Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ с этого ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°" для удобства Ρ€Π°Π±ΠΎΡ‚Ρ‹.
  • πŸ–₯️ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ adb devices Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅.

Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ процСсса часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ скрипты, поэтому рСкомСндуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ срСду выполнСния, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Python ΠΈΠ»ΠΈ Node.js, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ слоТныС сцСнарии. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ эмулятор Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° нСпосрСдствСнно Π½Π° Android, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ локально, хотя для Empir Bump Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ связка ПК-смартфон. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния PATH Π² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ADB ΠΈΠ· любой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅?
  • ΠŸΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΎΠΉ USB
  • Wi-Fi (TCP/IP)
  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»
  • Bluetooth ADB

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Empir Bump

Π Π°Π±ΠΎΡ‚Π° с инструмСнтом строится Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ спСцифичСских ΠΊΠΎΠΌΠ°Π½Π΄ Ρ‡Π΅Ρ€Π΅Π· ADB shell. Основная ΠΊΠΎΠΌΠ°Π½Π΄Π° для эмуляции Π²Π²ΠΎΠ΄Π° выглядит ΠΊΠ°ΠΊ adb shell input. Она ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько ΠΏΠΎΠ΄ΠΊΠΎΠΌΠ°Π½Π΄, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ взаимодСйствия. НапримСр, для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ наТатия клавиши ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ keyevent, Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тачскрином β€” tap ΠΈ swipe.

Рассмотрим Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ основных ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ядро Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Empir Bump. ПониманиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· Π½ΠΈΡ… критичСски Π²Π°ΠΆΠ½ΠΎ для создания Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… скриптов. Ошибки Π² синтаксисС, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ использованиС запятой вмСсто ΠΏΡ€ΠΎΠ±Π΅Π»Π° ΠΈΠ»ΠΈ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ порядок ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚, ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π° систСмой.

Команда ОписаниС ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
input tap x y Эмуляция ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠ³ΠΎ наТатия input tap 500 1000
input swipe x1 y1 x2 y2 Эмуляция свайпа (пСрСтаскивания) input swipe 100 500 900 500
input keyevent K НаТатиС физичСской ΠΊΠ½ΠΎΠΏΠΊΠΈ input keyevent 66 (Enter)
input text "str" Π’Π²ΠΎΠ΄ тСкстовой строки input text "Hello"

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄Π°ΠΌ клавиш (keycodes). Π’ Android ΠΊΠ°ΠΆΠ΄ΠΎΠΉ физичСской ΠΊΠ½ΠΎΠΏΠΊΠ΅ присвоСн числовой ΠΊΠΎΠ΄. НапримСр, ΠΊΠΎΠ΄ для ΠΊΠ½ΠΎΠΏΠΊΠΈ "Π”ΠΎΠΌΠΎΠΉ" ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… устройствах, Π½ΠΎ стандартныС ΠΊΠΎΠ΄Ρ‹ Π²Ρ€ΠΎΠ΄Π΅ KEYCODE_ENTER (66) ΠΈΠ»ΠΈ KEYCODE_BACK (4) Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎ. Для слоТных ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π·Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° событий keydown ΠΈ keyup.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ adb shell getevent -l для просмотра ΠΊΠΎΠ΄ΠΎΠ² Π½Π°ΠΆΠ°Ρ‚Ρ‹Ρ… клавиш Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ keycode для Ρ€Π΅Π΄ΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ вашСго устройства.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ слоТных сцСнариСв ΠΈ автоматизация

ΠžΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для Ρ€Π°Π·ΠΎΠ²Ρ‹Ρ… дСйствий, Π½ΠΎ настоящая ΠΌΠΎΡ‰ΡŒ Empir Bump раскрываСтся ΠΏΡ€ΠΈ создании скриптов Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π²ΠΎΠ΄Π° с логичСскими ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ ΠΈ условиями. НапримСр, скрипт ΠΌΠΎΠΆΠ΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ появлСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта Π½Π° экранС (провСряя пиксСли Ρ‡Π΅Ρ€Π΅Π· adb shell screencap) ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ свайп.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΈ условий Ρ‡Π°Ρ‰Π΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ языки скриптования, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Bash, Python ΠΈΠ»ΠΈ PowerShell. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ ADB ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° основС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. ЦикличСская эмуляция ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ΠΈΠ³Ρ€Π°Ρ… для ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ дСйствий ΠΈΠ»ΠΈ Π² прилоТСниях для автоматичСского сбора Π΄Π°Π½Π½Ρ‹Ρ….

  • πŸ”„ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ while для постоянного ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° состояния экрана.
  • ⏱️ ДобавляйтС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ sleep ΠΌΠ΅ΠΆΠ΄Ρƒ дСйствиями, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°.
  • πŸ“ Π›ΠΎΠ³ΠΈΡ€ΡƒΠΉΡ‚Π΅ всС дСйствия Π² Ρ„Π°ΠΉΠ» для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ошибок.
  • πŸ›‘οΈ Π’Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠ³ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΏΡ€ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Ρ… ΠΎΠΊΠΎΠ½.
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: БСсконСчныС Ρ†ΠΈΠΊΠ»Ρ‹ Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ процСссор устройства ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ Ρ‚Ρ€ΠΎΡ‚Ρ‚Π»ΠΈΠ½Π³. ВсСгда прСдусматривайтС ΠΏΠ°ΡƒΠ·Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ итСрациями.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ слоТного сцСнария: скрипт запускаСт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΆΠ΄Π΅Ρ‚ 5 сСкунд, выполняСт свайп Π²Π²Π΅Ρ€Ρ…, ΠΆΠ΄Π΅Ρ‚ случайноС врСмя ΠΎΡ‚ 2 Π΄ΠΎ 4 сСкунд ΠΈ повторяСт дСйствиС 10 Ρ€Π°Π·. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка скриптования. Π­Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ устойчивыС ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ со стороны ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹.

β˜‘οΈ Π§Π΅ΠΊ-лист создания скрипта

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

Π’ΠΎΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°ΠΌΠΈ

Одной ΠΈΠ· самых слоТных Π·Π°Π΄Π°Ρ‡ ΠΏΡ€ΠΈ использовании Empir Bump являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ элСмСнтов интСрфСйса. Π­ΠΊΡ€Π°Π½Ρ‹ Ρ€Π°Π·Π½Ρ‹Ρ… устройств ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ»ΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ пиксСлСй (DPI). Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° экранС с Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ 1920Γ—1080, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠ±ΠΈΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ Π½Π° устройствС с 2400Γ—1080. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ скрипты Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Для получСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° "ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ касания", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡ΠΊΠΈ наТатия ΠΈ ΠΈΡ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ Π² ΡƒΠ³Π»Ρƒ экрана. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ β€” использованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ adb shell getevent Π² сочСтании с физичСским касаниСм, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ сырыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ событии, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ X ΠΈ Y. Π’Π°ΠΊΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ курсора ΠΌΡ‹ΡˆΠΈ Π½Π° экранС ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΏΡ€ΠΈ трансляции экрана Ρ‡Π΅Ρ€Π΅Π· scrcpy.

Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ систСмныС Π±Π°Ρ€ΡŒΠ΅Ρ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ статус-Π±Π°Ρ€ свСрху ΠΈ навигационная панСль снизу. ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΎΡ‚ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π»Π΅Π²ΠΎΠ³ΠΎ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ ΡƒΠ³Π»Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области ΠΈΠ»ΠΈ всСй ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ Π² зависимости ΠΎΡ‚ вСрсии Android. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π΅ экрана, поэтому Π² скриптах часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π½Ρ‹Π΅ значСния ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈ высоты экрана, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ динамичСски.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ экрана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ adb shell wm size для получСния физичСского Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ adb shell wm density для DPI. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ Π² скриптС для расчСта ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Π½Π° Π»Π΅Ρ‚Ρƒ.

ΠžΡ‚Π»Π°Π΄ΠΊΠ°, Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ устранСниС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ

ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ с эмуляциСй Π²Π²ΠΎΠ΄Π° Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с рядом ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. Бамая частая ΠΈΠ· Π½ΠΈΡ… β€” отсутствиС Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ экранС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. БистСма Android Π² цСлях бСзопасности ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ Π²Π²ΠΎΠ΄, Ссли устройство Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ. РСшСниСм являСтся использованиС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ input keyevent 26 для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ экрана ΠΈ, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ root-ΠΏΡ€Π°Π², ΠΎΠ±Ρ…ΠΎΠ΄ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π»ΠΈΠ±ΠΎ оставлСниС устройства Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π² бСзопасной срСдС.

Другая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” рассинхронизация дСйствий. Если скрипт Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ отрисовываСтся интСрфСйс, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ "Π² ΠΌΠΎΠ»ΠΎΠΊΠΎ". Для Π±ΠΎΡ€ΡŒΠ±Ρ‹ с этим ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ появлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ бСзопасности: запуск скриптов ΠΈΠ· Π½Π΅ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… источников ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΡ€Π°ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅ΡŽΡ‚ высокий ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ доступа.

Для диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· adb logcat. Π€ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡ Π»ΠΎΠ³ΠΈ ΠΏΠΎ Ρ‚Π΅Π³Ρƒ InputReader ΠΈΠ»ΠΈ InputDispatcher, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ систСма ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ваши эмулированныС события. Если события Π½Π΅ доходят Π΄ΠΎ прилоТСния, Π·Π½Π°Ρ‡ΠΈΡ‚, фокус находится Π½Π΅ Π½Π° Ρ‚ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° для Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ прилоТСния.

πŸ’‘

Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Empir Bump Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ точности синхронизации скрипта со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ отрисовки ΠΊΠ°Π΄Ρ€ΠΎΠ² Π½Π° устройствС (FPS).

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ Empir Bump Π½Π° устройствах Π±Π΅Π· root-ΠΏΡ€Π°Π²?

Π”Π°, базовая Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ADB shell input Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° устройствах Π±Π΅Π· root-ΠΏΡ€Π°Π². Однако Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСмныС ограничСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π΅ΠΏΡΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π²Π²ΠΎΠ΄Ρƒ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ поля ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ€Ρ… систСмных Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ². Для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ доступа ΠΊΠΎ всСм функциям часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π°.

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΈΠ³Ρ€Ρ‹ Π² ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³Ρ€Ρ‹?

ВСхничСски это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ соврСмСнныС ΠΎΠ½Π»Π°ΠΉΠ½-ΠΈΠ³Ρ€Ρ‹ ΠΈΠΌΠ΅ΡŽΡ‚ систСмы Π°Π½Ρ‚ΠΈ-Ρ‡ΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ€ΡƒΡŽΡ‚ Π½Π΅Π΅ΡΡ‚Π΅ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ частоту ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Π²Π²ΠΎΠ΄Π° ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ADB. ИспользованиС эмуляторов Π²Π²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°, поэтому Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΊΠΎΠΌΠ°Π½Π΄Π° input text Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ»ΠΈ спСцсимволы?

Команда input text ΠΈΠΌΠ΅Π΅Ρ‚ ограничСния ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ всС символы Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π½Π°ΠΊΠΈ часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ использования ΠΊΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Π²ΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ эмуляция Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ клавиш ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· keyevent.

Как Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ свайпа для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°?

Бтандартная ΠΊΠΎΠΌΠ°Π½Π΄Π° input swipe выполняСтся ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈΠ»ΠΈ с фиксированной ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ. Для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ чСловСчСской скорости Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ свайп Π½Π° мноТСство ΠΌΠ΅Π»ΠΊΠΈΡ… шагов (touch down, мноТСство move, touch up) с нСбольшими Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написания Π±ΠΎΠ»Π΅Π΅ слоТного скрипта.