子供用のスマホとして使用していたARROWS Me F-11Dがお役目ご免となったので、
お遊び用と動作チェック用端末としてRAM領域をあけるために、とりあえずroot化して、無効化していなかった富士通やdocomoのアプリを無効化しました。
root化するには、
- Android SDK(Android向けソフトウェアを開発するための開発環境、実際にしようするadb[Android Debug Bridge]はplatform-tools内にあります)
- ADBUSBドライバー(AndroidとPCをUSB接続する為のドライバー)
- githubツール、PortableGit
- break_setresuid(ルート化するプログラム)
- Android NDK(Android向けソフトウェアをネイティブコードで開発するための開発環境)
- suバイナリ(※ADB経由で一時的にroot化するだけの場合は不要です)
- STEP1
- Android SDKが無い場合は Installing the Android SDK | Android Developersよりstand-alone SDK Tools. をクリックし ANDROID SDKをダウンロードし好きな場所に解凍します。(解凍したフォルダー内のplatform-tools\内にadbの実行ファイルはありますので必要であればPATHを通してください)
- STEP2
- 富士通の携帯電話(ADB USBドライバ ダウンロード) – FMWORLD.NET(個人) : 富士通から ADBUSBドライバーとADB用USBドライバ説明書をダウンロードします。
- STEP3
-
ダウンロードファイルを解凍し、
USBドライバ説明書に従ってインストール作業をすすめる。
USBドライバ説明書に従ってインストール作業をすすめるていったのですが、readme.txtの
7)「参照」ボタンを押して、1)項で解凍したADBドライバを格納したフォルダ 「usb_ADBdriver_Fujitsu」を指定し、「次へ」を押してください。
ところで次を押しても、エラーとなりインストールできません。
取りあえずサイトで調べてみたところ、
ダウンロードしたファイルそのままだとF-11Dの定義がないためWindowsがドライバを見つけられないので定義を追加
usb_driver_F-11D_1.0.zipを展開してusb_driver_F-11D_1.0\android_winusb.infの
[Google.NTamd64]の項目に以下の行を追加(※とりあえず一番下の176行目に追加)
との事でしたので、infファイルを修正後、再度インストール作業を行うと今度は無事にインストールが完了しました。
念のため接続確認 後は、コマンドプロンプトを起動し、(※PATHを通していない場合は、ANDROID SDKのplatform-toolsに移動後)d) 以下のコマンドを入力し、「$」プロンプトが表示されれば、ADB接続完了となり ます。 「adb kill-server」
と表示されれば、無事、ARROWS Me F-11DのADB接続が完了となりますので exitと入力し一度、adb shellから抜けDOSプロンプトに戻ります。
「adb shell」
- STEP4
-
githubのツール、PortableGitをhttps://github.com/msysgit/msysgit/releasesにアクセスしダウンロードします。
※https://github.com/hiikezoe/break_setresuidにアクセスしてDOWNLOAD ZIPでファイルをダウンロードしてもファイル一式が上手くダウンロードできす、うまくコンパイルできない為上記ツールを使ってダウンロードします。 - STEP5
-
break_setresuidの入手
コマンドプロンプトを立ち上げて、PortableGitのインストール先に移動し
とコマンドをうちbreak_setresuidをダウンロードします。git clone --recursive https://github.com/hiikezoe/break_setresuid
- STEP6
-
Android NDK の入手
NDK Downloads | Android Developers よりダウンロードしインストールします。
- STEP7
-
break_setresuidのバイナリーファイル作成
break_setresuidのフォルダー移動後、
のコマンドを実行しバイナリーファイルを作成します。ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=./Android.mk
成功すれば、break_setresuidフォルダー内にlibsフォルダーが出来き、break_setresuidが有ります。 - STEP8
-
suバイナリーの入手
Andoroid端末で使用したいSuperuser系アプリのsuバイナリーを入手します。
今回は、Superuser by ClockworkModを使用しました。
https://download.clockworkmod.com/superuser/superuser.zip
※ADB経由で一時的に、root権限を取得したいだけの場合は不要です。 - STEP9
-
ARROWS Me F-11Dのroot権限取得
先ほど作成したbreak_setresuidを端末にコピーします。
break_setresuidが出来たlibsフォルダーに移動後、adb push break_setresuid /data/local/tmp/break_setresuid
break_setresuidを実行してroot権限を一時的に取得します。
プロンプトが#に代わっていたらroot権限の取得に成功です。adb shell chmod 755 /data/local/tmp/break_setresuid /data/local/tmp/break_setresuid
- STEP10
-
root権限が無いとできなかったアプリの無効化
有効中のアプリリストを表示 pm list packages -e
上記の一覧を元にパッケージ名がnttdocomoやfujitsuが付いたファイルを無効化していく
pm disable-user パッケージ名
その時、無効化した一覧は取ってないのですが 現状無効化にしているリストの一部抜粋になります。 ちなみに、無効化リストの表示コマンドは pm list packages -d になります。com.fujitsu.TemperatureDialog com.fujitsu.dmc com.fujitsu.dmcwaiting com.fujitsu.labs.powersave com.fujitsu.mobile_phone com.fujitsu.mobile_phone.AladinIfControl com.fujitsu.mobile_phone.AutoRotationSimpleChange com.fujitsu.mobile_phone.ContactsSecretSetting com.fujitsu.mobile_phone.ExpansionView com.fujitsu.mobile_phone.FdtpApplication com.fujitsu.mobile_phone.FdtpMfcAccess : package:com.fujitsu.nxinput.chinese package:com.fujitsu.nxinput.korea : package:com.nttdocomo.android.accountauthenticator package:com.nttdocomo.android.applicationmanager package:com.nttdocomo.android.areamail package:com.nttdocomo.android.atf package:com.nttdocomo.android.databackup : package:jp.co.nttdocomo.bridgelauncher package:jp.co.nttdocomo.docomo_WiFi.preinstall package:jp.co.nttdocomo.lcsapp package:jp.co.nttdocomo.lcsappsub package:jp.co.nttdocomo.pf.piad package:jp.co.nttdocomo.saigaiban
- おまけ
-
一応、これでADB経由で、/data/local/tmp/break_setresuidを実行すれば一時的にroot化できますが、
端末側でもrootが取得できるようにします。
一旦adb切断後再度、suバイナリーをローカルより端末にコピーしroot権限を取得します
suを所定の場所にコピーし、所有者とパーミッションを変更しますadb push su /data/local/tmp/ adb shell chmod 755 /data/local/tmp/break_setresuid /data/local/tmp/break_setresuid
後は、端末にgoogle playよりSuperuserをインストールすれば完了です。mount -o rw,remount /system /system dd if=/data/local/tmp/su of=/system/xbin/su chown root.root /system/xbin/su chmod 06755 /system/xbin/su