在Windows上使用Android ADT构建NDK应用程序

3

虽然关于此主题有很多信息,但没有明确的指南说明如何在ADT中编译C++代码。 是否需要使用Cygwin?生成的构建工件放在哪里?如何配置构建包的目标文件夹?是否有调试和发布版本?是否可能在ADT中调试和单步执行C++代码? 也许所有这些都在一个资源中描述了,那么提供链接将是受欢迎的!

3个回答

4
只需在http://developer.android.com/sdk/index.html下载全新的ADT软件包和NDK r8c,无需cygwin,您的NDK构建已与普通的Android开发完全集成(即二进制文件被复制到lib / armeabi 文件夹,并自动由APK构建器接收)。

如果您的应用程序可以调试,则可以调试本地代码,并且可以通过运行来选择本地代码的发布或调试配置。

ndk-build NDK_DEBUG=1      --> force a debuggable build
ndk-build NDK_DEBUG=0      --> force a release build

在您开始自己的工作之前,我强烈建议您阅读NDK文档并使用作为NDK一部分提供的示例进行实践。 实际上,NDK的构建系统是GNU make的包装器,通过滥用这些工具,很容易使事情变得非常复杂。


我正在寻找一种避免使用命令行构建NDK代码的方法。 - Michael Shmalko
您可以避免使用命令行进行构建和调试。但是,您仍然需要使用命令行来调查崩溃日志。 - Alex Cohn
嗨,Alex,感谢你的指导。我在其他地方也看到过这个评论,即我们不需要cygwin,但是在最新的NDK(https://developer.android.com/tools/sdk/ndk/index.html)中,它明确要求需要cygwin。他们重新开始有这个要求了吗?还是仍然不需要?(我正在尝试使用cygwin,但出现了很多错误) - Piyush Soni
@PiyushSoni:NDK文档有时会误导人。他们强调的一件事是旧版本的cygwin将无法使用。即使在当前的r9d中,cygwin上仍存在一些隐藏的依赖关系。例如,您需要bash来调试C代码。Eclipse增加了混淆的部分:当您在没有cygwin的机器上加载具有本地支持的项目时,会出现有关cygdrive丢失的警告。但是加载后,它可以正常工作。奇怪的是,通过Eclipse,您可以在没有cygwin的情况下调试本地代码。 - Alex Cohn

2

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接