Tegra 平板电脑上的 NDK 调试

发布于 2024-11-29 19:28:21 字数 551 浏览 2 评论 0原文

今天,我购买了用于本机开发的 Android 平板电脑 - 采用 Tegra 的 Acer Iconina Tab A500 (Honeycomb 3.1)。

然后我从 http://developer 下载并安装了 Tegra Android Development Pack(Windows 和 Mac) .nvidia.com/tegra-android-development-pack。当然,我在应用程序设置中打开了“USB 调试”。

我尝试通过“调试为 ->”来调试示例应用程序(如 es2_globe) Android NDK 应用程序的菜单命令,但构建后没有任何反应。

应用程序不启动。但如果我选择“调试为 ->” Android 应用程序”或“运行方式 -> Android 应用程序”——一切都很好。

Mac 和 Windows 上的情况相同。

那么,我应该怎么做才能使 NDK 调试工作呢?

Today I purchased Android tablet for native development -- Acer Iconina Tab A500 (Honeycomb 3.1) powered with Tegra.

Then I downloaded and installed Tegra Android Development Pack (Windows and Mac) from from http://developer.nvidia.com/tegra-android-development-pack. Of course I turned on 'USB debugging' in the Application settings.

I tried to debug sample apps (like es2_globe) by 'Debug As -> Android NDK Application' menu command but after building -- nothing happens.

Application does not start. But if I choose 'Debug As -> Android Application' or 'Run As -> Android Application' -- everything fine.

Same situation on Mac and Windows.

So, what should I do in order to make NDK debug work ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

想你的星星会说话 2024-12-06 19:28:21

这里可能有多种原因导致您的应用程序未启动,您可以在控制台输出中看到有什么问题,例如下面的示例中 gdbserver 未成功运行,这种情况可以通过 root 设备来修复。

[2011-11-03 22:01:58 - testndk] NDK:适用于 Android NDK 的 NVIDIA 调试管理器!
[2011-11-03 22:01:58 - testndk] NDK: adb 运行正常...
[2011-11-03 22:01:58 - testndk] NDK:执行 com.xxx.android.testndk.TestNdkActivity 活动启动
[2011-11-03 22:01:58 - testndk] NDK:自动目标模式:使用设备“HT09AP801162”
[2011-11-03 22:01:58 - testndk] NDK:检查是否已经有正在运行的 gdbservers 0.079
[2011-11-03 22:01:58 - testndk] NDK:找不到正在运行的 gdbserver 进程。
[2011-11-03 22:01:58 - testndk] NDK:检查是否正在运行应用程序 com.xxx.android.testndk 0.188
[2011-11-03 22:01:58 - testndk] NDK:找不到正在运行的应用程序
[2011-11-03 22:01:58 - testndk] NDK:卸载包 com.xxx.android.testndk 0.282
[2011-11-03 22:02:00 - testndk] NDK:同步应用程序 1.469
[2011-11-03 22:02:00 - testndk] NDK:将 testndk.apk 上传到设备“HT09AP801162”
[2011-11-03 22:02:00 - testndk] NDK:正在安装 testndk.apk...
[2011-11-03 22:02:01 - testndk] NDK:成功!
[2011-11-03 22:02:02 - testndk] NDK:启动应用程序 3.329
[2011-11-03 22:02:02 - testndk] NDK:在设备上启动活动
com.xxx.android.testndk.TestNdkActivity
[2011-11-03 22:02:02 - testndk] NDK:执行 shell 命令:am start -D -n com.xxx.android.testndk/com.xxx.android.testndk.TestNdkActivity -a android.intent.action .MAIN -c android.intent.category.LAUNCHER
[2011-11-03 22:02:02 - testndk] ActivityManager:启动:Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.xxx.android.testndk/ .TestNdkActivity }
[2011-11-03 22:02:02 - testndk] NDK:等待 3 秒应用程序启动 3.891
[2011-11-03 22:02:02 - testndk] NDK:尝试将调试器连接到端口 8602 上的“com.xxx.android.testndk”
[2011-11-03 22:02:05 - testndk] NDK:执行端口转发 6.891
[2011-11-03 22:02:05 - testndk] NDK:计算已启动应用程序的PID 6.907
[2011-11-03 22:02:05 - testndk] NDK:找到启动应用程序的 PID:1308
[2011-11-03 22:02:05 - testndk] NDK:启动 gdbserver :12345 --attach 1308 7.016
[2011-11-03 22:02:05 - testndk] GdbServerReceiver:gdbserver:权限被拒绝
[2011-11-03 22:02:12 - testndk] NDK:Gdbserver 未正确启动

