自己动手编译android gdbserver最新版

  

前面转载了一篇如何编译android gdbserver的博文

原文地址如下:

http://sunzeduo.blog.51cto.com/2758509/1381519


本身这篇文章没有什么问题,按部就班的操作可以生成gdbserver,但是存在的问题如下:


1,本文编写时间比较早,实用的手臂交叉编译版本以及gdb版本都比较老了,手臂交叉编译版本是arm-eabi-4.4.3, gdb使用的版本是7.1。x。


2从文章来看是使用下载后android源码中的ndk来编译的,这个可以通过其修改了MYDROID美元/ndk/构建/工具/prebuilt-common。sh这个脚本可以看出来,对于没有下载安卓源码的童鞋造成障碍。


3,文中的

 git克隆git://android.git.kernel.org/toolchain/gdb.git
  git克隆git://android.git.kernel.org/toolchain/build.git 


这两个地址早已经无法下载了,又对想自己动手编译android gdbserver的童鞋造成障碍。


4在中文搜索引擎里面搜索,android gdb调试等,绝大多数均出自,,,

Android -如何重建gdbserver,这篇文章的翻译,同样会存在上面的三个问题。


基于以上的问题,笔者自己动手重新简化思路,编译了Android gdbserver,降低编译门槛,供更多的童鞋来了解这方面的知识。


一,需要的前置条件

 1下载Android NDK
  直接从http://developer.android.com/tools/sdk/ndk/index.html
  这个地址下载即可,下载下来就是一个压缩包,方便使用。
  2下载gdb源码
  https://github.com/crystax/android-toolchain-gdb
  这个下载地址即可


二添加了两个脚本(脚本可以从附件下载)

,,添加目录你下载解压缩的目录下的构建/工具,这个目录下

build-gdbserver_7.3.x.sh   prebuilt-common_7.3.x。sh


三对应规则

root@ubuntu: ~/android/android-ndk-r9c/工具链/arm - linux - androideabi - 4.6/预构建/linux-x86_64/bin/arm-linux-androideabi-gdb #   GNU gdb 7.3.1-gg2 (gdb)   root@ubuntu: ~/android/android-ndk-r9c/工具链/arm - linux - androideabi - 4.8/预构建/linux-x86_64/bin/arm-linux-androideabi-gdb #   GNU gdb 7.3.1-gg2 (gdb)   arm - linux - androideabi - 4.6 GNU gdb 7.3.1-gg2 (gdb)   arm - linux - androideabi - 4.8 GNU gdb (gdb) 7.3.1-gg2



四编译命令

/根/android/android-ndk-r9c/构建/工具/build-gdbserver_7.3.x.sh/磁盘/CyanogenMod/androidgdb/gdb_build//root/android/android-ndk-r9c/arm - linux - androideabi - 4.6   ——详细   ——建设=/磁盘/CyanogenMod/androidgdb/gdb_build/安装   ——gdb-version=7.3.x   ——sysroot=/根/android/android-ndk-r9c/平台/android-19/arch-arm


命令解释

, 1 <代码类=癮s3平原”>/root/android/android-ndk-r9c/构建/工具/build-gdbserver_7。 <代码类=癮s3价值”> 3 <代码类=癮s3平原”>方式。sh

<代码类=癮s3平原”>,复制过去的脚本

<代码类=癮s3平原”> 2 <代码类=癮s3平原”>/磁盘/CyanogenMod/androidgdb gdb_build/>

<代码类=" as3平原">

<代码类=癮s3平原”> 自己动手编译android gdbserver最新版


<代码类=癮s3平原”> 3/root/android/android-ndk-r9c/,

<代码类=癮s3平原”>,下载的ndk解压缩的路径


<代码类=" as3平原">

<代码类=癮s3平原”> 4 arm - linux - androideabi - 4.6使用ndk中带的arm-linux交叉编译工具,详见ndk根目录下的工具链目录


<代码类=" as3平原">

<代码类=癮s3平原”> 5,冗长,


<代码类=" as3平原">

<代码类=癮s3平原”> 6——建设=/磁盘/CyanogenMod/androidgdb/gdb_build/安装

<代码>,gdbserver生成的目录,如果编译成功了,则在这个目录下生成gdbserver


<代码> 7>

,,要编译的gdb版本,对应你下载的gdb源码包,参考上面的图


8——sysroot=/根/android/android-ndk-r9c/平台/android-19/arch-arm

,,在编译gdbserver的时候需要用的头文件和库文件


五编译错误修改

笔者在编译gdb 7.3.x的时候出现了编译错误,主要是关于精灵头文件的问题。

自己动手编译android gdbserver最新版