adb部署记录
文章目錄
- [1 \[NDK部署\]](https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip?hl=zh_cn)
- 1.1 首先在本地部署adb(NDK,已經完成編譯,可以直接運行)
- 1.2 其次在遠端部署 gdbserver
- 2 系統依賴配置
- 2.1 拉去遠程設備端數據到本地,在本地對應的文件夾下執行如下命令
- 2.2 監聽target remote
- 2.3監聽set solib-search-path
- 3 adb常用命令
1 [NDK部署]
version 1:android-ndk-r10e-linux-x86_64/android-ndk-r10e/prebuilt/android-arm64/gdbserver (arm64)
version 2:android-ndk-r10e-linux-x86_64/android-ndk-r10e/prebuilt/android-arm/gdbserver (armv7)
version 1提取鏈接:https://pan.baidu.com/s/1dK7aLdASn7mQtTPJh1Oohw
提取碼:8888
1.1 首先在本地部署adb(NDK,已經完成編譯,可以直接運行)
sun@sun:~/softinstall/android-ndk-r10e-linux-x86_64/android-ndk-r10e/prebuilt/android-arm64$ cd ../../
sun@sun:~/softinstall/android-ndk-r10e-linux-x86_64/android-ndk-r10e$ cd toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/
sun@sun:~/softinstall/android-ndk-r10e-linux-x86_64/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin$ ./aarch64-linux-android-gdb
GNU gdb (GDB) 7.7
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=x86_64-linux-gnu --target=aarch64-elf-linux".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://source.android.com/source/report-bugs.html>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb) target remote 192.168.103.246:1111192.168.103.246:1111: Connection timed out.
(gdb)
(gdb) exit
Undefined command: "exit". Try "help".
(gdb) quit
sun@sun:~/softinstall/android-ndk-r10e-linux-x86_64/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin$ adb devices
List of devices attached
192.168.103.246:5555 device
1.2 其次在遠端部署 gdbserver
~/softinstall/android-ndk-r10e-linux-x86_64/android-ndk-r10e/prebuilt/android-arm64$ adb connect 192.168.103.246
connected to 192.168.103.246:5555
sun@sun:~/softinstall/android-ndk-r10e-linux-x86_64/android-ndk-r10e/prebuilt/android-arm64$ adb push gdbserver /sdcard/
/sdcard/gdbserver/: 1 file pushed. 0 files skipped. 0.8 MB/s (759464 bytes in 0.899s)
sun@sun:~/softinstall/android-ndk-r10e-linux-x86_64/android-ndk-r10e/prebuilt/android-arm64$ adb shell
tb8788p1_64_bsp_wxp:/ $ su
tb8788p1_64_bsp_wxp:/ # mv /sdcard/gdbserver /data/
tb8788p1_64_bsp_wxp:/data # chmod 777 gdbserver
==============================================================================================================================================================================
2 系統依賴配置
2.1 拉去遠程設備端數據到本地,在本地對應的文件夾下執行如下命令
adb pull /system/lib64 ./system_lib/
adb pull /vendor/lib64 ./vendor_lib/
adb pull /system/framework/oat ./frame_lib/oat/
adb pull /system/framework/arm64 ./frame_lib/arm64/
2.2 監聽target remote
./gdbserver :1111 --attach 4080
注:1111 為監聽的端口號,PID 為進程號
gdb
aarch64-linux-android-gdb 用于調試Android aarch64平臺代碼,位于android-ndk-r10e-linux-x86_64/android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin目錄下
arm-linux-androideabi-gdb 用于調試Android armv7平臺代碼,位于android-ndk-r10e-linux-x86_64/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin目錄下
target remote 192.168.105.76:1111
192.168.105.76為Android機器的ip
1111 Android機器gdbserver監聽的端口號
2.3監聽set solib-search-path
~/bctc300_mtk8788_symbol/:~/bctc300_mtk8788_symbol/system_lib/:~/bctc300_mtk8788_symbol/vendor_lib/:~/bctc300_mtk8788_symbol/frame_lib/arm64/:~/bctc300_mtk8788_symbol/vendor_lib/egl/:~/bctc300_mtk8788_symbol/vendor_lib/hw/:~/bctc300_mtk8788_symbol/frame_lib/oat/arm64/:~/bctc300_mtk8788_symbol/so/
==============================================================================================================================================================================
3 adb常用命令
首先連接設備
adb
adb connect ip
進入遠程設備端
adb shell
獲取遠程設備端su權限
adb root
查看遠程端設備
adb devices
掛載遠程端
adb remount
推送數到遠程端
adb push
連接上設別后直接使用該命令傳輸文件即可(包括遠程連接)
sun@sun:~/workspace/androd$ adb push ./bin/aurora300_runner /data/debug/aurora300_test
[100%] /data/debug/aurora300_test/aurora300_runner
sun@sun:~/workspace/androd$ adb push ./bin/ /data/debug/aurora300_test
/data/debug/aurora300_test/bin/: 43 files pushed. 0 files skipped. 1.0 MB/s (112192766 bytes in 111.913s)
==============================================================================================================================================================================
總結
- 上一篇: 人生格言个性签名霸气
- 下一篇: Vim----ma6174