Команда эмулятора Android sudo?

Я столкнулся с проблемой, упомянутой здесь: ">Исходная проблема

Я видел в этой теме 2 что-то близкое к моей проблеме, но когда я пытаюсь ввести команда предложила, я имею в виду этот

sudo vi /etc/init.sh

Я получаю следующую ошибку

введите здесь описание изображения

Я прочитал в сети, что для Android нет sudo и что вместо этого я должен ввести su, и поэтому я так и сделал, поэтому я получаю эту ошибку:

введите здесь описание изображения

Как правильно это сделать?

Если вы можете помочь моему первая тема это будет здорово, но если нет, то хотя бы скажите мне, какая команда является правильной, чтобы я попробовал решение по ссылке выше, возможно, это поможет мне решить мою проблему.

Я новичок в Android и совсем не знаю Linux, поэтому и спрашиваю.

Заранее спасибо.


person JustGreat    schedule 09.04.2014    source источник
comment
Может быть, вы не читали, что я ничего не знаю об эмуляторе, Android и Linux, поэтому не могли бы вы уточнить? для вас моя подсказка указывает на многое, в то время как для меня я совсем не понимаю мою подсказку ... пожалуйста, объясните мне, и если у вас есть какой-либо ответ на основную тему, которая вызывает у меня проблемы, я буду благодарен, как кажется, вы разбираюсь в таких системах, пока знаю только windows   -  person JustGreat    schedule 09.04.2014


Ответы (2)


Нет необходимости в sudo или su или что-то в этом роде, так как оболочка adb на эмуляторе уже работает от имени пользователя root.

На самом деле ваше приглашение root@x86 удобно указывает на это.

Какие бы команды вы ни хотели запускать от имени пользователя root, они могут быть доступны или недоступны или разумны для использования, но все, что вы вызываете, будет выполняться от имени пользователя root, если оно вообще запускается.

Для протокола, кроме того, что ваша команда su не нужна, вероятно, она не работает, потому что su думает, что vi — это пользователь, которым вы хотите стать. Скорее всего, вам нужно использовать какой-то флаг, чтобы сообщить ему, что далее следует команда - возможно, -c однако, если у вас есть su используемый для эскалации, то у вас должен быть нестандартный тот, который отличается от исходников AOSP, поэтому его поведение нельзя точно предсказать, не зная деталей конкретной реализации, которую вы используете.

person Chris Stratton    schedule 09.04.2014
comment
Спасибо за попытку помочь. Что вы имеете в виду, что команды, которые я пытаюсь запустить, не будут работать, потому что они не должны работать, потому что у меня версия Android X86? извините за такой вопрос, но я совершенно новичок в этой области ... не могли бы вы проверить мою основную проблему, упомянутую выше, и сказать мне, могу ли я адаптировать любую из этих команд для установки моего Android на виртуальную машину? Подробности в ссылках, упомянутых в моем посте, если вы проверите их, вы поймете, что мне нужно сделать. - person JustGreat; 09.04.2014
comment
Это другой вопрос, и слишком расплывчатый для этого форума. Кто-то, по-видимому, дал вам несколько советов о том, как изменить вашу систему, но, по-видимому, неполный или ошибочный совет, поскольку они не понимали, что вы уже являетесь пользователем root. Обычно такая оплошность (или даже просто внесение изменений в конфигурацию, которых вы не понимаете, на основе непроверенных советов) была бы плохой и рискованной идеей. Но вы играете с эмулятором, который наиболее близок к безопасной среде обучения, насколько это можно себе представить; если вы сломаете его, просто удалите виртуальный образ и создайте новый. - person Chris Stratton; 09.04.2014
comment
да, именно поэтому я разместил вопрос здесь, чтобы понять, какова цель этих команд ... Как вы сказали, я на виртуальном устройстве, поэтому никакого риска, я могу удалить его и создать снова ... но даже мне нужно понять, что Я делаю, и если это действительно поможет мне решить мою проблему с сетью! Я думаю, что для настройки виртуальной машины требуется сеть, и что мой эмулятор не находит соединение, если вы можете проверить, пожалуйста, это stackoverflow.com/questions/22943704/ вы меня поймете. - person JustGreat; 09.04.2014

su означает «Сменить пользователя», и просто набрав su, вы переключитесь на root

su не является sudo, поэтому ввод su vi попытается переключить вас на пользователя vi, которого, очевидно, не существует.

вам нужно сделать su и vi двумя отдельными командами

однако похоже, что вы уже являетесь пользователем root, поэтому будет достаточно просто ввести vi.

однако действуйте осторожно, потому что использование пользователя root без точного понимания того, что вы делаете, - это хороший способ полностью испортить систему.

person Chris Pickard    schedule 09.04.2014
comment
Спасибо за это разъяснение ... На самом деле, как уже упоминалось, это просто эмулятор виртуальной машины, поэтому я могу возиться с ним и удалить его в любое время ... Я новичок в Android, поэтому я настраиваю эту виртуальную машину, чтобы использовать ее в качестве эмулятора для запуска программирование для андроида... Чтобы вернуться к вопросу, парень предложил людям попробовать следующие - person JustGreat; 09.04.2014
comment
sudo vi /etc/init.sh добавьте 4 строки ниже в init.sh netcfg eth0 dhcp echo nameserver ‹ip› › /etc/resolv.conf dnsmasq setprop net.dns1 8.8.8.8 Не могли бы вы объяснить мне, если я уже рутирован что правда, что я должен ввести вместо того, чтобы сделать то же самое? и если вы можете объяснить мне, что делают эти команды, чтобы я понял, что? Большое спасибо... еще раз, если вы сначала захотите узнать, почему я это делаю, моя основная проблема упоминается здесь: stackoverflow.com/questions/22943704/ - person JustGreat; 09.04.2014