<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Erinome Lane &#187; android-tweaking</title>
	<atom:link href="https://tt.erinome.net/tag/android-tweaking/feed" rel="self" type="application/rss+xml" />
	<link>https://tt.erinome.net</link>
	<description>a bit of this, a bit of that...</description>
	<lastBuildDate>Mon, 23 Mar 2026 12:51:51 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.2.38</generator>
	<item>
		<title>Локальные группы контактов в Android</title>
		<link>https://tt.erinome.net/2014/12/762</link>
		<comments>https://tt.erinome.net/2014/12/762#comments</comments>
		<pubDate>Wed, 24 Dec 2014 12:47:43 +0000</pubDate>
		<dc:creator><![CDATA[root]]></dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[android-tweaking]]></category>
		<category><![CDATA[mobile-tech]]></category>

		<guid isPermaLink="false">http://tt.erinome.net/?p=762</guid>
		<description><![CDATA[В современных смартфонах под управлением Android в стандартных прошивках зачастую присутствуют преднастроенные локальные группы контактов, которые стандартными средствами невозможно ни удалить, ни переименовать. Обычно они называются &#8220;Colleagues&#8220;, &#8220;Family&#8221; и &#8220;Friends&#8221; и нередко в адресной книге отображаются над синхронизируемыми группами Google-аккаунта &#8230; <a href="https://tt.erinome.net/2014/12/762">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>В современных смартфонах под управлением <strong>Android</strong> в стандартных прошивках зачастую присутствуют преднастроенные локальные группы контактов, которые стандартными средствами невозможно ни удалить, ни переименовать. Обычно они называются &#8220;<em>Colleagues</em>&#8220;, &#8220;<em>Family</em>&#8221; и &#8220;<em>Friends</em>&#8221; и нередко в адресной книге отображаются <em>над</em> синхронизируемыми группами <em>Google</em>-аккаунта или других сетевых сервисов. И они продолжают отображаться даже в том случае, когда они пусты и в них нет ни одного контакта. Не приходится говорить о том, насколько это глупо и неудобно.</p>
<p>Для взломанных телефонов с <em>root</em>-доступом эта проблема подлежит исправлению.<span id="more-762"></span></p>
<p>Нам потребуется:</p>
<ul>
<li>Права суперпользователя на телефоне и утилита <a href="http://4pda.ru/forum/index.php?showtopic=318487" target="_blank">SuperSu</a> или ее аналоги;</li>
<li>Редактор баз данных &#8211; например, <a href="http://4pda.ru/forum/index.php?showtopic=212994" target="_blank">SQLite Editor</a>;</li>
<li>Аккуратность.</li>
</ul>
<p><strong>ВНИМАНИЕ! Мы не несем ответственности за исправность вашего оборудования после проведения описанных в статье действий. Вы производите все операции на свой страх и риск. Неумелое редактирование системных баз данных смартфона может привести к неработоспособности системы и потребует ее перепрошивки.</strong></p>
<p>Процесс удаление неугодных локальных групп достаточно прост и займет не более пяти минут.</p>
<ol>
<li>Открываем <strong>SQLite Editor</strong> и соглашаемся предоставить ей права суперпользователя. Если запроса от <strong>SuperSu</strong> не последовало &#8211; попробуйте использовать <strong>Root Explorer</strong> для выбора файла для редактирования. Иначе вы не сможете сохранить внесенные изменения.</li>
<li>Переходим на закладку <em>Files</em> и переходим в каталог <em>/data/data/com.google.android.providers.contacts/databases</em>. В нем интерес представляет файл contacts.db (в зависимости от прошивки &#8211; contacts2.db). Открываем его.</li>
<li>Спустя некоторое время программа отобразит список таблиц, хранимых в выбранной базе данных контактов. Отыскиваем строку <em>groups</em> и нажимаем на нее.</li>
<li>Открывается содержимое таблицы <em>groups</em>. В этих строках хранится информация обо всех существующих группах контактов.  Чаще всего нередактируемые локальные контакты занимают первые три строки и имеют <em>account_id</em>, равный единице.</li>
<li>Редактор SQLite допускает удаление строк, но для минимизации риска порчи данных убрать неугодные группы контактов можно просто путем выставления единицы в поле <em>deleted</em>. Для этого нажимаем на интересующую нас строку и кликаем на значок карандаша сверху экрана.</li>
<li>Открывается меню редактирования выбранной строки. Меняем значение поля <em>deleted</em> с нуля на единицу и нажимаем кнопку <em>Save</em>.</li>
<li>Повторяем это действие для остальных предзаданных групп контактов и закрываем <strong>SQLite Editor</strong>.</li>
</ol>
<p>Теперь перезапускаем приложение адресной книги и убеждаемся, что локальные группы в ней более не отображаются вообще!</p>
<p>PS: Вместо выставления единицы в поле <em>deleted</em> можно также поставить ноль в поле <em>group_is_read_only</em> &#8211; после этого переименовать или удалить локальные группы станет возможным через обычный встроенный редактор групп в адресной книге.</p>
]]></content:encoded>
			<wfw:commentRss>https://tt.erinome.net/2014/12/762/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Android &#8211; обновление часовых поясов</title>
		<link>https://tt.erinome.net/2012/02/176</link>
		<comments>https://tt.erinome.net/2012/02/176#comments</comments>
		<pubDate>Mon, 27 Feb 2012 10:25:43 +0000</pubDate>
		<dc:creator><![CDATA[root]]></dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[android-tweaking]]></category>

		<guid isPermaLink="false">http://tt.erinome.net/?p=176</guid>
		<description><![CDATA[Во многих даже современных прошивках для аппаратов Android разработчики до сих пор не удосуживаются обновить данные о временных зонах, из-за чего Москва продолжает оставаться в часовом поясе GMT+3 с переходом на летнее время. На телефонах с root-доступом мы можем поправить &#8230; <a href="https://tt.erinome.net/2012/02/176">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Во многих даже современных прошивках для аппаратов Android разработчики <strong>до сих пор</strong> не удосуживаются обновить данные о временных зонах, из-за чего Москва продолжает оставаться в часовом поясе <strong>GMT+3</strong> с переходом на летнее время. На телефонах с root-доступом мы можем поправить эту несправедливость и научить телефон считать нашим часовым поясом <strong>GMT+4</strong> без летних переходов. Также этот способ поможет и для других городов, пострадавших от изменения часовых поясов глупыми властями страны.<span id="more-176"></span></p>
<h3>Предупреждение</h3>
<ul>
<li>Данная инструкция подразумевает, что вы имеете root-доступ к своему аппарату.</li>
<li>Для обновления данных о часовых поясах необходимо модифицировать системные файлы, поэтому при неумелых действиях вы можете сломать операционную систему вашего устройства. Прежде, чем приступать к выполнению данной инструкции, неплохой идеей будет сделать полный бэкап NAND.</li>
<li>В инструкции предполагается, что вы уже умеете пользоваться adb.exe. Подробности настройки в тексте опущены.</li>
</ul>
<h3>Необходимое ПО</h3>
<ul>
<li>Установленный и настроенный <a href="http://developer.android.com/sdk/index.html" title="Android SDK" target="_blank">Android SDK</a> (требуется adb.exe);</li>
<li>Архиватор типа WinRAR или 7-Zip;</li>
</ul>
<h2>Инструкция</h2>
<ul>
<li>(Опционально) Делаем резервную копию текущих временных зон, сохранив их на компьютере:</p>
<pre class="console">adb pull /system/usr/share/zoneinfo/zoneinfo.version
adb pull /system/usr/share/zoneinfo/zoneinfo.dat
adb pull /system/usr/share/zoneinfo/zoneinfo.idx</pre>
<p>Затем переносим эти файлы в надежное место.</li>
<li>Скачиваем <a href="http://www.iana.org/time-zones" title="определения временных зон" target="_blank">архив</a> с актуальными определениями временных зон с официального сайта IANA. Распаковываем архив в каталог с adb.exe или любой другой на ваш вкус.</li>
<li>Перемонтируем системный раздел Android из режима только чтения (read-only) в режим записи:
<pre class="console">adb remount</pre>
</li>
<li>Заменяем старые версии определений часовых поясов на новые:
<pre class="console">adb push zoneinfo.version /system/usr/share/zoneinfo/zoneinfo.version
adb push zoneinfo.dat /system/usr/share/zoneinfo/zoneinfo.dat
adb push zoneinfo.idx /system/usr/share/zoneinfo/zoneinfo.idx</pre>
<p>Не забудьте указать корректный путь к копируемым файлам в случае, если вы их разместили не в каталог с adb.exe.</li>
<li>Перезагружаем телефон.</li>
</ul>
<p>Если вы все сделали правильно, то после перезагрузки в настройках времени в вашем аппарате вы увидите Москву с часовым поясом GMT+4.</p>
<h3>Ссылки</h3>
<p>Благодарим за информацию о файлах часовых поясов пользователя <a href="http://habrahabr.ru/blogs/android/130808/" title="источник" target="_blank">byte46</a> с habrahabr.ru.</p>
<p>Update 2014:<br />
Как ни странно, эта заметка стала снова актуальна &#8211; изобразить на вашем телефоне вечную зиму с GMT+3 можно аналогичным образом, скачав новые определения часовых поясов.</p>
]]></content:encoded>
			<wfw:commentRss>https://tt.erinome.net/2012/02/176/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android &#8211; увеличение числа уровней громкости</title>
		<link>https://tt.erinome.net/2012/02/128</link>
		<comments>https://tt.erinome.net/2012/02/128#comments</comments>
		<pubDate>Fri, 24 Feb 2012 19:00:35 +0000</pubDate>
		<dc:creator><![CDATA[root]]></dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[android-tweaking]]></category>

		<guid isPermaLink="false">http://tt.erinome.net/?p=128</guid>
		<description><![CDATA[Я был весьма удивлен, узнав, что в Android по умолчанию присутствует всего лишь 15 фиксированных градаций изменения громкости от минимальной к максимальной. Прямо сказать &#8211; это очень мало. При прослушивании музыки в тихих помещениях я нередко попадал в ситуацию, когда &#8230; <a href="https://tt.erinome.net/2012/02/128">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Я был весьма удивлен, узнав, что в Android по умолчанию присутствует всего лишь 15 фиксированных градаций изменения громкости от минимальной к максимальной. Прямо сказать &#8211; это очень мало. При прослушивании музыки в тихих помещениях я нередко попадал в ситуацию, когда один уровень громкости является слишком тихим, а уровень ступенью выше &#8211; слишком громким. Нужно было что-то менять.<br />
Как оказалось, для аппаратов с root-доступом решение данной проблемы существует!<span id="more-128"></span></p>
<h3>Предупреждение</h3>
<ul>
<li>Данная инструкция подразумевает, что вы имеете root-доступ к своему аппарату.</li>
<li>Для увеличения числа градаций громкости необходимо модифицировать системные файлы, поэтому при неумелых действиях вы можете сломать операционную систему вашего устройства. Прежде, чем приступать к выполнению данной инструкции, неплохой идеей будет сделать полный бэкап NAND.</li>
<li>В инструкции предполагается, что вы уже умеете пользоваться adb.exe. Подробности настройки в тексте опущены.</li>
<li>Описанный способ может работать не на всех аппаратах. Отдельные значения числа градаций могут приводить к нелинейным изменениям уровня громкости. Если это произошло &#8211; попробуйте выставить другое число градаций.</li>
</ul>
<h3>Необходимое ПО</h3>
<ul>
<li>Установленный и настроенный <a href="http://developer.android.com/sdk/index.html" title="Android SDK" target="_blank">Android SDK</a> (требуется adb.exe);</li>
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" title="Java Development Kit" target="_blank">Java Development Kit</a>;</li>
<li>Архиватор типа WinRAR или 7-Zip;</li>
<li>Текстовый редактор;</li>
<li>Утилита <a href="http://api2.ge.tt/0/9LvgHdB/0/blob/download" title="Smali/Baksmali Manager" target="_blank">Smali/Baksmali Manager</a> (<a href="http://fs.erinome.net/android/baksmalimanager.zip" title="зеркало" target="_blank">зеркало</a>)</li>
</ul>
<h2>Инструкция</h2>
<h3>Получение системного файла framework.jar</h3>
<p>Подключите ваш телефон к компьютеру в режиме <strong>USB Debugging</strong> и убедитесь, что он распознается системой при помощи команды <strong>adb devices</strong> в командной строке.</p>
<p>Для копирования файла framework.jar из внутренней памяти телефона в текущий каталог командной строки наберите:</p>
<pre class="console">adb pull /system/framework/framework.jar</pre>
</li>
<h3>Распаковка и модификация файла framework.jar</h3>
<p>Прежде, чем изменять полученный файл framework.jar, неплохой идеей будет сделать его бэкап на случай, если что-то пойдет не так.</p>
<p>После этого откройте каталог, в который вы распаковали <strong>smali/baksmali</strong>, перенесите в него полученный на предыдущем шаге файл и запустите файл <strong>baksmali Manager.bat</strong>.</p>
<a href="http://tt.erinome.net/wp-content/uploads/2012/02/android1.png" rel="lightbox[el128]"><img src="http://tt.erinome.net/wp-content/uploads/2012/02/android1-300x153.png" alt="" title="smali manager - step 1" width="300" height="153" class="alignnone size-medium wp-image-137" /></a>
<p>Нажмите <strong>4</strong> (select file to work), затем аналогично цифрой выберите framework.jar.</p>
<p>Нажмите <strong>1</strong> (baksmali) для распаковки выбранного файла.</p>
<p>Теперь в каталоге smali manager&#8217;а образовался новый каталог framework. Найдите файл <strong>framework\android\media\AudioService.smali</strong> и откройте его текстовым редактором.</p>
<p>Запустите поиск по следующей строке:<br />
<strong>Landroid/media/AudioService;->MAX_STREAM_VOLUME:[I</strong><br />
При этом вы должны увидеть нечто подобное:</p>
<a href="http://tt.erinome.net/wp-content/uploads/2012/02/android11.png" rel="lightbox[el128]"><img src="http://tt.erinome.net/wp-content/uploads/2012/02/android11-300x234.png" alt="" title="AudioService.smali - step 1" width="300" height="234" class="alignnone size-medium wp-image-139" /></a>
<p>Строкой выше найденного ищем идентификатор массива, содержащего искомое число уровней громкости. В нашем примере это <strong>array_19c</strong>. Теперь запускаем поиск по найденному идентификатору, и должны найти таблицу:</p>
<a href="http://tt.erinome.net/wp-content/uploads/2012/02/android12.png" rel="lightbox[el128]"><img src="http://tt.erinome.net/wp-content/uploads/2012/02/android12-300x234.png" alt="" title="AudioService.smali - step 2" width="300" height="234" class="alignnone size-medium wp-image-140" /></a>
<p>В таблице нас интересуют строки <strong>0xft 0x0t 0x0t 0x0t</strong> &#8211; именно <strong>0xft</strong> в них отвечает за 15 уровней громкости. И, как можно заметить, <strong>f</strong> в шестнадцатеричной системе счисления &#8211; это и есть <strong>15</strong> в десятичной системе. Следовательно, чтобы сделать 30 различных уровней громкости &#8211; необходимо всего лишь заменить <strong>0xft</strong> на <strong>0x1et</strong> (30 десятичное = 1E шестнадцатеричное).</p>
<p>Сохраняем измененный файл с тем же именем.</li>
<h3>Запаковка framework.jar и загрузка его в память телефона</h3>
<p>Возвращаемся в smali manager и нажимаем цифру <strong>2</strong> (smali) для запаковки файлов обратно в понятную для Android структуру.</p>
<a href="http://tt.erinome.net/wp-content/uploads/2012/02/android13.png" rel="lightbox[el128]"><img src="http://tt.erinome.net/wp-content/uploads/2012/02/android13-300x153.png" alt="" title="smali manager - step 2" width="300" height="153" class="alignnone size-medium wp-image-146" /></a>
<p>В процессе данной операции будет создан файл <strong>classes.dex</strong>. Данный файл необходимо поместить внутри архива <strong>framework.jar</strong>. Для этого открываем последний с помощью любого подходящего архиватора, после чего просто перетаскиваем classes.dex в открывшееся окошко.</p>
<p>Теперь осталось лишь загрузить измененный файл framework.jar обратно в память аппарата. Раздел /system, где хранился данный файл, по умолчанию смонтирован в системе Android в режиме только чтения (read-only), поэтому для начала потребуется перемонтировать его с правами записи:</p>
<pre class="console">adb remount</pre>
<p>Затем для непосредственного копирования набираем:</p>
<pre class="console">adb push framework.jar /system/framework/framework.jar</pre>
<p>После того, как файл окажется успешно загружен, следует убедиться, что на него оказались выставлены корректные права доступа. Используем следующий набор команд:</p>
<pre class="console">adb shell
$ chmod 644 /system/framework/framework.jar</pre>
<p>Можно убедиться, что напротив файла <strong>framework.jar</strong> отображается набор разрешений <strong>-rw-r--r--</strong> при помощи команды:</p>
<pre class="console">$ ls -la /system/framework/</pre>
<p>Затем необходимо перезагрузить устройство, чтобы изменения вступили в силу. Для этого можно воспользоваться командой <strong>adb reboot</strong>.</p>
<p>Если вы все сделали правильно, то после успешной перезагрузки в вашем аппарате будет уже 30 различных градаций уровня громкости.</p>
]]></content:encoded>
			<wfw:commentRss>https://tt.erinome.net/2012/02/128/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
	</channel>
</rss>
