Як отримати дозвіл на створення цього файлу в оболонці Android?


8

Я намагаюся викорінити Kindle і я застряг. Отримати дозвіл відмовлено та не знаю, як чи які дозволи змінити.

mike@Inspiron:~/Downloads/android-sdk-linux/platform-tools$ adb shell
shell@android:/ $ echo 'ro.kernel.qemu=1' > /data/local.prop
/system/bin/sh: cannot create /data/local.prop: Permission denied
1|shell@android:/ $ sudo echo 'ro.kernel.qemu=1' > /data/local.prop            
/system/bin/sh: cannot create /data/local.prop: Permission denied
1|shell@android:/ $ sudo
/system/bin/sh: sudo: not found
127|shell@android:/ $

Я використовую Ubuntu 12.04, якщо це має значення.


Я досяг кореня, не набуваючи цих дозволів. Дякуємо за будь-яку допомогу.
hortstu

Відповіді:


7

Коротка відповідь: для цього вам доведеться викорінити свій пристрій.

Пояснення:shell Користувач не має права на запис там. /dataКаталог не належить shell, і не їх матч групи: на моєму Motorola Milestone 2, наприклад, він належить , system:systemі має дозволу drwxrwxr-x, а shellналежить shellтільки групі. Лише на пристрої з укоріненими можливостями ви могли або змінити дозволи, або отримати достатню привілей, щоб їх змінити.

PS: На Android sudoкоманда просто викликається su- яка пояснює вашу останню помилку ( /system/bin/sh: sudo: not found) у випадку, якщо ваш пристрій вже вкоренився.


@hortstu, якщо ви вважаєте це корисним, не соромтесь подати заявку (натисніть стрілку "вгору" поруч) або, якщо вона загадково вирішила вашу проблему, навіть прийняти її (кнопку "галочка"). Але що б ви не вирішили: я радий, що можу допомогти :)
Izzy

Я хотів би, але все ще не маю достатньої репутації.
hortstu

Оупс ... Я принаймні подумав над відповідями на власне запитання ... Ну, в цьому випадку шкода "вчителя". Тепер у вас є представник :)
Izzy

7

Спробуйте це:

adb shell "cd / data / local && mkdir tmp"
adb shell mv / data / local / tmp /data/local/tmp.bak
adb shell ln -s / data / data / local / tmp
adb перезавантаження

adb очікування пристрою
adb shell rm /data/local.prop
adb shell "echo \" ro.kernel.qemu = 1 \ "> /data/local.prop"
adb перезавантаження

Створивши посилання на від, /dataдо /data/local/tmp, Android повірить, на що ви пишете, /data/local/tmpнавіть якщо ви насправді пишете /data. Цей метод насправді використовується для успішного викорінення багатьох пристроїв, хоча деякі мають його саме в тому, build.propщо /data/tmpє поза межами.

Цей метод може не працювати з Kindle Fire, хоча я не намагався. Я вкоренив Kindle Fire, але він повністю включав інший метод. По-перше, потрібно було спалахнути відновлення TWRP. Потім експлуатується підроблене зображення відновлення. Тоді ви можете отримати доступ до копіювання через свої файли su та busbox.

Ви можете спробувати local.propметод, як я описав вище. Він сумісний з багатьма пристроями.


Спасибі за вашу допомогу. Мені вдалося досягти кореня. З причин, які я не розумію, мені вдалося пропустити кілька кроків у підручнику, і це спрацювало чудово.
hortstu

2

Ви належним чином не дотримувались інструкції щодо вкорінення.

http://rootzwiki.com/topic/34162-root-kindlefire-7hd-probably-the-other-2ndgen-kindlefire/

Наведена вище інструкція дозволить вам створити символьні посилання на / data / каталог з / data / local / tmp /, що зробить /data/local.prop написаним після перезавантаження.

Переконайтесь, що ви точно дотримуєтесь інструкцій, включаючи перезавантаження та все, і переконайтесь, що ви перевіряєте кожен крок, щоб вони не видавали несподіване повідомлення про помилку.


Я правильно слідкував за вкоріненням вкорінення, я просто використовував іншу кореневу техніку, ніж та, з якою ви пов’язані. Дякую за вашу допомогу, але я зрештою міг пропустити декілька кроків з причин, яких я не розумію, і я вкоренив розпал.
hortstu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.