Eclipse에서 Vuforia 샘플 실행하기

Eclipse에서 안드로이드개발 환경 설정이 완료되었다.
http://hyunykim.blogspot.kr/2015/03/vuforia-android-studio.html

간단한 Android 앱을 만들어 빌드 환경을 설정하고, 실행도 해보았다.
http://hyunykim.blogspot.kr/2015/03/eclipse.html



그럼 이제 Vuforia 샘플을 돌려볼 차례!


1.Vuforia Android SDK 설치하기

1) Vuforia SDK 를 다운받는다.
https://developer.vuforia.com/downloads/sdk
메일 주소를 등록하는 절차가 필요하다.



2) 이클립스 빌드패스를 설정한다.

Window > Preferences > Java > Build Path > Classpath Variables 로 가서 새 변수를 추가한다. 이름은 QCAR_SDK_OOR, path에는 vuforia sdk가 있는 폴더를 지정하도록 한다.







2. Vuforia Sample import 하기

이클립스의workspace 폴더에 원하는 샘플을 복사하자.(사실 복사안하고 원본 zip 파일에서도 바로 불러올 수 있다.)







이클립스에서 File > Import > General > Existing Projects into Workspace 를 선택한다. (이건 프로젝트를 열 때 마다 헷갈리는 부분이다. VS와 다르게 프로젝트 파일에서 직접 이클립스를 열 수 없다. 메뉴도 찾기 힘들고 비 직관적이다. 이클립스에서 안좋아하는 부분이다.)







 Next를 누르면 어떤 프로젝트를 불러올지 지정할 수 있다.



여기서 root directory대신에 archive file을 선택하고, 아래 옵션에서 Copy projects into workspace 를 체크하면 zip 파일에서 바로 불러올 수도 있다.





3. 에러 수정

프로젝트를 불러오면 아쉽게도 에러가 뜬다. 나는 "Unable to resolve target 'android-19'"라고 떴다. 이것은 내가 받은 ADT 버전이 Vuforia가 지원하는 버전보다 높기 때문이라고 한다. 이걸 고쳐줘야 된다. Window> Android SDK Manager를 실행하여 해당 버전의 SDK Platform을 설치한다. (나의 경우는 API 19)
 





그럼 빌드 타겟이 자동으로 지정될 것이다. 확인해보자. 왼쪽 프로젝트 이름 우클릭 > Properties > Android



사실 내 폰은 4.1.2 버전인데 이렇게 해도 아주 실행이 잘 된다.





4. 라이선스 키 입력

이 상태로 앱을 실행하면 Vuforia app key를 넣으라고 앱에서 메시지가 뜰 것이다. 라이선스키를 넣어보자.

com.qualcomm.vuforia.samples.SampleApplication 패키지 안에
SampleApplicationSession.java를 연다. 파일 안에서 Vuforia.setInitParameters() 함수를 찾아 여기에 Vuforia 사이트에서 받은 키를 입력한다. 입력방법은 뷰포리아 사이트 참조 (https://developer.vuforia.com/library/articles/Solution/How-To-add-a-License-Key-to-your-Vuforia-App   - Unity, iOS를 위한 방법과 라이선스 키를 받는 링크 포함)

 





5. 실행하기!

Run 환경 설정은 이전 글 참조(http://hyunykim.blogspot.kr/2015/03/eclipse.html) 실행하면 휴대폰에서 Vuforia앱이 자동 실행된다! 뙇!


너무 삽질을 많이 해서 감격스러울 지경이다. Image Targets Multi Targets를 실행해보았다. 잘된다.






[Image Targets 실행 결과. 타겟 이미지는 샘플 폴더 > media 폴더 안에서 찾을 수 있다. ...\VuforiaSamples-4-0-103\media]




아래는 내가 삽질하면서 정리한 내용이다. 나름 인터넷을 보며 접근했지만 결과적으로는 아무 효과가 없었다. 다른 사람들은 나와 같은 삽질을 하지 않길 바라는 마음에 남겨둔다.다시 한번 말하지만 아래 내용은 삽질이었다!!!


________________________________________________________________________________



왼쪽 트리에서 프로젝트 우클릭 > Properties > Android 에서 타겟 디바이스를 지정한다. (http://stackoverflow.com/questions/4942144/errorunable-to-resolve-target-android-2)








이제 느낌표가 엑스로 바뀌었을 것이다. 이것을 하나하나 풀어줘야 된다.





요렇게 JELLY_BEAN_MR1 에 빨갛게 밑줄쳐져 있을 것이다. 이것을 해결해보자. (참조: https://developer.vuforia.com/forum/android/problem-building-vuforia-sample) 마우스 커서를 갖다 대면, 무엇으로 바꿀 것인지 추천해준다. 'JELLY_BEAN'을 선택한다.

그러면 새로운부분에 에러가 뜬다.. ㅎㅎ setChecked()







여기도 커서를 갖다대면 어떻게 문제를 해결할지 추천해준다. 클래스 앞에 'NewApi' 어노테이션을 붙이도록 하자. 이것도 안되면 해당 함수 앞에 붙인다.