Android - NDK集成已弃用错误

Gee*_*ses 1 android-ndk android-ndk-r5 ndk-build

我试图从github导入一个名为android-netspoof的项目,我是NDK平台工具的新手,我不知道.我已经下载了NDK并解压缩了zip,并在环境变量中添加了路径.我想导入该项目进行学习,但我收到此错误Error:(12, 0) Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see http://tools.android.com/tech-docs/new-build-system/gradle-experimental. Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration. <a href="openFile:C:\Users\Shreyash-2107\Desktop\android-netspoof-1.9.01111111\app\build.gradle">Open File</a>请帮我导入此项目.

Ian*_*wis 6

答案在错误消息中(TL; DR:将"android.useDeprecatedNdk = true"添加到您的gradle.properties中),但如果您不熟悉历史记录,则可能并不明显.

曾几何时,Android工具团队发布了一个支持NDK的Gradle插件版本.但是Gradle并不擅长编译C++,所以支持并不是他们希望的所有内容.

然后Gradle决定添加非常好的C++支持.只有一个问题:C++与Java完全不同,Gradle团队意识到他们以Java为中心的对象模型不能胜任这项任务.因此,他们发明了一种新的对象模型(顺便提一下,它似乎是一种更好的设计.)不幸的是,新的对象模型需要一段时间才能孵化,而且(截至2016年4月)尚未正式发布.

这让Android Studio陷入了尴尬的境地.试图将旧的Gradle模型中的C++支持套牢,似乎并没有多大意义,但同时它不能移动到新模型,直到它稳定.临时解决方案是暂时继续稳定的路径,但也提供了一个与Gradle的新实验模型一起使用的插件.

考虑到这一点,您可以评估错误消息为您提供的两个选项.一种是通过在gradle.properties文件中添加"android.useDeprecatedNDK = true"来继续旧的NDK支持.另一种是使用实验性插件,这需要您对当前项目进行实质性更改.

听起来您正在尝试编译您未编写的现有项目,并且现有项目具有使用旧NDK支持的构建脚本.所以你可能会想要使用"useDeprecatedNDK"选项.如果您是从头开始编写项目,那么您可能对实验性插件更满意.

  • 该项目没有任何gradle.properties如何创建一个新的graside.properties在哪里写"android.useDeprecatedNDK = true"在文件中 (3认同)