Итак, я сжег дигитайзер на i9305, прошив поврежденное рекавери. Затем я прошил новое рабочее пользовательское ПЗУ и рекавери, после того, как Stock JB попробовал некоторые KitKats, такие как MoKee, Omni, CyanOgen 10/11, но я столкнулся с одной и той же проблемой со всеми из них. После загрузки нового Android я застрял на экране приветствия / мастере настройки первого запуска, потому что не могу щелкнуть где-нибудь. Этот телефон поддерживает USB OTG , поэтому я могу использовать мышь, например, для восстановления TWRP, но драйвер еще не работает на экране приветствия. Также я не могу использовать ADB для имитации касания экрана, потому что он не подключается, когда активна начальная настройка. У меня нет резервной копии инициализированного/настроенного андроида, так что это тоже не годится.
Есть идеи, как пройти дальше? Спасибо за любой совет.
Наконец нашел решение, отредактировав /data/data/com.android.providers.settings/databases/settings.db
файл через sqlite3. Только adb pull
этот файл на свой компьютер, если вы используете стандартное восстановление, вы должны смонтировать раздел пользовательских данных вручную, в этом случае см. раздел « Монтирование Android ADB Shell Recovery» для подсказок. Также вы не можете просто вытащить файл напрямую, а скопировать его внутрь adb shell
на SD-карту или в какую-либо промежуточную файловую систему. Например.busybox cp sett* /sdcard
Чтобы избавиться от первоначальной настройки:
update global set value=1 where name='device_provisioned';
update secure set value=1 where name='user_setup_complete';
insert into secure (name,value) VALUES ('device_provisioned','1');
Да, device_provisioned должен присутствовать в обеих таблицах. Однако на стандартном JB не было глобальной таблицы, поэтому вам не нужно заботиться об этом, а в защищенной таблице отсутствуют некоторые записи, которые мы обновляем здесь, поэтому их необходимо вставить вместо них. На складе JB перед редактированием запуска settings.db PRAGMA wal_checkpoint
и PRAGMA journal_mode = DELETE
описано здесь: https://stackoverflow.com/a/21258892/881375 , в противном случае обновления существующих строк не вступят в силу, поскольку Android будет откатываться при перезагрузке. Для CyanOgenMod 11 просто удалите файл settings.db-journal, и все должно быть в порядке.
Это было необходимо после отправки файла settings.db обратно в папку на устройстве, чтобы
chmod 660 settings.db
chown system:system settings.db
в этом порядке, потому что chmod может установить владельца и группу обратно в root
Мышь USB OTG все еще не работает, к сожалению, поэтому я думаю, что мне все равно нужно получить доступ для adb.
Чтобы включить отладку по USB (ADB):
setprop persist.service.adb.enable 1 ('setprop persist.sys.usb.config mtp,adb' if needed)
настройки.дб:
update secure set value=5037 where name='adb_port';
update global set value=1 where name='adb_enabled';
После загрузки появится диалоговое окно для подтверждения отпечатка пальца ПК. Чтобы избежать этого, получите свой adbkey.pub (в Linux он может находиться в ~/.android):
adb push adbkey.pub /data/misc/adb/adbkey.pub
cat adbkey.pub >> adb_keys
После всего этого вы можете input tap|swipe|text
управлять своим телефоном и получать доступ к Bluetooth или OTG, мыши / клавиатуре и т. Д. Надеюсь, это поможет. Внедрение отпечатков пальцев необходимо для Android 4.2.2+.
Благодаря xda-developers и проблемам Android с безопасностью adb на code.google.com.
cat adbkey.pub >> adb_keys
, которую вы ввели в свой телефон или хост?У меня такая же проблема. Решил это, установив ShareKM (приложение, которое позволяет вам управлять телефоном Android с помощью клавиатуры и мыши компьютера). После того, как вы запустите приложение ShareKM, оно, вероятно, скажет вам, что оно устарело, и вы не сможете его запустить. Обходной путь (найденный в этой ветке xda) — сначала убить приложение, очистить его кеш и установить дату на телефоне на 30.03.2014.
томасб
томасб
Суйси Дога
томасб
Суйси Дога
томасб