2015-05-19 8 views
10

इंस्टॉल करते समय दुर्घटनाग्रस्त हो जाता है I को मर्ज करने के लिए mp4parser का उपयोग कर रहा हूं। एएस से चलते समय ऐप सही चलता है। लेकिन अगर मैं मैन्युअल रूप से ऐप इंस्टॉल करता हूं (APK को ट्रांसफर और चलाएं) या यदि मैं इसे TestFairy से चलाता हूं, तो ऐप क्रैश हो जाता है।mp4parser एंड्रॉइड स्टूडियो से डिवाइस पर चलता है लेकिन मैन्युअल रूप से एपीके

यह तब हुआ जब मैंने अपना Target SdkLollipop अपडेट किया। मैं अपने प्रोजेक्ट में

`aspectjrt-1.7.3.jar` 
`isoparser-1.0-RC-27.jar` 
libs dir में

जोड़ दिया है। versions नीचे

`aspectjrt-1.8.5.jar` 
`isoparser-1.0-RC-37.jar` 
`isoparser-1.0.6.jar`. 

सुनिश्चित नहीं हैं कि अगर इसकी सही तरीके से लेकिन यह Android Studio से काम करता है तो TestFairy या Manual install से दुर्घटनाओं

मैं भी साथ की कोशिश की है।

त्रुटि का कहना है

com.coremedia.iso.boxes.FileTypeBox missing

लेकिन इसकी वहाँ isoparser jar में।

मुझे क्या याद आ रही है, क्या यह एक संस्करण मुद्दा है?

मेरा डिवाइस Android 4.2.2 चल रहा है यह भी एक समस्या हो सकती है कि मेरे लक्षित SDKAndroid 5.0

अपवाद नहीं है है:

Caused by: java.lang.ClassNotFoundException:com.coremedia.iso.boxes.FileTypeBox 
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.coremedia.iso.boxes.FileTypeBox" on path: /data/app/com.myapp.appname-1.apk 
+0

Android में 4.2.2 Mp4 पार्सर ठीक से काम नहीं दूसरे संस्करण – sukumar

+0

प्रयास करें बहुत बढ़िया त्वरित प्रतिक्रिया के लिए धन्यवाद:

-keep class com.coremedia.iso.boxes.** { *; } -keep class com.googlecode.mp4parser.boxes.mp4.ESDescriptorBox { *; } 

अपने build.gradleproguard-rules.pro इस तरह उपयोग करने के लिए बनाते हैं। ठीक है, तो ऐसा कुछ भी नहीं है जो मैं उन उपयोगकर्ताओं के लिए कर सकता हूं जिनके पास 4.2.2 इंस्टॉल है, मेरे पास एक एस 4 मिनी और 4.2 है।2 नवीनतम संस्करण उपलब्ध है। यदि ऐसा कोई अन्य तृतीय पक्ष lib है जो वीडियो को मर्ज करने के लिए 4.2.2 में काम करता है? – BrettStuart

+0

हाय @ सुकुमार, आपकी प्रतिक्रिया के लिए फिर से धन्यवाद, मैंने खोज की है लेकिन एंड्रॉइड 4.2.2 और एमपी 4 पार्सर इश्यू से संबंधित कुछ भी नहीं ढूंढ सकता है या इस मुद्दे को हल करने में कोई मदद नहीं है, हमारे लिए जेलीबीन पर चलना महत्वपूर्ण है, इसलिए मुझे कुछ ढूंढना है , यदि आपके पास इस पर कोई और जानकारी है। मैं वर्तमान में मोबाइल के लिए ffmpeg या इंटेल इंडे मीडिया जैसे कुछ का उपयोग करने पर विचार कर रहा हूं लेकिन दोनों अधिक समय लेने लगते हैं। किसी भी सलाह की सराहना की जाएगी। – BrettStuart

उत्तर

0

जब भी आप एक ClassNotFound अपवाद अपने classloader वर्ग नहीं मिल सकता है इसे संचालित करने की जरूरत है। एमपी 4 पार्सर के साथ इसका कोई लेना-देना नहीं है जैसा ऊपर बताया गया है 4.2.2 पर काम नहीं कर रहा है।

क्या आप ग्रैडल का उपयोग करते हैं? क्या कक्षा आपके पुस्तकालय निर्माण फ़ाइल में लाइब्रेरी के रूप में बंडल की गई है? यदि आपके ऐप की build.gradle फ़ाइल में इस के तहत निर्भरता {} जोड़ने के लिए

प्रयास करें:

compile fileTree(dir: 'libs', include: '*.jar') 

इस अंतिम निर्माण में फ़ोल्डर अपने libs में सभी जार-फ़ाइलों को शामिल करेगा। बहुत निराशा के बाद, कि Gradle apk में मेरी lib फ़ाइलें पैकेजिंग नहीं किया गया था

+0

हाय @ डीकेआईटी, प्रतिक्रिया के लिए धन्यवाद, मैं ग्रैडल का उपयोग कर रहा हूं, और मेरे पास पहले से ही फ़ाइल संकलित है (डीआईआर: 'libs', इसमें शामिल हैं: '* .jar') 'निर्भरता में मेरे build.gradle में। लेकिन मुझे अभी भी त्रुटि मिल रही है: 'java.lang.ClassNotFoundException: पथ पर "com.coremedia.iso.boxes.FileTypeBox" वर्ग नहीं मिला: DexPathList [[ज़िप फ़ाइल "/data/app/com.example.appname- 1.एपीके "], देशी पुस्तकालय निर्देशिकाएं = [/ डेटा/ऐप-lib/com.example.appname-1,/विक्रेता/lib,/system/lib]]' – BrettStuart

+0

ठीक है - क्या आपने इस निर्भरता को ऐप में ही जोड़ा है, या एक मॉड्यूल के लिए ऐप पर निर्भर करता है? एंड्रॉइड को ऐप निर्देशिका के तहत libs-directory में निर्भरता की आवश्यकता होती है ताकि वह इसे ढूंढ सके। – DKIT

+0

यदि यह आपकी समस्या का समाधान करता है तो कृपया मेरा उत्तर स्वीकार करें। – DKIT

1

क्षमा देर जवाब, मैंने पाया है, यह mp4Parser कोई लेना देना नहीं था, अंत में एंड्रॉयड स्टूडियो, सभी SDK की और Gradle apk उचित पैक को अद्यतन करने के बाद।

+0

मुझे एक ही समस्या का सामना करना पड़ रहा है, और अभी कुछ भी काम नहीं कर रहा है। क्या आप बता सकते हैं कि आपने कौन सा एंड्रॉइड स्टूडियो संस्करण अपग्रेड किया है? – SimpleCoder

0

इन 2 लाइनों को अपने proguard-rules.pro में जोड़ें। यह मेरे लिए काम किया। ,

android { 
buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
संबंधित मुद्दे