Всё бы хорошо в "прокачанном" окружении Nook Simple Touch — рут, гугломаркет, сторонний полноценный лаунчер, любая читалка на выбор — но есть и недостатки, которые не так-то легко исправить. Привычному к Android человеку будет тяжело без выделенных кнопок Назад, Меню и Домой; первые две в оболочке Nook располагаются в верхней панели статуса, но показываются далеко не всегда, а третья всегда открывает стандартную оболочку от B&N. Есть ещё панель инструментов, вызываемая нажатием кнопки N, но она имеет очень мало смысла для любителей стороннего софта, ведь её кнопки вызывают только приложения B&N. Есть много способов справиться с этим ограничением: Button savior для кнопок управления, ReLaunch в качестве лаунчера — для переназначения некоторых пунктов панели инструмента. Но есть и более продвинутый способ: внедрение в систему посредством замечательного набора патчей NookTouchPatches.
Данные патчи расширяют код системных файлов android.policy.jar и services.jar. На данный момент это даёт следующие вкусности:
Потекли слюнки? Тогда приступим.
(ниже следует перевод инструкции с некоторыми адаптациями)
Данные патчи расширяют код системных файлов android.policy.jar и services.jar. На данный момент это даёт следующие вкусности:
- Постоянное отображение кнопок Назад/Меню на строке статуса
- Отключение drag to unlock на скринсейвере (нет надобности в сторонних прогах) — Nook разблокируется простым нажатием на кнопку N
- Переназначение кнопок панели инструментов B&N на ЛЮБЫЕ программы и стандартные действия. Нет надобности в обязательной установке ReLaunch, если хочется использовать эти кнопки; поддерживаются все кнопки панели, даже те, что не поддерживает ReLaunch, а также иконка Now reading; очень широкий спектр действий, доступных для назначения: помимо всех установленных программ, есть Назад, Меню, Поиск и множество других.
- Переназначение физических кнопок на любые программы и стандартные действия; поддерживаются также долгие нажатия.
Потекли слюнки? Тогда приступим.
Требования
Для успешного выполнения всех процедур понадобится:- На ПК — установленная Java (можно даже минимальный набор, JRE). Версия подойдет любая более-менее актуальная.
- На Nook — рут, возможность установки сторонних приложений.
- Поддерживаются версии прошивки NST Glowlight 1.1.5, 1.2.0 и 1.2.1. Есть подтверждения корректной работы данных патчей на Nook без подсветки, однако прошивка должна быть версии 1.2.0 или выше!
- Поддержка версии прошивки NST Glowlight 1.1.5 прекращена автором. Новые версии патчей рассчитаны только на 1.2.x.
- Необязательно, но желательно сделать резервную копию содержимого читалки.
(ниже следует перевод инструкции с некоторыми адаптациями)
- Создайте отдельную папку для манипуляций с файлами — например, nookmods. На всякий случай убедитесь, что в пути к ней нет пробелов и нелатинских символов.
- Скачайте и извлеките в папку nookmods файлы из архивов:
- Скачайте в папку nookmods следующие файлы:
- baksmali-1.4.0.jar — для простоты уберите номер версии из названия файла, т.е. чтобы файл назывался baksmali.jar
- smali-1.4.0.jar — для простоты уберите номер версии из названия файла, т.е. чтобы файл назывался smali.jar
- Для прошивок 1.2.0/1: android.policy.patch и services.patch
- Для прошивок 1.1.5: android.policy.patch и services.patch
- Программу-настройщик отсюда
- Скачайте с Nook в папку nookmods файлы /system/framework/android.policy.jar и /system/framework/services.jar и сохраните их под именами android.policy.orig.jar и services.orig.jar соответственно. Можно сделать это через adb, если он настроен; я для простоты скопировал их на самом Nook в раздел /media посредством ES Explorer, а потом перенёс на компьютер, подключив читалку к USB.
Внимание! Сохраните эти исходные jar файлы, желательно — в нескольких местах (на самой читалке и на ПК). Они пригодятся, когда автор патчей что-то добавит, поскольку сами патчи не инкрементальные, рассчитаны только на применение с оригинальными jar файлами. - Примените патчи:
- Скачайте в папку nookmods скрипт-автоматизатор и запустите его ЛИБО
- Запустите командную строку, перейдите в папку nookmods и последовательно выполните следующие команды:
Декомпиляция и патч policy
java -jar baksmali.jar -o android.policy android.policy.orig.jar patch -p1 < android.policy.patch
Сборка изменённого policy7za.exe e android.policy.orig.jar -oandroid.policy-bin java -jar smali.jar -o android.policy-bin\classes.dex android.policy cd android.policy-bin ..\7za.exe a -mx9 -tzip ..\android.policy.jar * cd ..
Декомпиляция и патч servicesjava -jar baksmali.jar -o services services.orig.jar patch -p1 < services.patch
Сборка изменённого services7za.exe e services.orig.jar -oservices-bin java -jar smali.jar -o services-bin\classes.dex services cd services-bin ..\7za.exe a -mx9 -tzip ..\services.jar * cd ..
- Если всё прошло благополучно, получите на выходе два пропатченных файла: android.policy.jar и services.jar. Закидывайте их обратно на Nook в папку /system/framework/ любым удобным способом (adb, подключение раздела /system как накопителя и т.д. — я опять же для простоты залил в /media, а оттуда уже на самом Nook с помощью ES Explorer вставил пропатченные файлы). Заодно закиньте файл NookTouchModManager.apk. Проверьте права доступа и владельца у переписанных файлов (обычно в файл-менеджерах это в свойствах файла): они должны быть такие же, как у соседних файлов — владелец root, права доступа -rw-r--r-- (чтение/запись для владельца, чтение для группы, чтение для всех).
- Перезагрузите Nook. Не пугайтесь, если загрузка займёт много времени — это только в первый раз, потом будет грузиться быстрее. Думаю, это связано с перестроением кэша приложений.
- Установите NookTouchModManager
- Наслаждайтесь новыми крутыми фичами :)
Какая прошивка с гугломаркетом и гмэйлом?
ОтветитьУдалитьЯ ставил GlowNooter (http://forum.xda-developers.com/showthread.php?t=1675706), но можно попробовать NookManager (http://forum.xda-developers.com/showthread.php?t=2040351) с плагином NTGAppsAttack (http://forum.xda-developers.com/showthread.php?t=2086582)
УдалитьПомогите пожалуйста! Ничего не патчит, пишет всякую фигню:
Удалить"java" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
patch unexpectedly ends in middle of line
patch: **** Only garbage was found in the patch input.
Для продолжения нажмите любую клавишу . . .
Или такую:
"java" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
patching file android.policy/.gitignore
can't find file to patch at input line 12
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/android.policy/com/android/internal/policy/impl/LockScreen.smali b
/android.policy/com/android/internal/policy/impl/LockScreen.smali
|index b7f7e46..d471e36 100644
|--- a/android.policy/com/android/internal/policy/impl/LockScreen.smali
|+++ b/android.policy/com/android/internal/policy/impl/LockScreen.smali
--------------------------
File to patch:
Что делать?
так написано же ""java" не является внутренней или внешней
Удалитькомандой, исполняемой программой или пакетным файлом."
нужно установить ява
http://www.java.com/ru/download/windows_xpi.jsp?locale=ru
"Для успешного выполнения всех процедур понадобится:
УдалитьНа ПК — установленная Java (можно даже минимальный набор, JRE). Версия подойдет любая более-менее актуальная."
Этот комментарий был удален автором.
ОтветитьУдалитьДля Nook Simple Touch нет способа разблокировать простым нажатием на кнопку N?
ОтветитьУдалитьЕсть: дополнительный софт. Вот тут инфа про несколько таких программ: http://4pda.ru/forum/index.php?showtopic=261990&st=300#entry9177178. Но можно попробовать поставить данные патчи: теоретически, они должны сработать и для Нука без подсветки
УдалитьМожно ли использовать вашу доработку для нук симпл тач (без глоулайт) версия 1.2.1 образ от ЗироХаос?
ОтветитьУдалитьЭто очень хороший вопрос :) Вообще, в описании патчей сказано, что они совместимы с версиями 1.2.0/1 и 1.1.5. Поскольку начиная с 1.2.0 B&N свели обе ветки прошивок (для Нуков с подсветкой и без) в одну, эти патчи должны сработать для Нука без подсветки. На практике же пока никто не рискнул. Хотя риск тут минимален, даже если пропатченные файлы не подойдут: всегда можно восстановиться из бэкапа либо заменить файлы на оригинальные. Так что попробуй ;) Главное - про предварительный бэкап не забыть!
УдалитьПодтверждаю.
УдалитьНа обычный nook simple touch встаёт без проблем и работает как надо.
Спасибо за тест! Добавил инфу в статью
УдалитьКакая версия java требуется ?
ОтветитьУдалитьЛюбая, добавил в статью
УдалитьЗдравствуйте.Нужен Ваш совет .Проделал все как по инструкции.Файлы пропатчились и благополучно скопированы в system/framework.Установил приложение ,запускаю его и появляется меню настройки конфигурации с пунктами
Удалить-всегда показывать back/menu в статусбаре
-disaible drag to unlock
-restore glowlight
итд.А дальше куда идти,где делать требуемые настройки по кнопке N ?Заранее спасибо за ответ
Привет!
УдалитьЭто меню второго уровня, надо нажать Back либо стрелочку Назад, меню первого уровня должно выглядеть так:
Надпись Found modified jars:
...
Кнопка Configure Mod options
Кнопка Modify Button Actions
У меня нет надписи Found modified jars и кнопка Кнопка Configure Mod options только одна.По ней я и попадаю в меню с пунктами о котором писал ранее.
Удалитьприведу лог моих действий-может Вы укажите ,что я делаю не так....
Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.
C:\Documents and Settings\Роман>cd c:\nookmods
C:\nookmods>java -jar baksmail.jar -o android.policy.orig.jar
C:\nookmods>java -jar baksmali.jar -o android.policy android.policy.orig.jar
C:\nookmods>patch -p1 < android.policy.patch
patching file android.policy/.gitignore
patching file android.policy/com/android/internal/policy/impl/LockScreen.smali
patching file android.policy/com/android/internal/policy/impl/ModUtils$Keyinfo.s
mali
patching file android.policy/com/android/internal/policy/impl/ModUtils.smali
patching file android.policy/com/android/internal/policy/impl/PhoneWindowManager
.smali
C:\nookmods>7za.exe e android.policy.orig.jar -oandroid.policy-bin
7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Processing archive: android.policy.orig.jar
Extracting META-INF
Extracting META-INF\MANIFEST.MF
Extracting classes.dex
Everything is Ok
Folders: 1
Files: 2
Size: 175683
Compressed: 81525
C:\nookmods>java -jar smali.jar -o android.policy\classes.dex android.policy
C:\nookmods>cd android.policy-bin
C:\nookmods\android.policy-bin>..\7za.exe a -mx9 -tzip ..\android.policy.jar *
7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Creating archive ..\android.policy.jar
Compressing classes.dex
Compressing MANIFEST.MF
Everything is Ok
C:\nookmods\android.policy-bin>cd..
C:\nookmods>java -jar baksmali.jar -o services services.orig.jar
C:\nookmods>patch -p1 < services.patch
patching file services/.gitignore
patching file services/com/android/server/PowerManagerService.smali
patching file services/com/android/server/status/BNGossamerQuickNavbar.smali
patching file services/com/android/server/status/ModUtils$1.smali
patching file services/com/android/server/status/ModUtils$2.smali
patching file services/com/android/server/status/ModUtils.smali
patching file services/com/android/server/status/StatusBarService.smali
C:\nookmods>7za.exe e services.orig.jar -oservices-bin
7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Processing archive: services.orig.jar
Extracting META-INF
Extracting META-INF\MANIFEST.MF
Extracting classes.dex
Everything is Ok
Folders: 1
Files: 2
Size: 1129743
Compressed: 524165
C:\nookmods>java -jar smali.jar -o services-bin\classes.dex services
C:\nookmods>cd services-bin
C:\nookmods\services-bin>..\7za.exe a -mx9 -tzip ..\services.jar *
7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
Scanning
Creating archive ..\services.jar
Compressing classes.dex
Compressing MANIFEST.MF
Everything is Ok
C:\nookmods\services-bin>cd ..
C:\nookmods>
Очень странно... версии патчей точно совпадают с версией прошивки? Можно еще попробовать снести TocuhModManager, перегрузиться, поставить заново, еще раз перегрузиться
ОтветитьУдалитьсовпадают.У меня нук с подсветкой и установленной сборкой от ZeroChaos .Попробую еще ваши рекомендации
ОтветитьУдалитьсколько по времени идет загрузка(п.7)?уже 10 минут мигает-загружается
ОтветитьУдалитьЭто уже ненормально. Что-то не так сделал, надо восстанавливаться и делать заново
УдалитьЭто уже ненормально. Что-то не так сделал, надо восстанавливаться и делать заново
УдалитьЭто уже ненормально. Что-то не так сделал, надо восстанавливаться и делать заново
Удалитьпоменял права и владельца, и все заработало, спасибо!
ОтветитьУдалитьВо, точно, у многих с этим бывают проблемы. Хотя мне это странно. Каким способом заливал файлы на девайс?
УдалитьВо, точно, у многих с этим бывают проблемы. Хотя мне это странно. Каким способом заливал файлы на девайс?
УдалитьПомогите, не получается пропатчить, вот что выскакивает
ОтветитьУдалить(пробовал на другом компьютере, тоже самое)
в программе PowerShell
Windows PowerShell
(C) Корпорация Майкрософт, 2009. Все права защищены.
PS C:\Users\Администратор> e:
PS E:\> cd nookmods
PS E:\nookmods> java -jar baksmali.jar -o android.policy android.policy.orig.jar
PS E:\nookmods> patch -p1 < android.policy.patch
Оператор "<" зарезервирован для дальнейшего использования.
строка:1 знак:12
+ patch -p1 < <<<< android.policy.patch
+ CategoryInfo : ParserError: (<:OperatorToken) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : RedirectionNotSupported
через команду cmd
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corporation), 2009. Все права защищены.
C:\Users\Администратор>e:
E:\>cd nookmods
E:\nookmods>java -jar baksmali.jar -o android.policy android.policy.orig.jar
E:\nookmods>patch -p1 < android.policy.patch
patch unexpectedly ends in middle of line
patch: **** Only garbage was found in the patch input.
Если есть возможность попробуйте пропатчить
ОтветитьУдалитьВот моя папочка nookmods с моими оригинальными файлами android.policy.jar и services.jar
http://yadi.sk/d/2SL8uRtU74PxE
Всё патчится, версии патчей должны соответствовать версии прошивки
УдалитьВпервые встречаюсь с подобными вещами и никогда не патчила. Объясните пожалуйста доходчиво чайнику вот такие вещи:
ОтветитьУдалить-открыла командную строку - как дальше выполнять команды? Просто копипастить код в 5 пункте?
-зачем на ПК устанавливать Java? чтобы форматы поддерживались или как?
- а эти вещи - android.policy.patch и services.patch - у меня просто открываются в отдельных вкладках. Что с ними делать?
Спасибо заранее.
- Да, просто построчно копировать в окно командной строки и выполнять
Удалить- Java нужна для работы программ по сборке/разборке jar файлов, к сожалению, без ее установки не обойтись
- Это нормально, т.к. они обычные текстовые файлы. Надо их просто сохранить.
Можно также использовать скрипт-автоматизатор (добавил ссылку на него перед пунктом с перечислением команд)
Удалитьвсе нормально. но почему-то картинки иконок, которые появляются при нажатии кнопки n остались те же. приложения запускаются новые, а картинки те же.. как поменять картинки?
ОтветитьУдалитьМне для этого понадобилось перезагрузить девайс
УдалитьSpell, Благодарю за патчи!
ОтветитьУдалитьНа Nook Simple Touch (без подсветки) + update до 1.2.1 + root от ZeroLab + ядро c Multitouch-Flashmod-USBhost - патчи встали без проблем! Все работает! И способ разблокировать простым нажатием на кнопку N ! Была "обрезанная" читалка, а стала Супертаблетка!
Здравствуйте, большое вам спасибо за статью, крайне полезная вещь, установил, все работает.
ОтветитьУдалитьНо у меня возник один вопрос: у вас на самом последнем скрине экрана видно что внизу по кнопке "n" разворачивает выбор из шести слотов. А при запуске NookMod в настройках "Modify Button Actions" у меня выбор только в том чтобы навесить приложение или действие на любой из пяти стандартных Quicknav: Home-Library-Shop-Search-Setting. Где же собака зарыта ? :)
У меня Nook Glowlight, там +1 кнопка собственно для подсветки :)
УдалитьАх вот же чёрт :-) Ну, ладно, обойдусь и пятью... :-)
УдалитьЕще раз спасибо за понятное изложение материала :-)
Подскажите, что делать! Не дает скопировать файлы обратно в /system/framework
ОтветитьУдалитьГоворит, что the file system is read-only. Не дает в самом фале поменять права доступа и владельца (владелец не root).
Доступ к /system с самого Нука возможен только под рутом. Как вариант можно загрузить Нук из-под Noogie, подключить к Линуксу и там вставить изменённые файлы.
УдалитьПри этом файлы патчей видны как android.policy.patch.txt в командной строке.
ОтветитьУдалитьФайлы должны иметь расширение .patch, а не .txt.
УдалитьПри попытке закинуть в нужную папку пропатченные файлы, выдает ошибку. Я полагаю, что в следствии отсутствия прав. Рут есть, в свойствах информацию о правах не нашел.
ОтветитьУдалитьКак быть, посоветуйте?
Столько манипуляций уже проделал(
Надо подключить папку для записи, в Root explorer есть выделенная кнопка для этого, в ES - опция в настройках
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьА как изменить рисунок и надпись в нижнем, выезжающем баре? Dropbox поставил, а показывает Shop и иконка тоже его.
ОтветитьУдалитьОбычно требуется перезагрузить читалку.
УдалитьЗдравствуйте !
ОтветитьУдалитьОчень нужна помощь в таком вопросе: в моём Нуке отказал сенсор (работает только вверху экрана). В принципе он мне и не нужен - я могу листать боковыми кнопками, но встала проблема разблокировки. Данная проблема решилась тем, что я установил прошивку ZeroLab и Нук стало возможным разблокировать нажатием на "подковку" внизу и последующим нажатием боковой левой верхней "палочки". Но теперь проблема попасть в библиотеку и открыть любую книжку. В принципе после установки ZeroLab и разблокировки в верхнем левом углу горит значок книжечки и нажав на него (сенсор то у меня вверху работает) открывается "Руководство пользователя Nook". Вот у меня вопрос: возможно ли какими-то действиями в программных файлах сделать так, чтоб нажатием на этот значок открывалось не Руководство, а какая-либо книга из памяти библиотеки, которую я задам командой ? Или может есть более простые способы обходится полностью без сенсорного управления на книжке ?
Буду очень признателен за ваши советы.
Можно настроить эту кнопочку на открытие любой программы в патчах, но не уверен, что это возможно сделать без сенсора.
УдалитьМожно подключить через шнур usb-otg мышь и сделать нужные манипуляции, однако чтобы она заработала, нужна программа, в которой тоже как-то надо нажать кнопки.
Либо можно запустить adb через wifi или поставить сервер удаленного администрирования (например, VNC) и по wifi рулить книгой с компа. Это, по идее, можно сделать без сенсора.
А пробовал чистить кромки экрана? Часто бывает, что они забиваются пылью, и сенсор перестает действовать.
Спасибо. Про вытирание я знаю - так два года назад решал проблему. Сейчас же отказал нижний сенсор окончательно. Решил проблему так. Попросил у знакомого такую же читалку, открыл на ней книгу на первой странице, а потом вышел на титульный экран. В левом верхнем углу появился значок открытой книжечки при нажатии на который открывается книга которую ты читал. Потом я сделал бэкап его читалки и залил на свою. Теперь при разблокировке я могу нажать на указанный выше значок и открыв книгу могу её читать листая кнопками. Проблему открытия других книг решил таким способом - после того, как книга прочитана, я присоеденяю Нук к компу и закидываю новую книгу, но строго с таким же именем файла, какой имела прочитанная книга (операция "копировать с заменой"). И у меня уже новая книга готовая к чтению. В принципе меня такой вариант вполне устраивает :)
ОтветитьУдалить