web-dev-qa-db-ja.com

私のNDKプロジェクトは、CPUアーキテクチャ関連の問題でコンパイルに失敗します

このエラーが発生する理由を誰かが説明できますか?

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スタジオが役立つ場合はスタジオのスクリーンショットを残します enter image description here

8
Kevinddn99

ほとんどの場合、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'
} } }
10
Alex Cohn

私は最近このエラーを受け取りました-原因は謎であり、まだです。すべてを再インストールしましたが、プロジェクトをCleanにできませんでした。

最後にapp/buildフォルダーとapp/.externalNativeBuildフォルダーを手動で削除し、プロジェクトを正常に再構築しました。その後、エラーなしでCleanを再度実行できました。

1
Al.