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

openCV gaze tracking 시선 추적 GitHub 오픈소스 안드로이드 스튜디오 에러에 대한 질문입니다.

0 추천

https://github.com/eyetrackingDB/GazeTrackingFramework

 

위 링크의 이클립스로 작성된 오픈소스를 안드로이드 스튜디오로 여는 중에 에러가 있어 질문 드립니다.

 

다음은 제가 오픈소스를 열기 위해 시도한 과정입니다.

1. openCV를 New - Import Module... 로 열었습니다.

2. build.gradle(Module:app)과 build.gradle(Module: openCVLibrary249)의 compileSdkVersion, buildToolsVersion, minSdkVersion, targetSdkVersion 이 네 가지의 버전을 맞췄습니다.

3. cpp 디렉터리를 우클릭하여 link c++ project with gradle로  Android.mk의 path를 지정했습니다.

 

위와 같이 시도했을 때 아래와 같은 메시지가 나타났습니다.

 

Error:FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:externalNativeBuildDebug'.
> Build command failed.
  Error while executing process /Users/younghov/Library/Android/sdk/ndk-bundle/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/Users/younghov/AndroidStudioProjects/GazeTrackingFramework-master_7/app/src/main/jni/Android.mk NDK_APPLICATION_MK=/Users/younghov/AndroidStudioProjects/GazeTrackingFramework-master_7/app/src/main/jni/Application.mk APP_ABI=mips64 NDK_ALL_ABIS=mips64 NDK_DEBUG=1 APP_PLATFORM=android-21 NDK_OUT=/Users/younghov/AndroidStudioProjects/GazeTrackingFramework-master_7/app/build/intermediates/ndkBuild/debug/obj NDK_LIBS_OUT=/Users/younghov/AndroidStudioProjects/GazeTrackingFramework-master_7/app/build/intermediates/ndkBuild/debug/lib /Users/younghov/AndroidStudioProjects/GazeTrackingFramework-master_7/app/build/intermediates/ndkBuild/debug/obj/local/mips64/libeyetab_tracker.so}
  Android NDK: WARNING:/Users/younghov/AndroidStudioProjects/GazeTrackingFramework-master_7/app/src/main/jni/Android.mk:eyetab_tracker: non-system libraries in linker flags: -lopencv_java    
  Android NDK:     This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES    
  Android NDK:     or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the    
  Android NDK:     current module    
  [mips64] Compile++      : eyetab_tracker <= eyetab_tracker.cpp
  /bin/sh: /Users/younghov/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.8/prebuilt/darwin-x86_64/bin/mips64el-linux-android-g++: No such file or directory
  make: *** [/Users/younghov/AndroidStudioProjects/GazeTrackingFramework-master_7/app/build/intermediates/ndkBuild/debug/obj/local/mips64/objs-debug/eyetab_tracker/eyetab_tracker.o] Error 127


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

 

이 오픈소스를 열 수 있는 방법을 아시는 분은 답변 주시면 감사하겠습니다.

이 문제에 대해 지난주부터 고민해도 해결을 못했습니다. 해결해주시는 분께 커피 기프티콘 선물 드리고 싶습니다.

younghov (140 포인트) 님이 2017년 8월 20일 질문
younghov님이 2017년 8월 20일 수정
한번 해 보려고 하다가,
보내주신 오픈 소스에 대한 설명을 읽어보니, GNU 라이센스를 가지고 있네요.
제가 알고 있기로, GNU 기반 오프소스를 이용해서 앱을 만들어서 배포하려면, 소스까지 공개해야 합니다.
NormMaker라는 것은 상용 라이브러리인데, 이것도 관계되어 있는 것 같네요.

이런 무게감 있는 오프소스를 제가 만약 파악한다면, 두가지 이유가 있어서 일 겁니다.
첫째, 이 오픈소스에 향후 기여를 하고 싶은 제 평생의 연구 과제 중에 하나이거나,
        비슷한 이유로 파악한 뒤에 완전히 새롭게 만들고 싶을 경우.
둘째, 이걸 파악해서 공익적인 무료 오픈소스 앱을 만들거나 입니다.

그런 두가지 동기 부여가 안되어 있다면 열어보기 힘든 프로젝트가 아닐까요?
저 같으면. 상기 두가지 이유 이외에 다른 목적으로 개발을 해 줘야 한다면,
다른 오픈소스를 찾아 볼 것 같네요.
이것을 이용해서는 납품이 불가능하니까요. 고객사가 상기 GNU 라이센스와 만들어진 앱 소스를 공개하는 것에 동의하지 않을 가능성이 거의 없는 경우가 많아서죠.

프로젝트는 훌륭해 보입니다. OpenCV를 멀티코어에서 돌리기 위해서 다양한 오픈소스를 사용했네요. 참고하는 오픈소스 중에는 RootTools 라는 것도 있네요. 루팅이 필요한 게 아닌지 걱정도 되네요.

사용에 제약이 있는 라이브러리가 있다면 명시를 해 줘야 하는데, 설명이 좀 부족하네요...

Good luck 2 U~!
해당 오픈소스를 사용하려는 목적은 말씀해주신 내용 중 두 번째 내용과 같이 무료 오픈소스 애플리케이션을 만들기 위함입니다.
답변 주셔서 정말 감사드립니다!
오.. 정말 좋은 의도네요. 잘 되길 바랍니다.

에러 메시지만 보면 아래 파일이 없다는 것 같네요. 혹시 해당 경로에 파일이 있는지 확인해 보셨나요?

 /bin/sh: /Users/younghov/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.8/prebuilt/darwin-x86_64/bin/mips64el-linux-android-g++:

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...