{{outline}}
{{include_html gad-kijikan-reku}}
!!!次なるステップへ向けて
!!Linux コマンド
[BusyBox 導入|http://htcevo-isw11htwiki.fxtec.info/wiki.cgi?page=root%B2%BD%A4%CB%A4%C4%A4%A4%A4%C6#p19] の項で触れたが Android は <>
標準搭載されている <<コマンドの数は少なく>> Android の機能を 100% 活かすことは難しいであろう
そこで [BusyBox 導入|http://htcevo-isw11htwiki.fxtec.info/wiki.cgi?page=root%B2%BD%A4%CB%A4%C4%A4%A4%A4%C6#p19] が出てくる訳だがこれらコマンドはどこに保存されているのだろう
:●各コマンドの保存場所:
<<標準搭載>> されているコマンド
*/system/bin/
<> したコマンド
*/system/xbin/
:●各保存場所の実際:
01) <>
http://i.imgur.com/QIx91.png
02) <> のプロパティ
http://i.imgur.com/RWQRD.png
03) <>
http://i.imgur.com/XRfuP.png
04) <> のプロパティ
http://i.imgur.com/FazFG.png
:●cal コマンド:
ここで <> にのみ存在する <> コマンドに注目する
これは <<カレンダーを表示する>> コマンドである
01) [Android Terminal Emulator|https://market.android.com/details?id=jackpal.androidterm&feature=search_result] から <> を入力後実行する
http://i.imgur.com/VwgnS.png
*現在の月の <<カレンダーが表示される>>
:●結果:
*/system/xbin/ の方が <<圧倒的にコマンド数が多く>> /system/bin/ にはないコマンドもある
*BusyBox を導入することで cal コマンドを例に <<実際にコマンド ( 機能 ) が拡張された>>
*<<重複するコマンドが存在する>>
**重複するコマンドがある場合 Android は <<どちらのコマンドを使用する>> のだろうか
**重複するコマンドがある場合 <<どのように使い分ければよいのか>>
**[攻撃は最大の防御なり|http://blog.goo.ne.jp/are_001/c/96ebffb56870f91eb1afdfea4767788a] サイト参照のこと
:●Linuxコマンド一覧:
その他コマンドの使用方法は下記サイト参照のこと
*[Linuxコマンド一覧|http://cyberam.dip.jp/linux_command/command/com_main.html#a0]
:●番外:Linux コマンドと adb の関係:
adb を使うことでパソコンから 上記と <<同じ結果を得ることができる>>
01) EVO と パソコンを USB で接続する
02) コマンドプロンプトを立ち上げる
03) <> を入力後実行する
http://i.imgur.com/wMZyD.png
:●まとめ:
パソコン から Linux コマンドを実行するには下記の通り <> の先頭に __adb shell__ を付けて実行する
*__adb shell__ <>
http://i.imgur.com/PCqeN.png
**adb は <<パソコンから EVO へ 接続する>> ことができる
**またパソコンと EVO にて <<ファイルの送受信が可能になる>> 特に <> 起動時にその力を発揮する
!!adb
Android はデバッグ向けに <> という機能を提供している
これまでに少し触れ合う場面があったがこの機能を覚えるだけで
<<もしものとき>> や <<スマートに>> 作業したい場合に大いに役立つ
:●もしものとき...:
ファイルの変更・削除を誤ってしまい <<再起動が繰り返される>> 場合や <<ブート画面で止まる>> 場合
adb で接続し <<バックアップファイルとの差し替え>> や <<修正>> を行うことで回避できる場合がある
*[無限再起動から抜け出すには|http://htcevo-isw11htwiki.fxtec.info/wiki.cgi?page=root%B2%BD%A4%CB%A4%C4%A4%A4%A4%C6#p69] 参照のこと
:●スマートに...:
*''adb shell''
*''cd /system/bin/''
*''chmod 6755 su''
<<3>> つのコマンドを実行しているが下記コマンドにて <<1>> つにまとめることができる
*''adb shell chmod 6755 /system/bin/su''
:●解説サイト:
幸いにも adb の扱いを <<大変分り易く解説している>> ブログを発見したので一度訪れることをお勧めする
*[攻撃は最大の防御なり|http://blog.goo.ne.jp/are_001/c/96ebffb56870f91eb1afdfea4767788a]
adb 以外にも Android SDK の導入から root ユーザー向けの情報まで <<幅広く分かり易く>> 述べられている
今さら誰にも聞くことができない基礎の解説や <<何となくあやふやな認識で通り過ごしそうな部分の解説>> もある
更なる知識向上へ向けて次なるステップへの手助けになることであろう
なお adb は <> に組み込まれているので忘れず導入すること
!!mount
下記コマンドを見たことはないだろうか
*'''mount -o remount,rw <> /system'''
このコマンドは /system を <<操作する場合に使用する>>
内容は /system を <<読み書きできる状態にする>> コマンドである
Android はセキュリティ強化のため /system を <<読み取り専用>> としてマウントする
そのため上記のコマンドで <<自由に操作できるようにする>>
今回は <> に注目する
これは <<機種毎に決められたデバイス名>> である
もちろん上記は適当な数値を入れたので実行すると <<そのデバイスは無い>> と返ってくる
機種毎に決められたデバイス名を導き出すには <> コマンドを使用する
通常起動時と ClockworkMod Recovery 起動時の <<結果の違いにも注目する必要がある>>
:●検証1:通常起動時:
01) mount を実行
http://i.imgur.com/1I2Wi.png
*<> が <> ( 読み取り専用 ) でマウントされている
*<> が <> ( 自由に操作できる状態 ) でマウントされている
:●検証2:ClockworkMod Recovery 起動時:
01) mount を実行
http://i.imgur.com/EwWEg.png
*<> でマウントされている
02) ClockworkMod Recovery 操作から <> の mount を実行
http://i.imgur.com/Yy7T9.png
*<> が <> でマウントされた
03) ClockworkMod Recovery 操作から <> の mount を実行
http://i.imgur.com/05gd8.png
*<> が <> でマウントされた
04) ClockworkMod Recovery 操作から <> の mount を実行
http://i.imgur.com/MXpGE.png
*<> が <> でマウントされた
05) ClockworkMod Recovery 操作から <<全てのデバイスの unmount>> を実行
http://i.imgur.com/RysEK.png
*<<全てのデバイスがアンマウントされた>>
:●結果:
*通常起動時 /system は <> ( 読み取り専用 ) でマウントされている
*ClockworkMod Recovery 起動時は <>でマウントされている
*ClockworkMod Recovery の mount は <>
'''●EVO の各デバイス名'''
:/system:
*/dev/block/<>
:/cache:
*/dev/block/<>
:/data:
*/dev/block/<>
:/sdcard:
*/dev/block/<>
**検証時の<< SD カードのパーティションが一つ>> のため 1 デバイスしか検出されていない
**環境により複数のパーティションがある場合は mmcblk0<>...mmcblk0<> と増えていく
**SWAP や Apps2SD にてアプリが <<正しいデバイス名を指定しているか>> 確認する必要がある
!!id
現在ログインしているユーザーは <<どの権限>> を持っているのか
ターミナルで徐に <<$>> が <<一般ユーザー>> で <<#>> が <<管理者 ( root ) >> と判断している
もちろん <<正しい判断である>> がもう少し掘り下げてみる
# と表示されているが <<本当に root と同等の権限>> をもったユーザーなのだろうか
それを調べるコマンドが <> である
ターミナルにて <> と入力する
見慣れない英数字の羅列が表示されるがちゃんと意味はある
注目すべきは <> と <> の <<数値>> である
簡単に述べえると数値が<<低いほど権限が高い>>
またフォントを入れ替えようと下記コマンドを実行する
*''adb push DroidSansJapanese.ttf <>/fonts/''
*''adb shell chmod 644 <>/fonts/DroidSansJapanese.ttf''
ある人はコマンドを <<実行できる>>
ある人はコマンドを <<実行できない>>
その違いはどこにあるのだろうか
:●検証1:通常起動時:
01) <> から <> を実行
http://i.imgur.com/Pt1xg.png
*uid gid 共に <<2000 = shell>> ユーザーである
02) <> から <> にログイン
http://i.imgur.com/OYBlL.png
*<<一般ユーザー>> でログインされた
03) <> から <> を実行
http://i.imgur.com/w1n3W.png
*uid gid 共に <<2000 = shell>> ユーザーである
04) <> を実行し <> を実行
http://i.imgur.com/TT1dH.png
*uid gid 共に <<0 = root>> ユーザーになった
:●検証2:ClockworkMod Recovery 起動時:
01) <> から <> を実行
http://i.imgur.com/dAFwP.png
*uid gid 共に <<0 = root>> ユーザーである
02) <> から <> にログイン
http://i.imgur.com/QVKMX.png
*<> でログインされた
03) <> から <> を実行
http://i.imgur.com/4Zi2e.png
*uid gid 共に <<0 = root>> ユーザーである
:●結果:
*通常起動時 は adb 接続に <>
*ClockworkMod Recovery 起動時は adb 接続に <>
<>
!!無限再起動から抜け出すには
システム内部の設定を変更すると稀に <<無限再起動>> や <> 状態に陥ることがある
まずは <<電源 + ボリュームボタン 下 の同時押し>> で <> することが第一である
それでも <<移行できない場合>> 下記の方法を試みること
:●準備:
*ADB コマンドをパソコンから実行できる環境の構築 ( Android SDK )
*パソコンと EVO を USB で接続する
:●Recovery へ移行:
コマンドプロンプトから下記コマンドを実行する
*<>
http://i.imgur.com/NBQoB.png
**<> へ移行することがきる
**なお <<通常起動時>> で <<操作不能 ( フリーズ )>> に陥っても上記コマンドで <> へ移行できる場合がある
:●復旧作業:
無事 Recovery へ移行することができたら <<リストア>> するなり <> 等で <<原因箇所の修正>> へと進むことができる
*リストアする場合:
**[手動にてリストアする|http://htcevo-isw11htwiki.fxtec.info/wiki.cgi?page=root%B2%BD%A4%CB%A4%C4%A4%A4%A4%C6#p25]
*adb を使う場合:
**<<現在の状況を見る>> ことができる <> を使用することにより <<早期解決>> に繋がる可能性がある
:●logcat:
'''頭文字の各重要度'''
*V : 冗長 ( 低い )
*D : デバッグ
*I : 情報
*<> : 警告
*<> : エラー
*<> : 致命的 ( 高い )
'''●使用法'''
ログは <<膨大な量が出力される>> のでフィルターを掛けて <<目的の重要度のみ表示させる>>
また出力されたログをテキスト形式で保存して <<原因の特定>> を行う
*< log.txt>>
**<<警告>> 以上の重要度をすべて表示する
**log.txt を作成してログ情報を保存する
**またログ出力を止める場合は <> を押す
:●実演:無限再起動に陥った:
無限再起動に陥る原因の一つに <> に記載された <<命令>> が原因であることが多い
'''例:'''<> に <> の1行があること
'''●logcat の状況'''
E/System ( 4395): Failure starting core service
E/System ( 4395): java.lang.SecurityException
E/System ( 4395): at android.os.BinderProxy.transact(Native Method)
E/System ( 4395): at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
E/System ( 4395): at android.os.ServiceManager.addService(ServiceManager.java:72)
E/System ( 4395): at com.android.server.ServerThread.run(SystemServer.java:300)
E/AndroidRuntime( 4395): *** FATAL EXCEPTION IN SYSTEM PROCESS: ConnectivityThread
W/RecognitionManagerService( 4395): no available voice recognition services found
W/Zygote ( 4571): Class not found for preloading: android.widget.TextView$SelectionModifierCursorController$1
E/Zygote ( 4571): setreuid() failed. errno: 17
E/libEGL ( 4592): eglSetSwapRectangleANDROID:1833 error 3008 (EGL_BAD_DISPLAY)
W/zipro ( 4607): Unable to open zip '/system/etc/customer/bootanimation.zip': No such file or directory
W/PackageManager( 4592): Unknown permission com.htc.android.mail.permission.WRITE_MAIL in package com.htc.calendar
W/PackageManager( 4592): Unknown permission com.htc.permission.SOCIAL_NETWORK in package com.htc.album
'''●解決方法'''
01) 無限再起動中に <> を入力後実行する
http://i.imgur.com/0b4tl.png
02) <> が立ち上がる
http://i.imgur.com/NBQoB.png
03) <> を選択後決定する
http://i.imgur.com/7u1Hh.png
04) <> を選択後決定する
http://i.imgur.com/cdCso.png
05) <> でパソコンに <> を送信する
http://i.imgur.com/4riQF.png
06) <> を修正する
http://i.imgur.com/GkhXs.png
↓
http://i.imgur.com/v2I0L.png
07) <> で EVO に <> を送信する
http://i.imgur.com/iinfs.png
08) <> で念のために <<ファイルの中を確認>> する
http://i.imgur.com/iSsaT.png
09) <> で EVO を再起動する
http://i.imgur.com/T6MsH.png
10) 無限再起動が直る
'''●注意'''
*ClockworkMod Recovery 起動時は <> でマウントされているため必要に応じ <<該当箇所をマウントする必要がある>>
*local.prop に <> を追記することで EVO が <<無限再起動に陥る>>
!!!参考
!!WEB サイト
*[暇人脱獄Blog|http://koukentag.blog52.fc2.com/]
*[大学生の暇つぶしブログ|http://subcross.com/wp/]
*[シリウスの夜|http://d.hatena.ne.jp/android_sirius06/]
*[攻撃は最大の防御なり|http://blog.goo.ne.jp/are_001/c/96ebffb56870f91eb1afdfea4767788a]
*[au HTC EVO WIMAX rootスレ|http://hibari.2ch.net/test/read.cgi/smartphone/1306304289/]
*[au HTC EVO WIMAX rootスレ2|http://hibari.2ch.net/test/read.cgi/smartphone/1317790834/]
*[xdadevelopers|http://forum.xda-developers.com/index.php]
*[流出RUU ( 初期化ROM:元に戻したい場合に ) - xdadevelopers|http://forum.xda-developers.com/showthread.php?t=998499]
こちらで紹介した手順・情報は上記サイトを参考にまとめたにすぎず <<各管理人への責任等一切無いものとする>>
あくまでも <<自己責任において>> 決行すること
!!Android ファイル構成図
http://i.imgur.com/Q2RNf.jpg
!!2ch コメント
18 :名無しさん@お腹いっぱい。 [↓] :2011/05/26(木) 19:58:58.87 ID:q1E65LJa
Z4テンポラリtitaniumで
プリアプリをアンインストールしたんだけど
電源落として再起動したら
復活してた。
これはテンポラリだからってことでおけ?
19+1 :名無しさん@お腹いっぱい。 [↓] :2011/05/26(木) 20:59:24.88 ID:3uxGIaRG (1/2)
アンインストじゃなくて、アプリの項目長押しでポップアップでるから一番下の強制削除。
直後にリブート二回する。
379+2 :名無しさん:2011/04/20(水) 02:18:02.07 ID:MP3mEahn (1/3)
フォント変更できたやついる?
z4rootでroot取って変更しようとしても上手くいかん。
380+2 :名無しさん:2011/04/20(水) 02:22:50.45 ID:fDM2b+P4 (1/4)
>>379
root取ったら、system/fontsのファイル差し替えて
パーミッション弄るだけじゃないの?
382+1 :名無しさん:2011/04/20(水) 02:43:08.95 ID:zUJl3Z6g
>>379-380
S-OFFしないと無理。permanent root取れないことには。
668 :名無しさん@お腹いっぱい。 [↓] :2011/04/24(日) 01:50:52.25 ID:9Zmi2lBf
Z4root使ってみたけどroot一時的に取れるだけなんだね
SOCも使えなかったし当分root化見送ることにする
フォント変えたかったよちくしょう
413 :名無しさん@お腹いっぱい。 [] :2011/04/27(水) 02:40:02.44 ID:zywU8Uau
一時的なroot取得で、取りあえず以下のソフト動作ok
ad free
titanium backup
market enabler
!!!コメント Q&A
*まとめてくれてる方、まじありがとう。 - 始皇帝 (2011年10月13日 20時25分45秒)
*ありがとうございます!やりませんけど - 名無しさん (2011年10月15日 22時21分06秒)
*このページすごすぎるwメチャメチャ充実してるやん - 名無しさん (2011年10月18日 19時58分10秒)
{{comment}}