Экспериментов и приключений с моим Android Desire было так много, что "список литературы" занял бы ровно половину "Огорода", — так что привожу ссылку только на последний, "Ноль целых, одна десятая", а важную для сегодняшнего поста информацию буду добавлять в него quantum satis.
Итак, в моем первом Desire (остроумные люди на форумах уже весьма, на мой вкус, удачно обозвали его "Хотелкой") обнаружилось недовложение внутренней памяти. По причине чего на нем поменяли материнскую плату. С памятью стало всё нормально. Но когда вышла версия Android 2.2 (Froyo), выяснилось, что "Хотелка" на него обновляться (по воздуху) отказывается. Качает под 80 мегов, начинает ставить, и — выдает красный треугольник с восклицательным знаком.
В представительстве особо глубоко разбираться не стали, припомнили, что однажды у них что-то в этом роде уже было, и на Тайване обнаружили какие-то пару байтов, занятых в ПЗУ чем-то другим, — так что решили аппарат просто поменять.
Поменяли, причем, по моим мольбам, обнаружили где-то в старых запасах "Хотелку" с экраном AMOLED, — практически подвиг, поскольку с лета их выпускают только на Super LCD.
Аппарат мгновенно обновился по воздуху. Хотя, при его начальной пустоте можно было бы и из файла; вся прелесть обновления по воздуху в том, что оно не затрагивает приложений, настроек и данных, в то время как из файла — сносит всё подчистую, и приходится тратить как минимум сутки, чтобы содержимое восстановить in status quo. Обновился. Получил новые радостные возможности, описанные как раз в вышеупомянутом "Огороде", — и зажил дальше.
А старая "Хотелка" лежала себе, упакованная, на столе, поджидая курьера из HTC.
Курьер же всё не ехал и не ехал, — даже после парочки моих напоминаний: вероятно, внутренне они списали мою первую "Хотелку" на брак и не собирались с ней особо возиться. И тогда я подумал: ну что он валяется просто так: у меня же открыты все возможности для разного рода экспериментов. Например, для попытки получить-таки права root, которая прежде никак мне не удавалась, а с новым я как-то… опасался. Не хотелось остаться с кирпичом вместо коммуникатора: все составители рецептов получения прав root предупреждают, что
такое возможно, и что никто, кроме самого меня, за это не отвечает. К тому же, вторая "Хотелка" была у меня вполне "рабочая" и, должен заметить, что она практически полностью заменила мне нетбук в поездках, да и дома едва ли не наполовину мой основной десктоп.
Ну, я распаковал первую "Хотелку" назад и принялся экспериментировать. К этому моменту в Сети было как минимум три рецепта для получения прав root, - попроще и посложнее, — и я начал пробовать каждый. И с каждым у меня не получалось ничего. Пробившись сутки, если не больше, я опустил было руки. Но тут мне в голову пришла, — как впоследствии оказалось, блестящая мысль: передать "Хотелку" давнему другу и практическому специалисту по компьютерам, — Сергею Блохнину. Пусть, дескать, поиграется, познакомится заодно поближе с Android’ом, на который как раз собрался переходить с некогда мною же порекомендованного "Артемки" (который с тех пор всё еще работает без нареканий). Блохнин аппарат взял и назавтра позвонил, сообщив, что у него тоже ничего не получилось. Даже не получилось поставить Froyo из файла. М-да… Неприятно.
Однако послезавтра позвонил снова и сказал, что ура, получилось! Что, по симптомам, он обнаружил в Сети предположение, что мой аппарат каким-то образом "залочен", — ну, как это бывает, например, с аппаратами, которые продают те или иные сотовые операторы, — за заметно меньшую цену, но с контрактом, "от которого нельзя отказаться". Понятное дело, что "разлочивать" такие устройства сетевой народ научился едва ли не раньше, чем операторы — "залочивать": надо было только понять, что дело именно в этом. Поставить диагноз. Ну, вероятно, "мама", которую мне установили вместо "битой", имела не операторскую, а какую-нибудь тестовую залочку. Или чего-нибудь еще другое. Блохнин проделал нужные телодвижения, — и вот, аппарат стал девственно чист и принимал новые прошивки что по воздуху, что из файла.
Обновив его до Froyo, Блохнин стал добиваться прав root, что сделал с первой попытки, причем, ничего из внутренностей при этом не оказалось задетым, - ну там, контакты, программы, настройки… Тогда решился и я. И у меня тоже мгновенно (то есть, минуты за три самого процесса и получаса на подготовку) всё получилось. Сбылась мечта идиота: я овладел правами root. Или, как называется иконка на аппарате, — "Суперпользователя". Сама иконка вместо традиционного черепа с костями представляет собой голову гугловского андроида, но тоже — с костями. Как говорится, "Не влезай — убьет!"
Кое у кого, естественно, тут же возникает вопрос: а для чего тебе root? Во всяком случае, молодой человек из HTC, с которым я постоянно общаюсь, ставил его передо мной неоднократно. Объясняю.
Во-первых, целый ряд программ (я бы сказал — классов программ, ибо найти им "нерутовую" замену не удаётся) требует root’а безоговорочно. А классы эти, как минимум, таковы: любые программы реального резервного копирования всего содержимого аппарата и любые программы для снятия скриншотов. Оно, конечно, Android — система крайне устойчивая, и я даже не слышал и не читал нигде, чтобы всё под ней вдруг само по себе слетело и уничтожилось, — а хранить, скажем, календарь, список контактов или даже список установленных программ, — для этого средства есть. В том числе, сетевые. Но если вдруг ты захочешь поменять прошивку неофициальным путем или не по воздуху, — вот тут-то бы и восстановиться. Ан — нет. К тому же, по Windows Mobile я как-то уже привык, что у меня всегда есть полный BackUp системы, и даже не один, — и это не раз мне помогало, а порой и просто выручало.
А что касается скриншотов, — может, нормальному человеку они и ни к чему, но я - журналист, пишу, в том числе, и про коммуникаторы, и мне надо где-то брать иллюстрации, — вот хотя бы для этого "Огорода".
Но это еще не всё. Root, кроме прочего, дает возможности прошивать аппарат любыми кастомными (самодельными) прошивками, и делать совсем полный BackUp, практически — образ системы, — прямо из скрытого от обычных пользователей первоначального загрузочного Linux-меню. То есть, снимаешь такой образ, перепрошиваешься, и, если вариант этой прошивки тебя по какой бы то ни было причине не устраивает, — возвращаешься к прежней. Нажатием двух-трех кнопок, и с потерей менее десяти минут времени.
Еще root необходим для специального форматирования карточки, под EXT-3, что ли, — чтобы на нее стало возможно перемещать программы из основной памяти. Но, как я напишу ниже, — на Froyo в этом нет уже ровно никакой нужды.
Что такое и зачем нужны кастомные прошивки? Ну, потому что фанаты этого дела вылизывают их элементы, зачастую делая их более эффективными, чем первоначальные, от производителя. Но это не главное. Главное — чистят ПЗУ от ненужных — на их взгляд — программ. Я, например, почти сразу поставил кастомную прошивку, в которой уже есть root, но из которой убран добрый десяток изначально стоящих на "Хотелке" программ. Например, "Акции" или "Новости и погода" от Google. И впрямь, — большинству владельцев "Хотелок" эти программы не особо нужны, или — имеют куда более мощные и удобные аналоги на Маркете. Например, я поначалу ужасно грустил об отсутствии в новой прошивке читалки лент RSS от HTC, к которой успел глубоко привыкнуть, — но пошарив на Маркете, обнаружил такую мощную, удобную (и бесплатную) замену (RSS Atom News Reader), что об оригинальной читалке назавтра же и вспоминать забыл.
Или умолчальный твиттер-клиент, Peep, который никак, ни на одном варианте системы, не пускал меня в твиттер, и был достаточно примитивен, — ему на смену пришел едва ли не идеальный (и тоже бесплатный) TweetCaster.
Кстати заметить, — все действительно ценные умолчальные программы, вроде уже упомянутых "Новостей и погоды", всегда находятся в Сети и отдельно. А те, что не находятся, — определенно этого и не стоят.
Вообще говоря, права root дают возможность стирать из ПЗУ ненужные программы и самому пользователю. Но тут возникают две детали. Первая: некоторые из вроде бы не нужных тебе программ завязаны на какие-то нужные тебе сервисы, и, стерев программу, ты их лишаешься. Вторая: увы, стирание ненужных программ обеспечивает тебе разве что повышение психологического комфорта – не видеть больше в меню лишних иконок, — но память не освобождает. На месте стертых программ остаются дыры, недоступные ни для каких других приложений.
Затем, в сущности, кастомные прошивки и нужны, чтобы изъять ненужное на стадии конструирования, и получить после сборки реально дополнительную свободную память.
И, чтобы завершить тему, кастомных прошивок много, они появляются чуть ли не каждый день, так что практически каждый может выбрать ту, что ему по вкусу. Ну, или остаться с официальной.
Теперь про освобождение памяти. Как я уже писал в "Ноль целых, одной десятой", Froyo дает возможность переносить программы из памяти телефона на карточку. Правда, не все, а которые уже написаны с таким прицелом.
Но вдруг выясняется (снова — Блохнин), что на самом деле в системе заложена возможность переноса на карточку любых (!) программ. Что есть некий параметр с тремя значениями (0,1,2), согласно которому программы по умолчанию ставятся либо исключительно во внутреннюю память (1), либо исключительно на карточку (2), либо — на карточку ставятся только те, которым это написано на роду (автовыбор, 0). Для рядового покупателя в системе установлен как раз третий вариант, и, возможно, правильно установлен: есть ряд программ, которые или вообще не работают с карточки или работают с нее плохо. В качестве примера приведу уже упомянутый TweetCaster: если он стоит на карточке, войти с него в Tweeter не получается. То есть, установив значение "по умолчанию — на карточку", ты должен это всё понимать и вручную переносить, что надо, во внутреннюю память. Для блондинки эта задача, пожалуй, что непосильная.
Изменение значения параметра не требует даже прав root, — требует только, чтобы система была не ниже Froyo. Производится операция довольно забавно: сначала ты ставишь на большой компьютер находящийся в свободном доступе Android SDK, затем устанавливаешь в большую систему переменную среды adb, на SDK указывающую (C:\android-sdk-windows\tools), затем подключаешь устройство в режиме синхронизации и из командной строки, через команду pm setInstallLocation 2, устанавливаешь нужную тебе двойку. Перезагружаешь девайс, — и в закладке каждой программы штатного "Управления приложениями" видишь кнопку "Переместить на SD-карту".
У меня получилось на раз, но не хочу брать на себя ответственность, если что у кого не получится, потому привожу на всякий случай адрес подробного рецепта: он находится здесь.
Согласитесь, возможности просто обалденные, особенно если учесть, что iGO занимает в памяти под 40 мегов, а Skype — под 20! То есть — открываются горизонты. Которыми я тут же и воспользовался, доустановив едва ли не десяток новых программ. (Тут же замечу, что программы, как правило, переносятся на карточку не целиком, а только в той части, которая спокойно может лежать и там.)
Правда, возникает новая проблема. Если раньше память заканчивалась (а она постоянно уменьшается, — за счет каких-нибудь там данных или кэшей), — ты просто стирал какую-нибудь не обязательную игрушку, и память снова освобождалась. Теперь же стирай или не стирай, - внутренней памяти всё равно не прибавится. Или прибавится самый чуток.
И на закуску забавный разговор с упомянутым выше молодым человеком из HTC. Я решил порадовать его открывшейся возможностью переноса программ на карточку, он довольно вяло выслушал и сказал: "А какой в этом смысл? Новые модели имеют на борту по гигабайту и больше, так что сперва попробуй этот внутренний гигабайт заполнить".
Понятное дело. HTC — впереди. А мы, кто приобрели не совсем свежие модели (а каждая модель становится не совсем свежей едва ли не на пути из магазина), на которых гигабайта нет, мы должны справляться со своими трудностями сами.
Но еще лучше — покупать новые модели. С гигабайтом!