2012-02-10

Смена аккаунта в android

Смена google-аккаунта в android задача более сложная, чем может показаться по началу, но вполне осуществимая. Прежде всего необходим root, поэтому самое время этим озаботится, если ранее этого не сделали.

Аккаунты пользователей хранятся в формате sqlite в файле  /data/system/accounts.db .

Простой способ: удалить файл, содержащий информацию об аккаунтах. (последствия для установленного ПО не проверял)

Более правильный:

Отредактировать при помощи утилиты sqlite3. Сделать это можно как непосредственно в терминале устройства, так и на стационарном ПК, предварительно скопировав файл с данными на флешку.

$su -
#sqlite3 /data/system/accounts.db

Нас интересует таблица accounts , посмотреть которую можно следующим образом:

sqlite> select * from accounts;

Структура данных _id|name|type|password , где:
_id - целое число
name - имя учетной записи google
type - тип учетной записи, для аккаунтов @gmail.com это "com.google"
password - пароль


Обновляем данные:

sqlite> update accounts set name="Your_New_Name@gmail.com", type="com.google",password="" where _id=1;

При этом необязательно указывать where, если запись всего одна, а так же обновлять type, если текущий соответствует новой учетной записи.

Простейший случай:


sqlite> update accounts set name="Your_New_Name@gmail.com", password="";


На этом все. Заливаем файл на устройство, если он редактировался на ПК. Перезагружаем устройство.


2 комментария:

  1. после редактирования accounts.db перестало запускаться устройство

    ОтветитьУдалить
    Ответы
    1. Очень странно, только что проделал данную операцию с очередным устройством, полет нормальный. Можете подробней описать ваши действия и модель устройства/версию андройда?

      Удалить