我的 NDK 项目无法编译,出现与 CPU 架构相关的问题 [英] My NDK project fails to compile with a CPU architecture-related issue

查看:20
本文介绍了我的 NDK 项目无法编译,出现与 CPU 架构相关的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Can someone explain why I get this errors please?

Build command failed.


Error while executing process C:UsersKevinDesktopAndroidSdk
dk-bundle
dk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:UsersKevinDesktopMygameproj.android-studioappjniAndroid.mk NDK_APPLICATION_MK=C:UsersKevinDesktopMygameproj.android-studioappjniApplication.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:UsersKevinDesktopMygameproj.android-studioappuildintermediates
dkBuilddebuglib 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:UsersKevinDesktopAndroidSdk
dk-bundle
dk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:UsersKevinDesktopMygameproj.android-studioappjniAndroid.mk NDK_APPLICATION_MK=C:UsersKevinDesktopMygameproj.android-studioappjniApplication.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:UsersKevinDesktopMygameproj.android-studioappuildintermediates
dkBuild
eleaselib 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 工作室的屏幕截图

I leave here a screenshot of my android studio if can be helpful

推荐答案

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

Most likely, you have NDK r17 installed, which does not support armeabi anymore. Your gradle plugin is not aware of this recent change. You must upgrade: in build.gradle, you should have

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 大于所需.

But even after upgrade, your build.gradle most likely lacks the abiFilters statement, and therefore your project build is slower and APK larger than necessary.

您可能只需要 APK 中的 ABI,

You probably only need on ABI in your APK,

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

这篇关于我的 NDK 项目无法编译,出现与 CPU 架构相关的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