Android 安卓,C++;ADBTool,“;libstagefright.so“;引起SIGILL 环境 安卓5 三星G5 Windows桌面(x64) 视觉GDB ndk-r10d 用例

Android 安卓,C++;ADBTool,“;libstagefright.so“;引起SIGILL 环境 安卓5 三星G5 Windows桌面(x64) 视觉GDB ndk-r10d 用例,android,android-ndk,android-source,stagefright,Android,Android Ndk,Android Source,Stagefright,实现一个链接到“libstagefright.so”的ADB工具 实施 编译Android源代码(arm**) 以产生的“libstagefright.so”为例 将ADBTool链接到“libstagefright.so” 问题描述 在“libstagefright.so”启动时运行该工具会导致SIGILL(在ELF加载序列期间) 另一个使用“libstagefright.so”的可执行文件是“screenrecord”,来自已编译的Android源代码的“screenrecord”在我的

实现一个链接到“libstagefright.so”的ADB工具

实施
  • 编译Android源代码(arm**)
  • 以产生的“libstagefright.so”为例
  • 将ADBTool链接到“libstagefright.so”
问题描述 在“libstagefright.so”启动时运行该工具会导致SIGILL(在ELF加载序列期间)

另一个使用“libstagefright.so”的可执行文件是“screenrecord”,来自已编译的Android源代码的“screenrecord”在我的ADBTool崩溃的同一台设备上完美地工作(使用SIGILL)

当添加“libstagefright.so”时,该工具成功地链接了来自已编译安卓源代码的许多其他共享库,为什么工具会与SIGILL崩溃?我做错了什么


除此之外,当链接到“libstagefright.so”从我的设备上获取时,也会发生同样的情况…

如果没有堆栈跟踪和相应的源代码,任何人都无法帮助您。试着在gdb下运行它。根据Chris的评论,如果你能检查
Android
的版本是否在板上闪现,以及生成
libstagefright的版本是否匹配,也会有所帮助。堆栈跟踪对于这里的任何帮助都是非常重要的。我的程序是一个简单的“Hello World”应用程序,链接到“libstagefright”。因此,应用程序在到达第一行代码之前崩溃,堆栈显示原始地址,因为操作系统没有符号,至于使用正确的lib,如上所述,SIGILL也会在使用编译后的lib时发生“libstagefright.so”直接从设备。。。