Android NDK错误。无法构建项目

时间:2017-06-09 10:56:32

标签: android android-ndk android-gradle

我收到以下指定错误,

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

错误:(115)*** Android NDK:正在中止。停止。 错误:任务执行失败':un7zip:compileReleaseNdk'。

  

com.android.ide.common.process.ProcessException:执行进程E:\ sdk \ ndk-bundle \ ndk-build.cmd时出错,参数为{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}

2 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

使用NDK构建项目的本机部分时指定的

APP_PLATFORM非常重要。故事是described at length in the NDK guide

  

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

     

您应该在module-level build.gradle filedefaultConfigproductFlavors块中设置minSdkVersion属性,而不是直接更改此标志。这样可确保您的库仅供运行适当版本Android的设备上安装的应用使用。 ndk-build工具链使用以下逻辑,根据您正在构建的ABI和您指定的minSdkVersion选择库的最低平台版本:

     
      
  1. 如果ABI的平台版本等于minSdkVersion,则ndk-build使用该版本。
  2.   
  3. 否则,如果ABI存在低于minSdkVersion的平台版本,则ndk-build使用这些平台版本中最高的版本。这是一个合理的选择,因为缺少平台版本通常意味着自上一个可用版本以来本机平台API没有任何更改。
  4.   
  5. 否则,ndk-build使用高于minSdkVersion的下一个可用平台版本。
  6.   

NDK没有单独的android-25平台。如果您的最低支持平台为O,则可以选择android-24或(使用r15 beta),android-26。如果您的minSdkVersion较少,或者如果有疑问,请为NDK选择较低的平台,因为NDK平台是向上兼容的。