2014-09-04 12 views
5

में जावासीवी कॉन्फ़िगरेशन मुझे पता है कि इसमें बहुत से समान प्रश्न हैं, लेकिन उनमें से बहुत से जावासीवी जैसे पुस्तकालयों के विकास की वजह से पुराने होने लगते हैं।एंड्रॉइड स्टूडियो

मैंने फिल्म बनाने के लिए Video Creation with Images and Audio in Android से कोड का उपयोग किया, लेकिन मुझे lib आयात के साथ कोई समस्या है।

compile group: 'org.bytedeco', name: 'javacv', version: '0.9' 

अब अगर मैं कुछ और करना है, मैं नहीं जानता कि:

मैं JavaCV पेज का कहना है, मैं Gradle में निर्भरता डाल के रूप में किया था?

मैं इन आयात का इस्तेमाल किया है:

import org.bytedeco.javacpp.avcodec; 
import org.bytedeco.javacpp.opencv_core.IplImage; 
import org.bytedeco.javacv.FFmpegFrameRecorder; 

import static org.bytedeco.javacpp.opencv_highgui.cvLoadImage; 

और इस त्रुटि मिलती है:

Caused by: java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil 
     at org.bytedeco.javacpp.Loader.load(Loader.java:387) 
     at org.bytedeco.javacpp.Loader.load(Loader.java:353) 
     at org.bytedeco.javacpp.avformat.<clinit>(avformat.java:13) 
     at org.bytedeco.javacv.FFmpegFrameRecorder.<clinit>(FFmpegFrameRecorder.java:106) 
     at voidstudio.app.activity.CreateMovieTask.doInBackground(CreateMovieTask.java:46) 
     at voidstudio.app.activity.CreateMovieTask.doInBackground(CreateMovieTask.java:21) 

और

Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil 
     at java.lang.Class.classForName(Native Method) 
     at java.lang.Class.forName(Class.java:217) 

और

Caused by: java.lang.UnsatisfiedLinkError: Couldn't load jniavutil from loader dalvik.system.PathClassLoader[dexPath=/data/app/voidstudio.app-1.apk,libraryPath=/data/app-lib/voidstudio.app-1]: findLibrary returned null 
     at java.lang.Runtime.loadLibrary(Runtime.java:365) 
     at java.lang.System.loadLibrary(System.java:521) 
     at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:535) 
     at org.bytedeco.javacpp.Loader.load(Loader.java:410) 

क्या मुझे कॉन्फ़िगरेशन में sth याद आया? मैंने समान प्रश्न देखा है लेकिन इसके लिए कोई उचित जवाब नहीं था।

+0

मैं एक ही मुद्दा है, तो आप एक समाधान मिला? – Yourange

+0

नहीं, शायद यह समस्या JavaCV –

उत्तर

2

चेक jniLibs फ़ोल्डर

की नियुक्ति मैं बस अपना jniLibs की नियुक्ति को बदल दिया है (पहले यह मुख्य फ़ोल्डर के बाहर थे) और यह मेरे लिए काम किया, जाँच कृपया image! उम्मीद है कि यह

7

अपडेट करने में मदद करेगा! मुझे यह भी पता चला है कि यदि आपके पास jniLibs में armeabi-v7a फ़ोल्डर है, या armeabi फ़ोल्डर के अलावा कुछ भी उपयोग कर रहे हैं, तो आपको .so फ़ाइलों को शामिल नहीं किया जा रहा है।

ऐसा लगता है कि ffmpeg आयात नहीं किया जा रहा है। मुझे भी यही समस्या थी। मैंने जो किया था यह रहा। अगर यह आपकी मदद करता है तो मुझे बताएं!

compile group: 'org.bytedeco', name: 'javacv', version: '0.9' 
compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '2.4.9-0.9', classifier: 'android-arm' 
compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '2.3-0.9', classifier: 'android-arm' 
+0

के नए संस्करण से संबंधित है, मैं ग्रेबल निर्भरताओं से बहुत परिचित नहीं हूं लेकिन आप ffmpeg और opencv (संस्करण: '2.4.9-0.9', संस्करण: '2.3- 0.9 ') – Vadym

+0

मैंने अभी मेवेन सेंटर पर देखा। यहां एफएफएमपीईजी का एक लिंक है। ऐसा लगता है कि दिसंबर में एक नया संस्करण जारी किया गया था। http://mvnrepository.com/artifact/org.bytedeco.javacpp-presets/ffmpeg – tylerjroach

+0

मैं javacv के संस्करण 0.11 का उपयोग कर रहा हूं और मैवेन सेंट्रल में मिले नवीनतम संस्करण के साथ 'opencv' और 'ffmpeg' को प्रतिस्थापित कर रहा हूं। लेकिन अभी भी काम नहीं करता है। मेरे पास मेरे src/main के अंतर्गत एक armeabi-v7a फ़ोल्डर है जिसमें अन्य .so फ़ाइलें हैं। क्या मुझे armeabi-v7a फ़ोल्डर के बारे में कुछ करना है? –

संबंधित मुद्दे