Sum*_*man 11 android gdb android-ndk
我试图将ndk-gdb附加到我的Android应用程序.
我使用的是Android-ndk-r6b和设备是Android 2.3,三星Galaxy S II.
我按照本例中的所有步骤单击此处查看示例
当我尝试将gdb与另一个应用程序连接时,我尝试使用一个应用程序,但是详细显示它总是附加到第一个应用程序本身
Found package name: <1st attached package name>
Run Code Online (Sandbox Code Playgroud)
我试图ndk-gdb第一次启动使用此命令:
ndk-gdb --start --force --verbose
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下命令附加到另一个应用程序但无法成功:
ndk-gdb --launch=com.example.hellogdbserver.HelloGdbServer --force --verbose
Run Code Online (Sandbox Code Playgroud)
第一次申请我总是得到以下错误:
ERROR: Non-debuggable application installed on the target device.Please re-install the debuggable version!
Run Code Online (Sandbox Code Playgroud)
这是我得到的完整的shell日志
sh-4.1$ ndk-gdb --verbose --start --force
Android NDK installation path: /cygdrive/c/Android/android-ndk
Using default adb command: /cygdrive/c/Android/android-sdk-windows/platform-tools/adb
ADB version found: Android Debug Bridge version 1.0.26
Using final ADB command: '/cygdrive/c/Android/android-sdk-windows/platform-tools/adb'
Using auto-detected project path: /cygdrive/d/EclipseTestWorkspace/hello-gdbserver
Found package name: com.example.hellogdbserver
ABIs targetted by application: armeabi
Device API Level: 10
Device CPU ABIs: armeabi-v7a armeabi
Compatible device ABI: armeabi
Found debuggable flag: true
Found device gdbserver: /data/data/com.example.hellogdbserver/lib/gdbserver
Using gdb setup init: /cygdrive/d/EclipseTestWorkspace/hello-gdbserver/libs/armeabi/gdb.setup
Using toolchain prefix: /cygdrive/c/Android/android-ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-linux-androideabi-
Using app out directory: /cygdrive/d/EclipseTestWorkspace/hello-gdbserver/obj/local/armeabi
ERROR: Could not extract package's data directory. Are you sure that
your installed application is debuggable?
sh-4.1$
Run Code Online (Sandbox Code Playgroud)
请让我知道如何解决上述错误以及如何附加到新包.
我的手机没有扎根.希望这不会影响gdb.
这也没有帮助链接到类似的问题.由于我的手机是新手机,没有任何应用程序,除了当前正在开发的应用程序.(只有三星手机随附的包装.没有从市场上下载的应用程序.)
谢谢和问候,
SSuman185
请首先确保您正在构建应用程序的可调试版本.AndroidManifest.xml文件应包含android:debuggable ="true"标记.
您还可以通过在bin目录中找到APK文件,解压缩它(它只是一个重命名的ZIP文件)并确保lib\armeabi文件夹包含gdbserver文件来检查它.
如果满足上述两个条件,请尝试手动在设备上安装软件包:
<android-sdk>\platform-tools\adb.exe install -r <your-package-file.APK>
Run Code Online (Sandbox Code Playgroud)
请仔细观察adb.exe的输出.如果它显示错误,它可能会解释您的问题.
| 归档时间: |
|
| 查看次数: |
10691 次 |
| 最近记录: |