ワンタップで一時root(DIGNO S)

~前回までのあらすじ~
・DIGNO Sで一時root取得可能に
・「/data/local/tmp」に「run_root_shell」を置いて、実行権限を与えて実行すればOK
・さらに「/data/local/tmp/run_root_shell -c "コマンド"」で任意のコマンドをroot権限実行できる
・これを利用して、似非root(sxコマンド)と本root(suコマンド、ただしDIGNO Sのセキュリティに引っかかってFeliCaロックされる)をセット
・しかし、実行するには毎回ターミナルを起動しないといけないので面倒。

で、今回の本題。
なんとかショートカットからワンタップで一時rootや再起動を実行したい。
でも、/data/以下が一般権限で不可視な上、本root+ESファイルエクスプローラで無理矢理ショートカットを張っても実行できないぽい。
やっぱり諦めるしかない…?


そこでこれ。
GScript Lite - Google Play の Android アプリ

インストールして、スクリプトを追加し、「ウィジェットの追加」からコマンドを貼るだけ。
参考にした記事(GScript Lite:よく使うシェルスクリプトを保存してショートカットまで作成できる便利アプリ。 - Android(アンドロイド)おすすめアプリ・カスタムニュース|AndroidLover.Net)だと、「ショートカット」で貼れてるみたいだけど、その辺はホームアプリによって違うのかも。
ちなみに、今回は「run_root_shell」で一時rootを使うので、「Needs SU?」は全部OFF。

これで、ワンタップでWireless ADBをON/OFFしたり、似非root/本root化(いずれも一時)ができるようになった。
ただ、試した限りでは再起動以外のコマンドはGScriptが立ち上がってしまうので終了させないといけないし、その際に発行されるThread.stopでUnsupportedOperationExceptionになってしまう(恒久rootじゃないからかも)ので、厳密にはワンタップじゃない(ショートカットをタップ→Closeをタップ→クラッシュダイアログをタップの計3タップ。実際はフォルダに入れてあるので4タップ)。

それでも、たまになかなか起動しないことのあるコンソールアプリでイライラすることがないので、気軽にWireless ADBやrootを使えるようになったのは便利。
もっとも、それらを使うのは1ヶ月に1回あるかないか程度なんだけどね。

ちなみに、タイトルにDIGNO Sって入れてあるけど、run_root_shellが使える端末だったら他のでもOK。
別の方法で一時root取れる端末でも、端末単体で取れるなら応用できるかも。