마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Android NDK: Aborting 에러 확인 부탁드립니다.

0 추천

깃허브에서 받은소스 돌려보려고 하는데요.

이것저것 깔라고해서 깔고 돌리니 에러가 발생하네요.

안드로이드에 입문한지 얼마 안되서 공부할겸해서 해보려는데 도저히 모르겠네요 ㅠ.ㅠ

깃허브에소 받은 소스는
https://github.com/huzongyao/AndroidShark 이거이구요

에러로그는

Executing tasks: [assemble]

Configuration on demand is an incubating feature.
Incremental java compilation is an incubating feature.
process_begin: CreateProcess(NULL, "", ...) failed.
C:/Users/aa/AppData/Local/Android/sdk/ndk-bundle/build//../build/core/init.mk:537: *** Android NDK: Aborting...    .  Stop.
process_begin: CreateProcess(NULL, "", ...) failed.
C:/Users/aa/AppData/Local/Android/sdk/ndk-bundle/build//../build/core/init.mk:537: *** Android NDK: Aborting...    .  Stop.

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> executing external native build for ndkBuild C:\Users\aa\AndroidStudioProjects\BuShark\app\src\main\jni\Android.mk

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 1.516 secs



위와 같네요 ㅜ.ㅜ

무사시1 (120 포인트) 님이 2018년 7월 25일 질문

1개의 답변

0 추천

로그 상에 나오는 
C:/Users/aa/AppData/Local/Android/sdk/ndk-bundle/build//../build/core/init.mk:537
문구에 따라 init.mk 파일의 537 라인을 확인 해 보면,
아래와 같이 되어 있습니다.
$(foreach _abi,$(strip $(NDK_ALL_ABIS)),\
  $(if $(filter-out 1,$(words $(NDK_ABI.$(_abi).arch))),\
    $(call __ndk_info,INTERNAL ERROR: The $(_abi) ABI should have exactly one architecture definitions. Found: '$(NDK_ABI.$(_abi).arch)')\
    $(call __ndk_error,Aborting...)\
  )\
)

NDK 빌드시 오래된 ndk의 경우 arm용, x86용, mips용 각각 따로 빌드하는걸 지원했으나, 최신 NDK의 경우 전부 빌드하도록 강제하고 있는데, 실제 프로젝트는 arm 용 빌드만 지원해서 발생한 오류 코드로 보입니다.

NDK를 오래된 버젼으로 변경해서 돌리시던지, abifilter 를 설정해서 arm만 빌드하게 변경 해주시면 해결 될 겁니다.

자세한 사항은 아래 글을 읽어 보세요.
https://developer.android.com/studio/projects/add-native-code?hl=ko

익명사용자 님이 2018년 7월 25일 답변
...