compilation - 如何编译ADB(Android调试桥)的源代码?

标签 compilation adb memcheck dr-memory

我正在尝试在 ADB 软件上运行内存错误检测器(如 Valgrind 的 Memcheck 或 Drmemory)。但是,我无法弄清楚如何构建/编译源代码。我正在使用 Linux (ubuntu)。

https://github.com/aosp-mirror/platform_system_core/tree/master/adb

我需要 makefile 吗?或者我对如何去做这件事的理解有问题吗?也许我可以使用 Memcheck/Dr. 的方法。在 Android Studio 中运行时实际程序的内存?我不相信源代码中有任何说明或 makefile。

我尝试使用 g++ 编译 client 文件夹中的 main.cpp 文件,但它说它无权访问 sysdep.h 文件。

编译使用: $ CD 客户端 $ g++ -std=c++11 main.cpp -o main

错误信息: fatal error :sysdep.h:没有这样的文件或目录

最佳答案

查看 AOSP ADB 工具的文档: https://source.android.com/setup/build/adb#building_adb_build-adb

据我了解,您需要下载 AOSP 源代码,然后运行以下命令:

source ~/aosp/build/envsetup.sh
cd ~/aosp/system/core/adb
mm  # <- That's not a typo

这个命令应该需要一段时间(特别是在第一次运行时),但是你应该在 ~/aosp/out 文件夹中的某个地方获得编译后的 adb 可执行文件(我无法在这台计算机上验证,因为它没有足够的内存完成构建...)

要显示帮助菜单,请键入:

hmm

关于compilation - 如何编译ADB(Android调试桥)的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56433447/

相关文章:

android adb 推送不工作

c++ - OpenCV 3.1.0 无法使用 CMake 进行编译

android - 如何使用 ADB 将一些文本复制到 android 系统剪贴板?

compilation - 如何为 GDB 的 JIT 代码生成 ELF 文件格式?

android - 如何在 Eclipse 的文件资源管理器中为连接 USB 的手机显示文件?

linux - Valgrind 不会检测到明显的错误

valgrind - 转储 valgrind 数据

ios - 是否可以在 iOS 模拟器和设备上运行 valgrind?

intellij-idea - 如何让IntelliJ IDEA识别宏创建的代码?

c++ - 纯虚函数调用趣事