ある日、Nexus 4が手に入りましたが、この地域では珍しいので、メインの電話として使用したいです。 残念ながら、タッチスクリーンは壊れています。 現代のすべてのスマートフォンの痛みの1つ。 さて、復元することにしました。 私はebayのタッチを買いました。 今、ロシアのために1ヶ月か2ヶ月待ちます。 パッケージが旅行している間、それを使って作業するために、デバイスについてもっと知りたいと思いました。 同時に、すべてが機能するかどうかを確認します。 そして、カメラやスピーカーも壊れたかもしれません。 この記事では、タッチが壊れた場合のデバイス制御のキャプチャについて検討します。
詳細
テスト中、ネクサス4、USBケーブル、仕事の軸としてのubuntu、インターネットおよび脳からの情報が使用されます。
最初に注意したいのは、電話が完全に在庫状態にあることです。 前の所有者は、すべてのデータを完全にリセットしました。 電源を入れると、ようこそ画面が表示され、言語を選択できます。 デバイスの制御は、それ以上の介入なしには実行できません。
ネクサス4にはOTGがないため、外部電源付きの特別なケーブルがないとマウスを接続できません。 持っていません。同じebayで注文できますが、もう一度お待ちください。
フィガチム
私が最初にしたことは、CWMを置くことでした。
Androidを使用するためのプログラムをインストールします。
sudo apt-get install android-tools-adb
これはfastbootとadbの両方です。
fastbootを使用して回復を設定できます。
fastboot flash recovery recovery.img
当然、notouchバージョンが選択されます。 ところで、ブートローダーのロックも解除しました(fastboot oem unlockコマンド)。 すぐにファームウェアを最新のものに変更しました。 理由は覚えていません。 他の電話については、指示を探す必要があります。 一部のデバイスは組み込みのリカバリを介して配信でき、一部のデバイスにはファームウェア用の特別なプログラムがあります。
CWMを起動します。 マウントとストレージアイテムを探してシステムをマウントします(またはadb- mount -o remount、rw / systemを使用してマウントします )。 便利です。
コンピューターのコンソールに次のように記述します
adb devices
それは数字と回復を与えます。 それがあなたが必要なものです!
素晴らしい。 タスクには、ようこそ画面をスキップし、USBデバッグを有効にすることが含まれます。
これを行うには、現在のフォルダーにbuild.propをダウンロードします
adb pull /system/build.prop ./
ダウンロードしたファイルを開き、次の行を置き換えます。
ro.setupwizard.enterprise_mode=1
に
ro.setupwizard.enterprise_mode=0 ro.setupwizard.mode=DISABLED persist.service.adb.enable=1 persist.service.debuggable=1 persist.sys.usb.config=mtp,adb
必要と思われる場合は、他の行を修正できます。 便宜上、ロック画面をオフにしましたが、今はどの行が応答しているかを探すのが面倒です。 難しくない場合は、コメントで確認してください。
保存してロードし直します。
adb push ./build.prop /system/
default.propの最後の行も書きましょう。 念のため。
adb shell echo "persist.service.adb.enable=1" >> default.prop echo "persist.service.debuggable=1" >> default.prop echo "persist.sys.usb.config=mtp,adb" >> default.prop
再起動してみましょう
画面がリセットされました。
ただし、 adbデバイスはオフラインと表示されます。
ADBチームを殺す
adb kill-server
ADBデバイスのリクエストを行う
まだオフラインです。 航海したようです。 しかし、違います! ポイントはキーです。
ホームディレクトリで/.androidフォルダーを探しています
そこにadbkey.pubファイルが生成されているはずです。 デバイスにスローする必要があります。
リカバリで再起動し、データをマウントして実行します
cd ~/.android adb push ./adbkey.pub /data/misc/adb/adb_keys
再起動します。 私たちはadbデバイスを探しています -すべてがそこにあります!
さらに、たとえば、 adb shell input keyevent XXコマンドの nampadにボタンを指定しました
コードリスト
0-> "KEYCODE_UNKNOWN"
1-> "KEYCODE_MENU"
2-> "KEYCODE_SOFT_RIGHT"
3-> "KEYCODE_HOME"
4-> "KEYCODE_BACK"
5-> "KEYCODE_CALL"
6-> "KEYCODE_ENDCALL"
7-> "KEYCODE_0"
8-> "KEYCODE_1"
9-> "KEYCODE_2"
10-> "KEYCODE_3"
11-> "KEYCODE_4"
12-> "KEYCODE_5"
13-> "KEYCODE_6"
14-> "KEYCODE_7"
15-> "KEYCODE_8"
16-> "KEYCODE_9"
17-> "KEYCODE_STAR"
18-> "KEYCODE_POUND"
19-> "KEYCODE_DPAD_UP"
20-> "KEYCODE_DPAD_DOWN"
21-> "KEYCODE_DPAD_LEFT"
22-> "KEYCODE_DPAD_RIGHT"
23-> "KEYCODE_DPAD_CENTER"
24-> "KEYCODE_VOLUME_UP"
25-> "KEYCODE_VOLUME_DOWN"
26->「KEYCODE_POWER」
27-> "KEYCODE_CAMERA"
28-> "KEYCODE_CLEAR"
29-> "KEYCODE_A"
30-> "KEYCODE_B"
31-> "KEYCODE_C"
32-> "KEYCODE_D"
33-> "KEYCODE_E"
34-> "KEYCODE_F"
35-> "KEYCODE_G"
36-> "KEYCODE_H"
37-> "KEYCODE_I"
38-> "KEYCODE_J"
39-> "KEYCODE_K"
40-> "KEYCODE_L"
41-> "KEYCODE_M"
42-> "KEYCODE_N"
43-> "KEYCODE_O"
44-> "KEYCODE_P"
45-> "KEYCODE_Q"
46-> "KEYCODE_R"
47-> "KEYCODE_S"
48-> "KEYCODE_T"
49-> "KEYCODE_U"
50-> "KEYCODE_V"
51-> "KEYCODE_W"
52-> "KEYCODE_X"
53-> "KEYCODE_Y"
54-> "KEYCODE_Z"
55-> "KEYCODE_COMMA"
56-> "KEYCODE_PERIOD"
57-> "KEYCODE_ALT_LEFT"
58-> "KEYCODE_ALT_RIGHT"
59-> "KEYCODE_SHIFT_LEFT"
60-> "KEYCODE_SHIFT_RIGHT"
61-> "KEYCODE_TAB"
62-> "KEYCODE_SPACE"
63-> "KEYCODE_SYM"
64-> "KEYCODE_EXPLORER"
65-> "KEYCODE_ENVELOPE"
66-> "KEYCODE_ENTER"
67-> "KEYCODE_DEL"
68-> "KEYCODE_GRAVE"
69-> "KEYCODE_MINUS"
70-> "KEYCODE_EQUALS"
71-> "KEYCODE_LEFT_BRACKET"
72-> "KEYCODE_RIGHT_BRACKET"
73-> "KEYCODE_BACKSLASH"
74-> "KEYCODE_SEMICOLON"
75-> "KEYCODE_APOSTROPHE"
76-> "KEYCODE_SLASH"
77-> "KEYCODE_AT"
78-> "KEYCODE_NUM"
79-> "KEYCODE_HEADSETHOOK"
80-> "KEYCODE_FOCUS"
81-> "KEYCODE_PLUS"
82-> "KEYCODE_MENU"
83-> "KEYCODE_NOTIFICATION"
84-> "KEYCODE_SEARCH"
85-> "TAG_LAST_KEYCODE"
1-> "KEYCODE_MENU"
2-> "KEYCODE_SOFT_RIGHT"
3-> "KEYCODE_HOME"
4-> "KEYCODE_BACK"
5-> "KEYCODE_CALL"
6-> "KEYCODE_ENDCALL"
7-> "KEYCODE_0"
8-> "KEYCODE_1"
9-> "KEYCODE_2"
10-> "KEYCODE_3"
11-> "KEYCODE_4"
12-> "KEYCODE_5"
13-> "KEYCODE_6"
14-> "KEYCODE_7"
15-> "KEYCODE_8"
16-> "KEYCODE_9"
17-> "KEYCODE_STAR"
18-> "KEYCODE_POUND"
19-> "KEYCODE_DPAD_UP"
20-> "KEYCODE_DPAD_DOWN"
21-> "KEYCODE_DPAD_LEFT"
22-> "KEYCODE_DPAD_RIGHT"
23-> "KEYCODE_DPAD_CENTER"
24-> "KEYCODE_VOLUME_UP"
25-> "KEYCODE_VOLUME_DOWN"
26->「KEYCODE_POWER」
27-> "KEYCODE_CAMERA"
28-> "KEYCODE_CLEAR"
29-> "KEYCODE_A"
30-> "KEYCODE_B"
31-> "KEYCODE_C"
32-> "KEYCODE_D"
33-> "KEYCODE_E"
34-> "KEYCODE_F"
35-> "KEYCODE_G"
36-> "KEYCODE_H"
37-> "KEYCODE_I"
38-> "KEYCODE_J"
39-> "KEYCODE_K"
40-> "KEYCODE_L"
41-> "KEYCODE_M"
42-> "KEYCODE_N"
43-> "KEYCODE_O"
44-> "KEYCODE_P"
45-> "KEYCODE_Q"
46-> "KEYCODE_R"
47-> "KEYCODE_S"
48-> "KEYCODE_T"
49-> "KEYCODE_U"
50-> "KEYCODE_V"
51-> "KEYCODE_W"
52-> "KEYCODE_X"
53-> "KEYCODE_Y"
54-> "KEYCODE_Z"
55-> "KEYCODE_COMMA"
56-> "KEYCODE_PERIOD"
57-> "KEYCODE_ALT_LEFT"
58-> "KEYCODE_ALT_RIGHT"
59-> "KEYCODE_SHIFT_LEFT"
60-> "KEYCODE_SHIFT_RIGHT"
61-> "KEYCODE_TAB"
62-> "KEYCODE_SPACE"
63-> "KEYCODE_SYM"
64-> "KEYCODE_EXPLORER"
65-> "KEYCODE_ENVELOPE"
66-> "KEYCODE_ENTER"
67-> "KEYCODE_DEL"
68-> "KEYCODE_GRAVE"
69-> "KEYCODE_MINUS"
70-> "KEYCODE_EQUALS"
71-> "KEYCODE_LEFT_BRACKET"
72-> "KEYCODE_RIGHT_BRACKET"
73-> "KEYCODE_BACKSLASH"
74-> "KEYCODE_SEMICOLON"
75-> "KEYCODE_APOSTROPHE"
76-> "KEYCODE_SLASH"
77-> "KEYCODE_AT"
78-> "KEYCODE_NUM"
79-> "KEYCODE_HEADSETHOOK"
80-> "KEYCODE_FOCUS"
81-> "KEYCODE_PLUS"
82-> "KEYCODE_MENU"
83-> "KEYCODE_NOTIFICATION"
84-> "KEYCODE_SEARCH"
85-> "TAG_LAST_KEYCODE"
ただし、 VNCサーバーを配置するだけでかまいません(ルートが必要です)。
私はadbを通して
adb install vncfwq_1386321119498.apk adb shell am start -n com.schumi.vncs/com.schumi.vncs.VNC_serverActivity
設定したテンキーから、offコマンドを入力してオンにすることが判明しました-adb shell input tap 400 400 (これらは入力の座標です)
さて、Wi-Fi設定に入らないように
adb forward tcp:5901 tcp:5901
vncクライアントを起動し、 localhost:5901と入力して、心から望むことを何でもします。
それだけです 親愛なるあなたへの永続的なガラス!
PS:壊れたディスプレイでもすべてができると思います。 スクリーンショットを撮るだけです。 マニュアルのようです。