Мне удалось получить root права на Google Nexus 7 (2013 Wi-Fi), и теперь у меня работает CyanogenMod 10.2-20130919-NIGHTY-grouper и Clockworkmod recovery v6.0.1.9, следуя этому руководству .
Затем я загрузил и установил файл образа Thinktube, чтобы разрешить создание сети ad-hoc.
Теперь я могу создать специальную сеть на своем планшете (еще не тестировался с другими планшетами той же модели), и я могу видеть специальную сеть только с других телефонов iOS и adnroid 2.1. Однако я хочу убедиться, что:
действительно ли файл изображения Thinktube поддерживает протокол рутирования OLSR или нет?
если нет, то я уже следую этому руководству , чтобы загрузить, установить и включить режим OLSR.
Но когда я нахожусь в режиме восстановления на своем планшете и когда я открываю adb-shell со своего ПК, я могу нормально просматривать файлы и папки на своем планшете. Но я не могу запустить никакую другую команду в adb-shell. это всегда дает мне эту ошибку:
/sbin/sh: "any-command-rather-than-ls-&-cd": not found
что это за ошибка? что я сделал не так ? и что я должен сделать, чтобы это исправить?
В отличие от настольной системы GNU/Linux, Android не предназначен для использования в командной строке, поэтому он не поставляется с полным набором программ командной строки, которые были бы в системе GNU. В нем есть только самые основные команды (например, те, которые вы уже видели в работе) и специфичные для Android утилиты, такие как am
, pm
, bmgr
.
Вы можете получить доступ к основным командам POSIX (таким как less
и grep
), установив Busybox. В Google Play есть несколько установщиков для него. Для любых более специализированных программ, таких как make
, вам нужно будет найти порт Android конкретной программы и установить ее.
Оболочка на Android ставится /system/bin/sh
взамен штатной /bin/sh
— интересно, где бы вы увидели то, /sbin/sh
чего я не встречал в дикой природе ни на одном Unix (и нарушает стандарт POSIX), но в этом месте стоит просто изменить скрипт/ задействован вызов.
Большинство команд находятся в $PATH
любом случае, поэтому вызывать их с явными путями не обязательно.
При этом пользовательское пространство Android Unix очень минимально — до недавнего времени оно даже не включало cat(1)
реализацию — так что вы можете быть немного разочарованы.
Некоторые люди предлагают использовать на нем busybox . Если вы это сделаете, убедитесь, что вы не заменили системную оболочку, так как Android по умолчанию mksh(1)
намного мощнее, чем busybox ash
.
Отказ от ответственности: я mksh
сопровождающий.
Дэн Халм
Маклан