zoukankan      html  css  js  c++  java
  • Nook2之搞机记

    曾多次搞机都要临时查好多资料,为了便于以后继续搞机,现把搞机的过程记录下来。

    准备资源

    1. noogie.img 制作引导盘的镜像:http://code.google.com/p/nst-recovery/downloads/list
    2. Win32DiskImager 制作引导盘的工具: https://launchpad.net/win32-image-writer/+download
    3. 一张>=128MmicroSD(TF)卡,用于制作引导盘
    4. DiskImage 1.6 用于备份及还原nook2:http://www.roadkil.net/program.php/P12/Disk%20Image 下载对应的系统版本
    5. DiskGenius 用于备份分区表:http://www.diskgenius.cn/
    6. uRamdisk 用于执行adb命令(分WIFI和USB版):http://code.google.com/p/nst-recovery/downloads/list
    7. adbandroid SDK(http://developer.android.com/sdk/index.html#download)中提取,或者SuperOneClick(http://shortfuse.org/?page_id=2)
    8. suSuperuser.apk 用于获取root权限:从http://nookdevs.com/NookColor_Installing_su_and_the_Superuser_app 下载或者更新的版本
    9. sqlite 3 shell 用于修改sqlite数据库:http://www.sqlite.org/download.html找到sqlite-shell-win32…的zip包
    10. NookColor Tools用于开启usb调试、更换输入法等(自带Launcher):http://forum.xda-developers.com/showthread.php?t=868366
    11. jre 用于运行jar程序:http://java.com/en/download/
    12. (可选)apktool (需要jre) 用于反编译apk:http://code.google.com/p/android-apktool/downloads/list

    注意:这些资源文件最好放在英文目录,否则可能有不可预知的错误发生

    系统升级

    1. Barnes & Noble下载升级zip包
    2. nook开机状态下,usb连接电脑
    3. 把下载的zip包放入nook分区(注意:不是microSD卡) 切换到屏保状态下
    4. 等待几分钟nook会自动重启升级

    话说目前最新的1.2.0还是杯具的Android 2.1系统,好多软件不能装啊

    系统重置

    重置系统数据

    开机状态下通过Settings中的Erase & Deregister Device功能;

    或者在关机状态下,按住开机键开机同时按住左右两个下面的翻页键,等出现是否重置的提示,按n确认。

    恢复出厂设置

    八次打断法:在关机状态下,开机出现Read Forever,然后按住电源键直到闪屏松开(一直重复大约8次),就会自动进入恢复出厂设置

    另外可以通过adb命令,已root的机器开机状态下(未试过):

        adb shell
        echo -n -e "\x08\x00\x00\x00" > /rom/devconf/BootCnt
        reboot

    Root

    替换uRamdiak(这里用的是WIFI版本,如果没有无线路由器,也可以用usb版本)

    1. 关闭nook2:按住电源键选择power off
    2. 插入引导盘microSD卡
    3. 按住电源键开机,屏幕会出现Root Forever
    4. 通过usb线连接电脑,会出现boot分区
    5. 复制uRamdisk覆盖boot到boot分区
    6. 拔出microSD卡并重启

    WIFI版本的uRamdisk有一定风险,容易被扫描到,所以不用adb等功能时务必关闭WIFI。

     adb connect <ip> 
        adb install Superuser.apk
        adb push su /data/local/
        adb shell
        cd /system/bin
        mount -o remount,rw /dev/block/mmcblk0p5 /system
        cat /data/local/su > su
        chmod 6755 su
        reboot

    开启"允许安装非市场应用"

        adb connect <ip>
        adb shell
        mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
        exit
        adb pull /data/data/com.android.providers.settings/databases/settings.db settings.db
        sqlite3 settings.db "update secure set value=1 where name='install_non_market_apps';"
        adb push settings.db /data/data/com.android.providers.settings/databases/settings.db
        del settings.db
        adb reboot

    这一步也可以在NookColor Tools中设置

    关闭自动升级(非必须)

    在开着wifi的情况下,设备可能会自动下载升级包进行升级,特别是已root的机器。

        adb connect <ip>
        adb pull /data/data/com.bn.devicemanager/databases/devicemanager.db devicemanager.db
        sqlite3 devicemanager.db "update registry set value='manual' where name='com.bn.device.fota.mode';"
        adb push devicemanager.db /data/data/com.bn.devicemanager/databases/devicemanager.db
        del devicemanager.db
        adb reboot

    修改键盘映射(适用于1.0,1.1)

    注意:此方法在1.2.0无效,而且替换了android.policy.jar和services.jar之后,机器重启会卡在Read Forever,只能恢复出厂设置。

    此方法需要用到NookTouch Tools以及对应nook2版本(注意:只有1.0以及1.1的)的jars(android.policy.jar、services.jar):(http://forum.xda-developers.com/showthread.php?t=1289894)

        adb connect <ip>
        adb install NookTouchTools-1.0b2.apk
        adb shell
        mount -o remount,rw /dev/block/mmcblk0p5 /system
        exit
        adb push jars/android.policy.jar /system/framework/
        adb push jars/services.jar /system/framework/
        adb reboot

    修改键盘映射(适用于1.2.0)

    此方法需要自行编译android.policy.jar、services.jar(https://github.com/doozan/NookTouchPatches),步骤如下:

    准备工具

    1. 下载patche01.zip并解压得到patch.exe

    2. 下载7za920.zip并解压得到7za.exe

    3. 下载这两个jar文件:baksmali, smali

    4. 下载1.2.0系统使用的patch文件:android.policy.patchservices.patch

    5. 把以上得到的文件放到同个目录下

    解压并给android.policy.jar打补丁

    adb pull /system/framework/android.policy.jar android.policy.orig.jar
    java -jar baksmali-1.4.0.jar -o android.policy android.policy.orig.jar
    patch -p1 < android.policy.patch

    重新编译android.policy.jar

    7za.exe e android.policy.orig.jar  -oandroid.policy-bin
    java -jar smali-1.4.0.jar -o android.policy-bin\classes.dex android.policy
    cd android.policy-bin
    ..\7za.exe a -mx9 -tzip ..\android.policy.jar *
    cd ..

    解压并给services.jar打补丁

    adb pull /system/framework/services.jar services.orig.jar
    java -jar baksmali-1.4.0.jar -o services services.orig.jar
    patch -p1 < services.patch

    重新编译services.jar

    7za.exe e services.orig.jar  -oservices-bin
    java -jar smali-1.4.0.jar -o services-bin\classes.dex services
    cd services-bin
    ..\7za.exe a -mx9 -tzip ..\services.jar *
    cd ..

    替换重新编译的两个jar文件

    adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
    adb push android.policy.jar /system/framework/
    adb push services.jar /system/framework/
    adb reboot

    重启之后安装NookTouch Mod Manager(https://github.com/doozan/NookTouchModManager/downloads),然后就可以修改键盘的映射了。

    安装软件以及输入法等

    常用的软件有:

    1. NookColor Tools
    2. Root Explorer(http://www.coolapk.com/apk/1229/)
    3. System App Remover(http://www.coolapk.com/apk/3200/)
    4. APV PDF Viewer Pro(http://code.google.com/p/apv/downloads/list)
    5. (可选)讯飞PAD语音输入法:(http://ime.voicecloud.cn)
    6. (可选)AirDroid(http://www.coolapk.com/apk/4335/)
    7. (可选)TaskMan(http://www.coolapk.com/apk/2750/)
    8. (可选)Nook Touch Launcher(http://forum.xda-developers.com/showthread.php?t=1300285)

    使用dos for命令可以批量安装程序(比如apk文件都在apks目录下):

        adb connect <ip>
        for /r %a in (apks\*.apk) do adb install "%a"
        adb reboot

    其实有了AirDroid之后,比adb更加方便了,不管是安装软件或者拷贝文件。

    启动Launcher

    安装好以上软件重启之后,可以选择启动Nook Touch Launcher;如果没装Nook Touch Launcher,则可以启动NookColor Tools的Launcher。

    首先通过apktool反编译:

    java -jar apktool.jar d NookColorTools_0.2.apk

    查看得到的AndroidManifest.xml可以知道NookColor Tools的入口,然后通过adb启动:

    adb shell am start -n com.benhirashima.nookcolorsettings/com.ben
    hirashima.nookcolorsettings.NCSettings

    启动Nook Touch Launcher则是:

    adb shell am start -n io.xor.nooktouchtools/io.xor.nooktouchtools.MainActivity

    开启NookColor Tools之后,通过All Settings->Development->Android Launcher可以启动NoolColor Tools带的Launcher。

    设置输入法

    1. 通过Launcher打开Root Explorer),注意低版本Root Explorer可能需要先Mount R/W
    2. 把com.benhirashima.nookcolorsettings.apk和com.iflytek.inputmethod.pad.apk从/data/app移动到/system/app(此操作也可以通过adb命令完成)
    3. 重启
    4. 在NookColor Tools中Choose Keyboard选择新的输入法

    其他的快捷辅助软件

    1. Button Savior 按键救星(http://www.coolapk.com/apk/3382/)
    2. SmartBar 智能状态栏(http://www.coolapk.com/apk/2344/)
    3. Smart Taskbar 智能任务栏(http://www.coolapk.com/apk/2821/)
    4. Conjure 快速启动(http://www.coolapk.com/apk/6295/)
    5. Virtual Button Bar 虚拟工具栏(http://www.coolapk.com/apk/4505/)
    6. 其他支持Android 2.1的状态栏插件、手势插件、虚拟按键插件

    可以自行挑选其中几个作为常用软件,其中Button Savior需要先做如下设置

    1. 需要NookColor Tools在/system/app目录
    2. 通过All Settings->Development->USB debugging开启usb调试
    3. 然后就可以开启Button Savior进行设置了

    可精简的系统程序

    1. Airruntime
    2. CloudService
    3. ContactsProvider
    4. CrytoServer
    5. DemoMode
    6. Music
    7. NookCommunity
    8. Phone
    9. Picotts
    10. Shop
    11. Social
    12. TelephoneProvider
    13. TtsService
    14. WaveformDownloader

    除了以上可精简的意外,还有以下程序可精简(需谨慎):

    1. BnCloudRequestSvc.apk
    2. CloudService.apk
    3. DrmProvider.apk
    4. Gallery.apk
    5. QuickStratActivity.apk
    6. UserDictionaryProvider.apk

    另外如浏览器如果不用也可删除。

    参考资料

    1. http://nookdevs.com/Nook_Simple_Touch/Rooting
    2. http://www.hi-pda.com/forum/viewthread.php?tid=857877&extra=page%3D1
    3. http://forum.xda-developers.com/forumdisplay.php?f=1198
  • 相关阅读:
    Django 的 CSRF 保护机制
    uni横向滑动
    uni模板
    下载excel文件,链接,通过按钮点击创建a标签实现
    vue去除input输入框空格适用于搜索查询框
    整理个人笔记Linux的一些常用命令
    简单概括一下JAVA中的ANT的配置
    谈谈JavaIO System对IO的三种支持
    JAVA使用类库对数组和各种Collection容器进行排序
    c语言自行设计矩形类构造函数
  • 原文地址:https://www.cnblogs.com/lwme/p/nook_simple_touch_rooting.html
Copyright © 2011-2022 走看看