2013-05-18 25 views
2

起初我想說,我工作了5個小時來解決這個問題,我很努力地描述它,如果有什麼不清楚的,請告訴我。Android opencv庫參考無法正常工作

我已經下載了Tegra Developer Pack已導入Open CV 2.4.3庫項目和示例項目,這些項目對我的設備Samsung Galaxy Note 2非常有用。我已經嘗試了很多方法來使我的opencv項目工作,但他們沒有。

我已經創建了項目並在project properties中添加了Android library reference。隨着每個樣本項目的完成,它們都變得非常完美。但「他們」得到綠色的勾,但我在第一次拿到綠色的勾,但是當我進入性能再次出現紅色叉:

我的項目: enter image description here

示例項目:

enter image description here

最後我的項目充滿了錯誤(無法導入類等),示例項目很乾淨。

我也嘗試通過添加其jar文件來構建像這樣的路徑來導入OpenCv。

enter image description here

然後在java文件導入問題都消失了,但還是老樣子任何xml含OpenCV的部分將無法正常工作。

實施例:


結果:

enter image description here

The following classes could not be instantiated: 
- org.opencv.android.JavaCameraView (Open Class, Show Error Log) 
See the Error Log (Window > Show View) for more details. 
Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse 

java.lang.ClassNotFoundException: org.opencv.R$styleable 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202) 

....

奇怪的是,當我在上述錯誤列表單擊打開類它會打開ri ght JavaCameraView源代碼

回答

3

好吧,我終於找到了如何解決它。

如果你想與Tegra的開發組的工作使您的工作空間目錄樣本目錄:Tegra\OpenCV-2.4.3.2-android-sdk-tadp\samples

或者可能總是複製導入的項目,不提他們。

+0

呃......我爲什麼想知道? –

+1

實際上它不限於Tegra包 我的問題與ADT捆綁和每個OpenCv4Android相同,並且它的工作方式像一個魅力 – MolhamStein

0

您可以將'您的'項目基於'他們'的項目,而不是從頭開始,因爲您說'他們'的項目可以正常工作嗎?

+0

我試圖複製示例項目,但即使它的副本也不起作用。它缺乏進口。然後紅十字也出現在副本上。 – Yoda

+0

我發現答案只有兩種不同的原始形式副本,項目名稱和目錄......以及樣本和工作空間的目錄不同。 – Yoda

2

實際上,問題來自Eclipse通過相對路徑引用庫項目的事實。您可能在這裏展示的示例項目中注意到了這一點(並且它工作正常)。

從技術上講,Eclipse爲我們計算相對路徑。不幸的是,當我們的項目和一個被引用的庫「不在同一個驅動器中」時(例如,我們的項目在C中,而庫在D中),它就不能這麼做。

因此,Windows中的實際要求是我們將項目庫和引用庫放在同一個驅動器中,以便兩者之間存在相對路徑。

[P.S.我知道這是一箇舊帖子,但其他人可能會發現我的回覆有用。]

+1

這是非常非常有用的帖子。 – Yoda