【问题标题】:My NDK project fails to compile with a CPU architecture-related issue我的 NDK 项目无法编译,出现与 CPU 架构相关的问题
【发布时间】:2018-10-24 10:49:36
【问题描述】:

谁能解释一下为什么会出现这个错误?

Build command failed.


Error while executing process C:\Users\Kevin\Desktop\Android\Sdk\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\Kevin\Desktop\Mygame\proj.android-studio\app\jni\Android.mk NDK_APPLICATION_MK=C:\Users\Kevin\Desktop\Mygame\proj.android-studio\app\jni\Application.mk APP_ABI=armeabi NDK_ALL_ABIS=armeabi NDK_DEBUG=1 APP_PLATFORM=android-14 NDK_OUT=C:/Users/Kevin/Desktop/Mygame/proj.android-studio/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=C:\Users\Kevin\Desktop\Mygame\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib NDK_TOOLCHAIN_VERSION=4.9 APP_PLATFORM=android-10 NDK_MODULE_PATH=C:/Users/Kevin/Desktop/Mygame/cocos2d;C:/Users/Kevin/Desktop/Mygame/cocos2d/cocos;C:/Users/Kevin/Desktop/Mygame/cocos2d/external -j4 NDK_DEBUG=1 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}


Android NDK: INTERNAL ERROR: The armeabi ABI should have exactly one `architecture definitions. Found: ''`    
process_begin: CreateProcess(NULL, "", ...) failed. 
*** Android NDK: Aborting...    .  Stop.
Build command failed.


Error while executing process C:\Users\Kevin\Desktop\Android\Sdk\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\Users\Kevin\Desktop\Mygame\proj.android-studio\app\jni\Android.mk NDK_APPLICATION_MK=C:\Users\Kevin\Desktop\Mygame\proj.android-studio\app\jni\Application.mk APP_ABI=armeabi NDK_ALL_ABIS=armeabi NDK_DEBUG=0 APP_PLATFORM=android-14 NDK_OUT=C:/Users/Kevin/Desktop/Mygame/proj.android-studio/app/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=C:\Users\Kevin\Desktop\Mygame\proj.android-studio\app\build\intermediates\ndkBuild\release\lib NDK_TOOLCHAIN_VERSION=4.9 APP_PLATFORM=android-10 NDK_MODULE_PATH=C:/Users/Kevin/Desktop/Mygame/cocos2d;C:/Users/Kevin/Desktop/Mygame/cocos2d/cocos;C:/Users/Kevin/Desktop/Mygame/cocos2d/external -j4 NDK_DEBUG=0 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}

Android NDK: INTERNAL ERROR: The armeabi ABI should have exactly one architecture definitions. Found: ''    
process_begin: CreateProcess(NULL, "", ...) failed.
*** Android NDK: Aborting...    .  Stop.

如果有帮助,我会在此处留下我的 android 工作室的屏幕截图

【问题讨论】:

  • 请显示您的应用级别gradle.build。花点时间联系stackoverflow.com/tour,了解如何提问。
  • 我面临同样的问题@Kevinddn99。你找到解决办法了吗?
  • 面临同样的问题。有什么解决办法吗?
  • 有人解决了这个错误吗?

标签: android android-ndk android-gradle-plugin


【解决方案1】:

很可能,您安装了 NDK r17,它不再支持 armeabi。你的 gradle 插件不知道这个最近的变化。您必须升级:在 build.gradle 中,您应该有

buildscript { dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
} }

在 gradle/wrapper/gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

但即使在升级之后,您的 build.gradle 也很可能缺少 abiFilters 语句,因此您的项目构建速度较慢且 APK 大于所需。

您可能只需要 APK 中的 ABI,

android { defaultConfig { ndk {
    abiFilters 'armeabi-v7a'
} } }

【讨论】:

  • 我仍然收到错误,我尝试了classpath 'com.android.tools.build:gradle:3.1.3',但没有任何改变。
  • @AdrianBuciuman 请注意,Build command failed 可能与 ndkBuild 有多种原因,不一定与 NDK 和 Grade 插件的不匹配版本有关。
【解决方案2】:

我最近收到了这个错误 - 原因是一个谜,现在仍然是。我重新安装了所有东西,但我无法让我的项目清理。

最后,我手动删除了app/build 和app/.externalNativeBuild 文件夹,项目重新构建良好,然后我又能够再次运行 Clean 而没有错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-02
    • 1970-01-01
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 2011-09-15
    相关资源
    最近更新 更多