Вопрос или проблема
Я хочу установить Waydroid. Я успешно установил Waydroid, но когда я ввожу эту команду sudo waydroid shell
и эту команду ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\" ; "
, появляется сообщение /system/bin/sh: com.android.tzdata: недоступен или не найден
. Я не знаю, как это решить.
ОС: Ubuntu 24.04
У вас ошибка в написании, правильная команда должна быть:
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime \
ANDROID_DATA=/data \
ANDROID_TZDATA_ROOT=/apex/com.android.tzdata \
ANDROID_I18N_ROOT=/apex/com.android.i18n \
sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \
"select * from main where name = \"android_id\" ;"
или в одной строке:
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\" ;"
Ответ или решение
Когда вы получаете ошибку «/system/bin/sh: com.android.tzdata: inaccessible or not found» при попытке выполнения команды в Waydroid, это связано с неверным синтаксисом в вашей команде. Давайте разберемся с этим и предложим решение.
Проблема
Ваше начальное введение команды содержит опечатку, что приводит к невозможности доступа к указанному пути. Как следствие, система не может найти соответствующий ресурс, что необходимо для выполнения вашей команды.
Решение
Я рекомендую исправить синтаксис вашей команды. Правильный синтаксис должен включать символ "\" для переноса строки, или вы можете ввести команду в одну строку. Вот как она должна выглядеть:
- Многострочный вариант:
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime \
ANDROID_DATA=/data \
ANDROID_TZDATA_ROOT=/apex/com.android.tzdata \
ANDROID_I18N_ROOT=/apex/com.android.i18n \
sqlite3 /data/data/com.google.android.gsf/databases/gservices.db \
"select * from main where name = \"android_id\" ;"
- Однострочный вариант:
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\" ;"
Дополнительные замечания
- Убедитесь, что вы используете права администратора (sudo) для выполнения команд, которые требуют этого.
- Путь к базе данных gservices.db должен быть корректным. Подтвердите, что база данных существует по указанному пути.
- Если ошибка продолжает возникать, проверьте настройки Waydroid и установленные пути, так как они могут варьироваться в зависимости от конфигурации.
Заключение
Следуя приведённому выше решению, вы сможете успешно выполнить свою команду и получить доступ к вашему Android ID. Если у вас возникнут дополнительные вопросы или трудности, не стесняйтесь обращаться за помощью. Успехов в работе с Waydroid!