Here can be various reasons why your application was not started, and you can see what is wrong in console output, like in the following example where gdbserver was not successfully run and this situation can be fixed rooting device.

[2011-11-03 22:01:58 - testndk] NDK: NVIDIA Debug Manager for Android NDK!
[2011-11-03 22:01:58 - testndk] NDK: adb is running normally...
[2011-11-03 22:01:58 - testndk] NDK: Performing com.xxx.android.testndk.TestNdkActivity activity launch
[2011-11-03 22:01:58 - testndk] NDK: Automatic Target Mode: using device 'HT09AP801162'
[2011-11-03 22:01:58 - testndk] NDK: Check if there arealready running gdbservers 0.079
[2011-11-03 22:01:58 - testndk] NDK: Running gdbserver processes not found.
[2011-11-03 22:01:58 - testndk] NDK: Check if there is running application com.xxx.android.testndk 0.188
[2011-11-03 22:01:58 - testndk] NDK: Running application is not found
[2011-11-03 22:01:58 - testndk] NDK: Uninstalling package com.xxx.android.testndk 0.282
[2011-11-03 22:02:00 - testndk] NDK: Syncing app 1.469
[2011-11-03 22:02:00 - testndk] NDK: Uploading testndk.apk onto device 'HT09AP801162'
[2011-11-03 22:02:00 - testndk] NDK: Installing testndk.apk...
[2011-11-03 22:02:01 - testndk] NDK: Success!
[2011-11-03 22:02:02 - testndk] NDK: Launching app 3.329
[2011-11-03 22:02:02 - testndk] NDK: Starting activity
com.xxx.android.testndk.TestNdkActivity on device
[2011-11-03 22:02:02 - testndk] NDK: Executing shell command: am start -D -n com.xxx.android.testndk/com.xxx.android.testndk.TestNdkActivity -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
[2011-11-03 22:02:02 - testndk] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.xxx.android.testndk/.TestNdkActivity }
[2011-11-03 22:02:02 - testndk] NDK: Waiting 3 seconds for application to start 3.891
[2011-11-03 22:02:02 - testndk] NDK: Attempting to connect debugger to 'com.xxx.android.testndk' on port 8602
[2011-11-03 22:02:05 - testndk] NDK: Performing port forwarding 6.891
[2011-11-03 22:02:05 - testndk] NDK: Computing PID of launched application 6.907
[2011-11-03 22:02:05 - testndk] NDK: Found PID of launched application: 1308
[2011-11-03 22:02:05 - testndk] NDK: Starting up gdbserver :12345 --attach 1308 7.016
[2011-11-03 22:02:05 - testndk] GdbServerReceiver: gdbserver: permission denied
[2011-11-03 22:02:12 - testndk] NDK: Gdbserver not started properly

十二 2024-12-06 19:28:21

本机调试无法工作的原因有很多。您可以尝试以下操作:

  1. 我只能使用 ndk 版本 r8d 调试本机,以前的版本给了很多困难
  2. 检查控制台视图中编译期间或与设备同步期间是否有任何错误
  3. 有时会出现“gdbserver分段错误”错误。验证您是否使用 NDK_DEBUG = 1 进行编译。同时尝试在另一台设备中,有时该设备就是有问题的设备。
  4. 打开 bin 文件夹内的 apk,并验证除了正常的 .so 文件之外是否还有 gdbserver 和 gdb.setup 以防
  5. 万一,请检查清单中的调试标志是否为 true
  6. 重新启动 adb 并断开连接重新连接设备有帮助。

有关更多详细信息,您可以发布控制台视图显示的错误。

There are many reason why Native Debug may not work. You may try the following:

  1. I could only debug native using ndk version r8d, previous versions gave many difficulties
  2. Check in console view if there are any errors during compilation time or during synchronization with device
  3. Sometimes there is a error that says "gdbserver segmentation fault". Verify that you are compiling with NDK_DEBUG = 1. Also try in another device, sometimes the device is the one with the problem.
  4. Open the apk inside bin folder, and verify that there is a gdbserver and a gdb.setup in addition to your normal .so file
  5. Just in case, check that you have the debug flag in true in the manifest
  6. somethings restarting adb and disconnecting reconnecting the device helps.

For more detail info you could post the errors that your console view displays.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文