Tegra平板电脑上的NDK调试

时间:2011-08-15 16:38:51

标签: android debugging android-ndk tablet tegra

今天我购买了Android平板电脑进行原生开发 - 用Tegra驱动的Acer Iconina Tab A500(Honeycomb 3.1)。

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

我尝试通过'Debug As - >调试示例应用程序(如es2_globe) Android NDK Application'菜单命令但在构建之后 - 没有任何反应。

应用程序无法启动。但如果我选择'Debug As - > Android应用程序'或'运行方式 - > Android应用程序' - 一切都很好。

Mac和Windows上的情况相同。

那么,为了使NDK调试工作,我该怎么办?

2 个答案:

答案 0 :(得分:0)

这可能是您的应用程序未启动的各种原因,您可以看到控制台输出中出现了什么问题,例如以下示例中gdbserver未成功运行且这种情况可以修复生根设备。

  

[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无法正常启动

答案 1 :(得分:0)

Native Debug可能无法正常工作的原因有很多。您可以尝试以下方法:

  1. 我只能使用ndk版本r8d调试本机,以前的版本给了很多困难
  2. 检查控制台视图,了解编译时或与设备同步期间是否有任何错误
  3. 有时会出现“gdbserver segmentation fault”错误。验证您是否正在使用NDK_DEBUG = 1进行编译。也可以尝试使用其他设备,有时设备是有问题的设备。
  4. 在bin文件夹中打开apk,并验证除了正常的.so文件之外还有gdbserver和gdb.setup
  5. 以防万一,检查清单
  6. 中的调试标志是否为true
  7. 某些事情重启adb并断开重新连接设备的帮助。
  8. 有关详细信息,您可以发布控制台视图显示的错误。