101SHの軽量化とroot化

★AndroidアプリをSDカードにより多く移動

  1. 端末設定の”USBデバッグ”にチェックを入れ、有効にします。 (設定 > アプリケーション > 開発 > USBデバッグ)

  2. 「setInstallLocation」を変更します。

     $ adb shell pm setInstallLocation 2
     $ adb reboot
    

★「root」取得(※SHBreak4.apk[http://marijuana.ddo.jp/files/] の方が確実かも。2016/8の時点で)

※SHBreak4.apkの場合

    $ adb install SHBreakV4.apk

アプリを一度起動。終了。 二度目に起動。break×3。

    $ adb shell
    $ au

ついでにオールリセットのやり方。初期化される。

    $ rm -rf /data/*
    $ rm -rf /cache/*

★「root」取得(※古い)

  1. 「shdisphook」を実行

     $ adb push local/onload.sh /data/local/
     $ adb push local/libsdservice_jni.so /data/local/
     $ adb push local/shdisphook /data/local/
     ! $ adb push local/shsdgetroot-omap4 /data/local/
        
     $ adb shell chmod 755 /data/local/onload.sh
     $ adb shell chmod 755 /data/local/shdisphook
     ! $ adb shell chmod 755 /data/local/shsdgetroot-omap4
        
     $ adb reboot
     $ adb wait-for-device shell /data/local/shdisphook
    
  2. 「oncmd.sh」を実行

     $ adb push local/oncmd.sh /data/local/
     $ adb shell chmod 755 /data/local/oncmd.sh
    

「設定」→「microSDと端末容量」→「microSDのマウント解除」を選択すると作成して転送した”oncmd.sh”が実行される。 (「microSDのマウント解除」のダイアログはキャンセルする。と、/data、/cacheが0777になる。)

  1. 環境整備(「busybox」のインストール)

     adb shell ls -l /
        
     adb shell mv /cache/recovery /cache/recovery_
     adb shell ln -s /dev/shsd /cache/recovery
        
     adb shell ls -l /cache を実行し、以下のような感じで表示されていれば成功。
     drwxrwx--- root  root 2011-11-11 03:39 lost+found
     drw-rw-rw- system cache 2012-01-24 10:48 recovery_
     lrwxrwxrwx shell  shell 2012-03-02 13:24 recovery -> /dev/shsd
        
     adb shell mkdir /data/root
     adb shell chmod 0777 /data/root
        
     adb shell mkdir /data/root/bin
     adb shell chmod 0777 /data/root/bin
        
     adb push cmd/bin /data/root/bin/
     adb shell chmod 0755 /data/root/bin/*
     #adb shell chmod 0666 /data/root/bin/au
        
     adb push cmd/binst.sh /data/root/
     adb shell chmod 0755 /data/root/binst.sh
     adb shell /data/root/binst.sh
     adb shell /data/root/bin/rm /data/root/binst.sh
    

更に adb shell ls -l /dev/shsd を実行し、以下の通りに表示されていれば成功。

    crw-rw-rw- system cache 231, 0 2012-04-23 02:01 shsd
  1. 「inst.sh」をルート権限で実行

     adb push cmd/inst.sh /data/root/
     adb shell chmod 0755 /data/root/inst.sh
     adb shell /data/local/shsdgetroot-omap4 -v -a 0x8b000000 -u -c /data/root/inst.sh
     adb shell /data/root/bin/rm /data/root/inst.sh
        
     #http://androidsu.com/superuser/
     #adb push Superuser.apk /data/local/
     #adb shell /system/bin/pm install -t -f -r /data/local/Superuser.apk
     #adb shell /system/bin/rm /data/local/Superuser.apk
    
  2. 再「root」化

     adb reboot
     adb wait-for-device shell /data/local/shdisphook
    

「microSDのマウント解除」

    adb push cmd/inst.sh /data/root/
    adb shell chmod 0755 /data/root/inst.sh
    adb shell /data/local/shsdgetroot-omap4 -v -a 0x8b000000 -u -c /data/root/inst.sh
    adb shell /data/root/bin/rm /data/root/inst.sh

★パッケージの無効化(root化必要。戻す時にも)

    adb shell
    $ su
    pm list packages (リスト表示)
    #pm disable jp.co.sharp.android.lifelog.database
    #pm disable jp.co.sharp.android.wallpaper3d
    pm disable jp.co.sharp.android.offlinemoderecommend
    
    # カレンダー
    pm disable com.android.calendar
    # PCメール
    pm disable com.android.email
    # talk
    pm disable com.google.android.talk
    # mixi
    pm disable jp.mixi
    # mixiSH
    pm disable jp.co.sharp.android.mixiappmanager
    # スマートセキュリティ McAfee
    pm disable com.mcafee.vsm_android_sbm
    # ビューン
    pm disable jp.co.viewn.viewnapp
    # アプリダウンロード通知?
    pm disable com.google.android.feedback
    # Gmail (Use K-9 Mail)
    pm disable com.google.android.gm
    # Google search
    pm disable com.google.android.googlequicksearchbox
    # Google Services Framework(Google Playストアに支障が出る)
    #pm disable com.google.android.gsf
    # McAfee
    pm disable com.mcafee.vsm_android_sbm
    # 不明
    pm disable com.arcsoft.mediasee
    pm disable com.pv.wmdrmproxy
    pm disable com.pv.wmdrmservice
    pm disable com.svox.pico
    pm disable com.visionobjects.stylusmobile.data.ja_JP
    
    ## sharp start
    # 無線LAN簡単接続
    pm disable jp.co.sharp.android.AossWps
    ## TapFlowUIが直前の動作を記憶しなくなる(TapFlowUIの動作はする)
    #pm disable jp.co.sharp.android.filelog.database
    # lifelogを取り除く
    pm disable jp.co.sharp.android.lifelog.database
    # 方位計
    pm disable jp.co.sharp.android.compass
    # メジャーアップデート
    pm disable jp.co.sharp.android.majorupdate
    # メモ帳
    pm disable jp.co.sharp.android.memopad
    # 辞書
    pm disable jp.co.sharp.android.netdictionary
    ##pm disable jp.co.sharp.android.xmdfDict
    # SmartFamilink
    pm disable jp.co.sharp.android.smartfamilink
    pm disable jp.co.sharp.android.smartfamilink.digitalmediaselector
    pm disable jp.co.sharp.android.smartfamilink.ipcsetting
    # ホームネットワーク連携
    pm disable jp.co.sharp.android.dmsconnect
    # 壁紙
    pm disable jp.co.sharp.android.wallpaper3d
    pm disable com.sharp.fireworkswallpaper
    pm disable com.sharp.snowwallpaper
    # コンテンツマネージャー
    pm disable jp.co.sharp.android.cm
    # フォトブロック
    pm disable jp.co.sharp.android.photoblock
    # GALAPAGOS App for Smartphone
    pm disable jp.co.sharp.exapps
    # SharpIPCService
    pm disable jp.co.sharp.android.upnp.ipcservice
    # USB設定?(認識不能??)
    #pm disable jp.co.sharp.android.usbmode
    # USB充電設定?(充電できなくなる??)
    #pm disable jp.co.sharp.android.usbcharge
    # 不明
    pm disable jp.co.sharp.android.dlna.dms
    pm disable jp.co.sharp.android.paint3d
    pm disable jp.co.sharp.android.photoblock
    pm disable jp.co.sharp.android.shmediaplayer
    pm disable jp.co.sharp.android.snapshot
    pm disable jp.co.sharp.android.upnp.ipcservice
    
    ## Softbank
    # コミックLIFE
    pm disable jp.softbank.mb.comiclife
    # ムービーLIFE
    pm disable jp.softbank.mb.unlimitedmovie
    # お笑いLIFE
    pm disable jp.softbank.mb.yk001001
    # スマセレ
    pm disable jp.softbank.mb.myd.manager
    # ブック
    pm disable jp.softbank.mb.bookmanager
    # 音楽・動画
    pm disable jp.softbank.mb.mediaplayer
    # マニュアル
    pm disable jp.softbank.mb.manualviewer20
    # 101SHマニュアル
    pm disable jp.softbank.mb.guide20.sbm101sh
    # バージョンチェック?
    pm disable jp.softbank.mb.versioncheckapp
    # ソフトウェアインフォーメーション?
    pm disable jp.softbank.mb.softwareinformant

★エラーログを見る

    adb logcat
Written on July 30, 2012