Модераторы Varset 224 Опубликовано 1 ноября, 2023 Модераторы Поделиться #1 Опубликовано 1 ноября, 2023 Продолжаем серию статей о беспроводном ADB. Эта часть более трудная, но необходимая. Чтобы стало чуть понятней, рекомендую посмотреть очень понятную статью "Как работает ADB" А также все это дает ответы на вопрос: "Да как же, черт побери, установить нативное разрешение непосредственное из шлема?!.." Все написано здесь. Ссылка на комментарий Поделиться на другие сайты Поделиться
Администраторы VRadmin 1 031 Опубликовано 2 ноября, 2023 Администраторы Поделиться #2 Опубликовано 2 ноября, 2023 Итак, продолжим. Напишем какой-нибудь скрипт, а затем и выполним его, на шлеме. Давайте для примера возьмем самое простое: #!/bin/sh echo hello, my friend! Откройте текстовый редактор и вставьте в него этот код. Затем сохраните файл с именем, например, hello и расширением sh. Скрипт почти готов. Почему почти? А потому что мы редактировали его под Windows, и есть вероятность проблем с концом строк. В операционных системах *NIX (включая Android) строки заканчиваются переводом строки (LF \n или 0x0A), а в DOS/Windows — возвратом каретки + переводом строки (CRLF; \r\n или 0x0D0x0A). На Mac CR есть только маркер конца строки. Поэтому некоторые текстовые редакторы могут кодировать неправильные разрывы строк в сценариях оболочки. Стало быть, надо избавиться от неправильных концов строк, для этого служит утилита dos2unix, встроенная в Андроид. Вот ей мы и воспользуемся. Работать можно непосредственно из оболочки, если в консоли cmd дать команду adb shell, но упростим задачу и будем делать все через батник. Итак, создаем любой батник и вписываем в него команду отправки (push) нашего скрипта туда, где мы сможем (где разрешено) его запустить): adb push hello.sh /data/local/tmp/ Затем комментируем эту команду и вписываем в батник другую, которая нам и поправит наш скрипт прям на месте: adb shell dos2unix /data/local/tmp/hello.sh А затем, в том же батнике прописываем команду на запуск нашего скрипта: adb shell sh /data/local/tmp/hello.sh В итоге в той же консоли мы увидим несколько служебных сообщений и также результат работы скрипта, вот такую надпись: hello, my friend! Собственно, это все! Скрипт создан и запущен и успешно отработан. А вот теперь скажите, сложно это или нет. Чтобы удалить неиспользуемый скрипт, даем такую команду: adb shell rm /data/local/tmp/hello.sh Удачи в скриптописании и скриптовыполнении! Для использования этого способа необходим включенный Режим разработчика Ссылка на комментарий Поделиться на другие сайты Поделиться
Модераторы Varset 224 Опубликовано 9 ноября, 2023 Автор Модераторы Поделиться #3 Опубликовано 9 ноября, 2023 Чуть усложним задачу. Вот еще один пример запуска и работы скрипта, уже посложней, с использованием дополнительной программы. Скачиваем с гитхаба утилитку под Андроид : aapt-arm-pie. Она может рассказать о пакетах и приложения много интересного. В примере мы узнаем, как можно выдернуть из шлема имя приложения и название пакета. Нашел скрипт sh, позволящий узнать имя приложения по названию его пакета: #!/system/bin/sh aapt=/data/local/tmp/aapt-arm-pie pm list packages -3 | sed 's/^package://g' | while read line; do path=$(pm path $line | sed 's/^package://g'); label=$($aapt d badging $path | grep 'application: label=' | cut -d "'" -f2); printf "app $label having package name $line\n"; printf "\n"; done Не пугайтесь, с этим скриптом ничего делать не придется, если не хотите. Его будет нужно просто скопировать и вставить в файл, только и всего. Небольшое пояснение к скрипту: Команда pm list packages -3 отобразит только неофициальные приложения. Можно поменять последний ключ на один из таких: -a Отобразит все приложения -s Отобразит только системные приложения -e Только включенные приложения -d Только отключенные приложения словодляпоиска Если вводить не ключ, а фильтр, например face или oculus, то скрипт покажет только те пакеты, в которых есть это слово Сохраняем его в файл, например aaptname.sh Затем делаем все как в предыдущем примере - пишем батник, который выполнит нужные нам действия. Пример такого батника с пояснениями к каждой строчке: :: Отправляем утилиту aat-arm-pie на шлем adb push aapt-arm-pie /data/local/tmp/ :: Отправляем туда же наш скрипт @adb push aaptname.sh /data/local/tmp/ :: На всякий случай исправляем концы строк в скрипте @adb shell dos2unix /data/local/tmp/aaptname.sh :: Даем права на запуск и выполнение утилите aapt-arm-pie @adb shell chmod 0755 /data/local/tmp/aapt-arm-pie :: То же самое будет делать ключ chmod +x, строчку закомментируем, чтоб не выполнялась дважды ::@adb shell chmod +x /data/local/tmp/aapt-arm-pie :: И запускаем на выполнение наш скрипт. @adb shell sh /data/local/tmp/aaptname.sh pause Кладем рядом с батником утилиту aapt-arm-pie и запускаем батник, он выведет нам список имен приложений и их пакетов. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти