【原創】Unity使用Vuforia的sdk時,在PC上啟動正常,在Android端啟動后黑屏(無Vuforia Logo)的解決方法


摘要:

黑屏的原因是對應的手機操作系統的庫由於TortoiseSVN軟件的全局過濾而未加入SVN庫。

 

解決方法:

1.去除TortoiseSVN軟件中對.so和.a的默認忽略設置。

2.把Vuforia的Android和iOS庫拷貝至Unity工程中的對應目錄。

 

詳細過程:

每次使用Vuforia做一個新的demo時,常常發現前一兩次使用都是正常的,之后不知道從什么時候開始PC上可以正常測試,但是導出成Android的apk安裝在手機上時,程序就會起不來。

總是百思不得其解:我還明明把最開始成功的版本入了一個本地的SVN庫,現在即使是倒回到第一個版本仍然發生類似的問題。怎么會呢?難道Vuforia本身存在不穩定的情況?

苦苦的在官方論壇上搜索,發現也有很多類似的問題,從15年左右就開始了,但是不論是官方還是民間都沒有明確的解決方法。正在躊躇之際,突然一個靈感涌上心頭:查一查對應的lib庫!終於,在對應的Android庫文件夾中,我發現了端倪:\Assets\Plugins\Android\libs\armeabi-v7a\中一個文件都沒有,只有幾個.meta文件!正常情況下,每個.meta文件應該對應着一個文件或文件夾,名稱就是.meta文件前面的部分。我檢查了這幾個文件名,發現他們是:libVuforia.so、libVuforiaUnityPlayer.so、libVuforiaWrapper.so。我在新的VuforiaSDK的包中找到了這幾個文件,拷貝進去,手機應用恢復正常!\Assets\Plugins\iOS\目錄下也有類似的問題:libVuforia.a和libVuforiaUnityPlayer.a文件丟失。

可是平平常常幾個文件,還入了SVN庫,怎么會丟失了呢?我試着把這他們加入SVN庫,點TortoiseSVN的Add,居然新增的這幾個文件上沒有出現小加號。原來,在第一次入SVN庫的時候TortoiseSVN軟件就沒有把這幾個文件加上!怪不得會丟。

這難道是TortoiseSVN軟件的bug么?.so和.a可是常用的庫文件啊,軟件如果有這樣的bug應該早就修復了吧。幾經查證,最終發現TortoiseSVN默認全局忽略的文件中包含.so和.a文件,致使它們無法加入庫中。解決方法:TortoiseSVN -> Settings,在默認忽略文件中去掉 *.so *.a 即可。

 

參考資料:

1.Vuforia論壇:Camera not working when app installed on mobile

2.關於SVN上傳代碼,.so文件.a文件自動被過濾的問題


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM