【问题标题】:Android NDK with Visual Studio带有 Visual Studio 的 Android NDK
【发布时间】:2011-05-02 16:18:18
【问题描述】:

我想使用 NDK(本机开发工具包)为 android 构建一些本机库,但我想使用 Visual Studio 2010 来完成。我用谷歌搜索了很多,但没有找到任何关于它的信息。有没有人有这方面的经验并知道实现这一点所需的步骤?我已经安装了 CYGWin,确保我得到了 Make(根据 NDK 指令),但我不太确定下一步在设置项目、Visual Studio 中的编译器等方面的步骤。

如果有人知道任何文章、教程或示例项目的链接,那就太好了,因为在 google 上还没有。

谢谢!

【问题讨论】:

  • 我不确定你能做到这一点。但是,VS 使用 nmake(或其他构建工具)。我猜你有机会在 Makefile 中调用 ndk-build ?

标签: android visual-studio-2010 android-ndk


【解决方案1】:

Here's another solution,它将 NDK 完全集成到 Visual Studio 中。没有生成文件。它的行为就像一个正常的 Win32 项目:

【讨论】:

  • 是的,我试过了,效果很好。它编译并链接到 .apk,您可以配置一些选项。您还可以使用 WinGDC for Android 插件添加调试,请参阅下面的 Bellinghammers 链接。
  • 解决办法是什么?网站已移动。
【解决方案2】:

这是一个很好的blog post,关于如何配置环境以使用 Visual Studio 调试 android NDK 代码。

【讨论】:

  • 博客链接失效
【解决方案3】:

官方不支持 Visual Studio。

一些问题(但不限于):

  • MSVS 无法创建正确的 ARM 二进制文件
  • MSVS 不支持 Android 生成文件 (.mk)

但是,有第三方解决方案:

您可能还想查看DS-5,尽管它不是 Visual Studio。

【讨论】:

  • 我们已经让它部分工作了,我们使用 Visual Studio 来构建,使用适当的 android 头文件等等,然后我们调用 NDK 构建脚本。我们目前正致力于将后半部分自动化作为构建后的步骤。在某个时候,我会记录下来并把它放在这里作为答案。
  • 我对你的答案投了反对票,因为那里有很多选择......除了你上面提到 vs-android 的帖子之外,还有 VisualGDB。
  • 谢谢,我已经更新了我的答案。我自己有时会在其他地方推荐 vs-android。
【解决方案4】:

答案取决于您需要什么样的集成。

要从 Visual Studio 构建本机 Android 代码,您可以创建一个新的 Makefile 项目,并在您按“构建”时使其运行 ndk-build.cmd。如果您还想获取映射的错误消息,则需要解析 ndk-build.cmd 的输出并将其转换为 Visual Studio 可以接受的格式。

如果您想从 Visual Studio 调试您的原生 Android 代码,您将需要一个第三方工具来代表 Visual Studio 控制 ndk-gdb 并为几个错误提供解决方法(例如重新绑定加载库时的断点)。

您可以尝试我们的 VisualGDB for Android 工具,它正是这样做的 - 创建包装 ndk-build 的项目并代表 Visual Studio 控制 NDK 调试器。如果您需要更多信息,请联系step-by-step tutorial available

【讨论】:

  • 它们要花钱,但这是事实——VisualGDB 非常适合将 Android NDK 构建集成到 Visual Studio 中
【解决方案5】:

我还没有找到直接干净的解决方案,这是我的解决方法。

我在 VS 上将本机代码开发为静态库,并使用一些测试项目将其作为控制台应用程序进行尝试。 没问题时,我从 cygwin 使用一个小 bash 脚本将所有需要的文件复制到 jni 文件夹并启动标准的 android ndk make 命令。 (也可以在需要时将一些文件复制到 assets 文件夹),在正确的文件夹中生成可执行文件。

要使用 pthreads,我已将我的项目链接到 pthreads-win32。

我没有在 VS 中编译的唯一文件是 jni 代码。

希望对你有帮助。

【讨论】:

    【解决方案6】:

    除了上述之外,还有其他一些第三方替代方案可用于使用 VS 开发 Android 应用程序。有位于 http://www.dot42.com 的开源 dot42 和 Remobjects,http://www.remobjects.com,它允许您使用 c#、Pascal 和 Swift 进行编程。我玩过 Remobjects 的试用版,现在开始玩 dot42。

    我使用 remobjects 试用版让我能够在 C# 中重新创建我参加的 Android 课程教科书中的前五章项目。到目前为止,我在 dot42 上还没有取得同样的成功,但我需要找点时间真正给它一个机会。

    【讨论】:

      猜你喜欢
      • 2015-01-13
      • 2015-11-01
      • 2015-05-05
      • 1970-01-01
      • 2015-06-05
      • 2017-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多