1. 程式人生 > >使用Vuforia SDK搭建AR應用開發環境

使用Vuforia SDK搭建AR應用開發環境

最近在搞一個專案,裡面需要實現增強現實的功能,首先想到利用現有的開源sdk進行二次開發。通過網上查詢資料,最後鎖定了高通公司的Vuforia SDK。網上關於在eclipse下使用進行Vuforia SDK搭建AR應用開發環境的資料有很多,但是大部分提到需要安裝Cygwin和NDK這兩個軟體。這兩個軟體主要用來實現java呼叫底層c/c++ API函式的功能,由於Vuforia SDK使用到了底層的c函式介面,因此需要這兩個軟體的支援。其實這個地方我們也可以不用安裝(這是因為這兩個軟體是用來編譯源工程生成相應的支援檔案來實現上述呼叫功能,但是新版本的sdk中已經為我們提供了這樣的檔案,因此我們無需再自己手動編譯生成了)。

關於Cygwin編譯工程的方法,大家可以參考這篇博文:

這裡我們進行eclipse下儘可能簡單的AR環境配置,具體步驟大家可以參考這篇博文:

這裡需要注意的是官方提供的sample是針對Android Studio的,那麼我們怎麼在eclipse中使用呢。其實我們可以進行一下轉換,關於Android studio工程轉換eclipse工程的方法大家可以參考這篇文章:

下面我主要說一下,在我們執行官方示例的過程中可能出現的問題以及解決方法。

問題一:eclipse編譯後 ,點選Start按鈕後螢幕閃一下就退出了


分析一:出現這個問題的原因是你的源工程程式碼中沒有新增key。關於key的新增,大家可以自行百度,這裡不再贅述。

問題二:新增key之後,執行還是閃退,檢查Logcat發現有如下報錯:

unsupportedclass:com.mediatek.common.telephony.IOnlyOwnerSimSupport 

分析二:出現這個問題的原因可能是你的手機cpu對於的so檔案沒有新增。這裡可以在工程中新建一個libs資料夾,然後將sdk/build/lib路徑下的armeabi-v7a資料夾(armeabi-v7a中包含有所需的so檔案)拷貝到上面的libs資料夾中,然後eclipse會將so自動打包(關於so檔案,這裡多說一句。so檔案是為了支援不同的cpu架構所創造出來的。如果Android應用中使用到C程式碼,需要編譯so檔案打包進apk的libs路徑,而編譯so檔案這個工作通常是由NDK和Cygwin來完成的,這裡你就明白為啥之前環境配置時提到安裝這兩個軟體了吧,不過現在既然新版sdk中已經有了這個檔案,我們也沒有必要自己安裝軟體手動編譯了)。