/ / Biblioteka „javacv-android-arm.jar” zawiera rodzime biblioteki, które nie będą działać na urządzeniu - java, android, opencv, android-ndk, kod google

Biblioteka 'javacv-android-arm.jar' zawiera natywne biblioteki, które nie działają na urządzeniu - java, android, opencv, android-ndk, google-code

Jak mogę rozwiązać ten problem?

Właśnie skopiowałem pliki jar javacv w ramach mojego projektu Lib folder i dostałem ten błąd!

Mogę to znaleźć wątek z google ale strony nie można otworzyć z powodu polityki ograniczeń google w moim kraju niestety.

Powodem umieszczenia tych słoików w mojej aplikacji na Androida jest to, że nie chcę ich używać openCV manager. Chcę linkować statycznie openCV biblioteka do mojego projektu. Próbuję uruchomić moją aplikację Samsung Galaxy S5.

Tutaj jest LogCat błędy, które dostałem:

[2014-07-16 10:13:57 - face-recognition] The library "javacv-android-arm.jar" contains native libraries that will not run on the device.
[2014-07-16 10:13:57 - face-recognition] The following libraries were found:
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniARToolKitPlus.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniavcodec.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniavdevice.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniavfilter.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniavformat.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniavutil.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjnicvkernels.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_calib3d.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_contrib.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_core.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_features2d.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_flann.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_highgui.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_imgproc.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_legacy.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_ml.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_nonfree.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_objdetect.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_photo.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_stitching.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_video.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniopencv_videostab.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjnipostproc.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniswresample.so
[2014-07-16 10:13:57 - face-recognition]  - com/googlecode/javacv/cpp/android-arm/libjniswscale.so

EDYTUJ-1 Po wykonaniu instrukcji w tutaj, dzięki PRAKASH Mogłem rozwiązać te błędy, ale mam inne błędy, które są całkowicie powiązane NoClassDefFoundError. Naprawdę się poddaję. Nie mogę rozwiązać problemu, więc każda pomoc byłaby naprawdę doceniana. Oto moje nowe błędy:

07-22 08:48:54.472: E/dalvikvm(11694): Could not find class "com.googlecode.javacv.cpp.opencv_core$MatVector", referenced from method org.opencv.javacv.facerecognition.PersonRecognizer.train
07-22 08:48:54.472: W/dalvikvm(11694): VFY: unable to resolve new-instance 108 (Lcom/googlecode/javacv/cpp/opencv_core$MatVector;) in Lorg/opencv/javacv/facerecognition/PersonRecognizer;
07-22 08:48:54.472: D/dalvikvm(11694): VFY: replacing opcode 0x22 at 0x001c
07-22 08:48:54.472: D/dalvikvm(11694): DexOpt: unable to opt direct call 0x00c9 at 0x28 in Lorg/opencv/javacv/facerecognition/PersonRecognizer;.train
07-22 08:48:54.472: D/AndroidRuntime(11694): Shutting down VM
07-22 08:48:54.472: W/dalvikvm(11694): threadid=1: thread exiting with uncaught exception (group=0x41737c08)
07-22 08:48:54.477: E/AndroidRuntime(11694): FATAL EXCEPTION: main
07-22 08:48:54.477: E/AndroidRuntime(11694): Process: org.opencv.javacv.facerecognition, PID: 11694
07-22 08:48:54.477: E/AndroidRuntime(11694): java.lang.NoClassDefFoundError: com.googlecode.javacv.cpp.opencv_contrib

Odpowiedzi:

5 dla odpowiedzi № 1

Ściągnij Najnowsza wersja Javacv

i wyodrębnij go i umieść ffmpeg.jar ,javacv.jar ,javacpp.jar i opencv.jar w libs folder twojego projektu

a także wyodrębnić wszystkie * .so z wyodrębnionego

opencv-android-arm.jar,ffmpeg-android-arm.jar files.

i umieść wszystkie pliki * .so w środku libs / armeabi teczka

po więcej informacji Kliknij tutaj

może rozwiązać twój problem.


0 dla odpowiedzi nr 2

Jeśli jeszcze nie masz zainstalowanego AndroidaŚrodowisko programistyczne, możesz śledzić ten link, który zawiera wszystko, czego potrzebujesz, aby szybko zacząć. Obejrzyj film instruktażowy i postępuj zgodnie z instrukcjami poniżej, aby zainstalować Eclipse, Integrated Development Environment (IDE) dla rozwoju systemu Android i stworzyć nowy projekt.

Po zainstalowaniu wszystkiego i utworzeniu projektu użyj następującej procedury, aby zaimportować biblioteki JavaCV do projektu Android:

Pobierz biblioteki JavaCv: za. Z tego linku pobierz ”javacv-0.7-bin.zip „i rozpakuj pliki: - javacpp.jar - javacv.jar - javacv-android-arm.jar b. Z tego linku pobierz ”javacv-0.7-cppjars.zip„i rozpakuj pliki: - opencv-2.4.8-android-arm.jar - ffmpeg-2.1.1-android-arm.jar

Przejdź do Plik> Nowy> Folder, wybierz swój projekt jako folder nadrzędny, wpisz „libs / armeabi” jako nazwę folderu i kliknij Zakończ.

Skopiuj pliki javacpp.jar i javacv.jar do folderu „libs”.

Wypakuj wszystkie *.więc pliki z javacv-android-arm.jar, opencv-2.4.8-android-arm.jar i ffmpeg-2.1.1-android-arm.jar bezpośrednio do folderu „libs / armeabi”, bez tworzenia żadnego z podkatalogi znalezione w plikach JAR. (Najprostszym sposobem na wyodrębnienie plików .so z pliku .jar jest użycie oprogramowania 7-ZIP, które można pobrać tutaj).

Przejdź do Project> Properties> Java Build Path> Libraries i kliknij „Add JARs”.

Wybierz javacpp.jar i javacv.jar z folderu „libs”.

Na koniec zaimportuj funkcje JavaCV do swojego kodu

 import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;

i użyj kodu przykładowego, aby sprawdzić, czy wszystko działa poprawnie.