Android NDK错误。无法构建项目。

11

我遇到了如下指定的错误:

E:\SDK\ndk-bundle\build\core\setup-app-platform.mk

错误:(115) *** Android NDK: 中止。停止。

com.android.ide.common.process.ProcessException: 在使用参数{NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=E:\appRizort\RizortCardboard\un7zip\build\intermediates\ndk\release\Android.mk APP_PLATFORM=android-25 NDK_OUT=E:\appRizort\RizortCardboard\un7zip\build\intermediates\ndk\release\obj NDK_LIBS_OUT=E:\appRizort\RizortCardboard\un7zip\build\intermediates\ndk\release\lib APP_ABI=armeabi-v7a,armeabi,x86,arm64-v8a}执行进程E:\sdk\ndk-bundle\ndk-build.cmd时出错。


NDK不支持android-25平台。您可以设置为android-24或(使用r15 beta)android-26 - Alex Cohn
1
是的,这个东西可行。谢谢@AlexCohn。 - lajeet
即使在android-26上,我在Android Studio中仍然得到NDK_PROJECT_PATH为null。但是,如果我从命令提示符中运行它,则构建可以正常工作。 - Siju
2个回答

6

你的NDK_PROJECT_PATH为空,如果项目文件夹路径中包含空格,可能会导致此问题。


没有空格存在。 - lajeet
3
当在Android Studio中由Gradle Android插件运行ndk-build时,如果NDK_PROJECT_PATH为空,则是正常的。请注意,这里的翻译保持原意,同时尽可能使语言通俗易懂。 - Alex Cohn

3
你在使用NDK构建项目的本地部分时指定的APP_PLATFORM非常重要。在NDK指南中详细介绍了这个故事:(英文链接)

此变量包含您想要支持的最低Android平台版本。例如,值为android-15指定您的库使用不可用于Android 4.0.3(API级别15)以下版本并且无法在运行较低平台版本的设备上使用的 API。有关平台名称和相应的Android系统映像的完整列表,请参阅Android NDK Native APIs

与其直接更改此标志,不如在模块级别build.gradle文件的defaultConfig或productFlavors块中设置minSdkVersion属性。这样可以确保您的库仅由安装在运行足够版本的Android设备上的应用程序使用。 ndk-build工具链使用以下逻辑根据您正在构建的ABI以及您指定的minSdkVersion选择库的最小平台版本:

  1. 如果存在与minSdkVersion相等的ABI的平台版本,则ndk-build使用该版本。
  2. 否则,如果存在低于ABI的minSdkVersion的平台版本,则ndk-build使用这些平台版本中的最高版本。这是一个合理的选择,因为缺少平台版本通常意味着自先前可用版本以来未对本地平台API进行任何更改。
  3. 否则,ndk-build将使用下一个可用的高于minSdkVersion的平台版本。
NDK没有单独的android-25平台。如果您的最小支持平台为O,则可以选择android-24或(使用r15 beta),android-26。如果您的minSdkVersion较低或者不确定,为NDK选择更低的平台,因为NDK平台向上兼容。

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