wseemann / JavaPlaylistParser

Java based playlist parser
18 stars 6 forks source link

java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jdom2/ContentList; #1

Closed ominfowave closed 6 years ago

ominfowave commented 6 years ago

there is issue when i am parsing "https://sites.google.com/site/iptvblogspot/de.m3u"

  java.lang.RuntimeException: An error occurred while executing doInBackground()
                                                       at android.os.AsyncTask$3.done(AsyncTask.java:318   at 
ava.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
                                                       at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
   at java.util.concurrent.FutureTask.run(FutureTask.java:242)
   at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
   at java.lang.Thread.run(Thread.java:761)
Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jdom2/ContentList;
   at org.jdom2.Document.<init>(Document.java:83)
   at org.jdom2.Document.<init>(Document.java:154)
   at org.jdom2.DefaultJDOMFactory.document(DefaultJDOMFactory.java:190)
   at org.jdom2.input.sax.SAXHandler.reset(SAXHandler.java:228)
   at org.jdom2.input.sax.SAXHandler.<init>(SAXHandler.java:208)
   at org.jdom2.input.sax.DefaultSAXHandlerFactory$DefaultSAXHandler.<init>(DefaultSAXHandlerFactory.java:76)
   at org.jdom2.input.sax.DefaultSAXHandlerFactory.createSAXHandler(DefaultSAXHandlerFactory.java:82)
   at org.jdom2.input.SAXBuilder.buildEngine(SAXBuilder.java:848)
   at org.jdom2.input.SAXBuilder.getEngine(SAXBuilder.java:904)
   at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1196)
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.validateXML(ASXPlaylistParser.java:110)
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.parseXML(ASXPlaylistParser.java:135)
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.parsePlaylist(ASXPlaylistParser.java:97)
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.parse(ASXPlaylistParser.java:259)
   at mypackagename.file_parser.parser.AutoDetectParser.parse(AutoDetectParser.java:144)
   at mypackagename.file_parser.parser.AbstractParser.parseEntry(AbstractParser.java:35)
   at mypackagename.file_parser.parser.m3u.M3UPlaylistParser.savePlaylistFile(M3UPlaylistParser.java:86)
   at mypackagename.file_parser.parser.m3u.M3UPlaylistParser.parsePlaylist(M3UPlaylistParser.java:77)
   at mypackagename.file_parser.parser.m3u.M3UPlaylistParser.parse(M3UPlaylistParser.java:93)
   at mypackagename.file_parser.parser.AutoDetectParser.parse(AutoDetectParser.java:94)
   at mypackagename.activities.AddMyChannelFromFileActivity$a.a(AddMyChannelFromFileActivity.java:160)
   at mypackagename.activities.AddMyChannelFromFileActivity$a.doInBackground(AddMyChannelFromFileActivity.java:136)
   at android.os.AsyncTask$2.call(AsyncTask.java:304)
   at java.util.concurrent.FutureTask.run(FutureTask.java:237)
   at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
   at java.lang.Thread.run(Thread.java:761) 
Caused by: java.lang.ClassNotFoundException: org.jdom2.ContentList
   at java.lang.VMClassLoader.findLoadedClass(Native Method)
   at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
   at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
   at org.jdom2.Document.<init>(Document.java:83) 
   at org.jdom2.Document.<init>(Document.java:154) 
   at org.jdom2.DefaultJDOMFactory.document(DefaultJDOMFactory.java:190) 
   at org.jdom2.input.sax.SAXHandler.reset(SAXHandler.java:228) 
   at org.jdom2.input.sax.SAXHandler.<init>(SAXHandler.java:208) 
   at org.jdom2.input.sax.DefaultSAXHandlerFactory$DefaultSAXHandler.<init>(DefaultSAXHandlerFactory.java:76) 
   at org.jdom2.input.sax.DefaultSAXHandlerFactory.createSAXHandler(DefaultSAXHandlerFactory.java:82) 
   at org.jdom2.input.SAXBuilder.buildEngine(SAXBuilder.java:848) 
   at org.jdom2.input.SAXBuilder.getEngine(SAXBuilder.java:904) 
   at org.jdom2.input.SAXBuilder.build(SAXBuilder.java:1196) 
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.validateXML(ASXPlaylistParser.java:110) 
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.parseXML(ASXPlaylistParser.java:135) 
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.parsePlaylist(ASXPlaylistParser.java:97) 
   at mypackagename.file_parser.parser.asx.ASXPlaylistParser.parse(ASXPlaylistParser.java:259) 
   at mypackagename.file_parser.parser.AutoDetectParser.parse(AutoDetectParser.java:144) 
   at mypackagename.file_parser.parser.AbstractParser.parseEntry(AbstractParser.java:35) 
   at mypackagename.file_parser.parser.m3u.M3UPlaylistParser.savePlaylistFile(M3UPlaylistParser.java:86) 
   at mypackagename.file_parser.parser.m3u.M3UPlaylistParser.parsePlaylist(M3UPlaylistParser.java:77) 
   at mypackagename.file_parser.parser.m3u.M3UPlaylistParser.parse(M3UPlaylistParser.java:93) 
   at mypackagename.file_parser.parser.AutoDetectParser.parse(AutoDetectParser.java:94) 
   at mypackagename.activities.AddMyChannelFromFileActivity$a.a(AddMyChannelFromFileActivity.java:160) 
   at mypackagename.activities.AddMyChannelFromFileActivity$a.doInBackground(AddMyChannelFromFileActivity.java:136) 
   at android.os.AsyncTask$2.call(AsyncTask.java:304) 
   at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
   at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243) 
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
   at java.lang.Thread.run(Thread.java:761) 
Caused by: java.lang.IllegalAccessError: Method 'void org.jdom2.ContentList.sort(java.util.Comparator)' implementing interface method 'void java.util.List.sort(java.util.Comparator)' is not public (declaration of 'org.jdom2.ContentList' appears in /data/app/mypackagename-2/base.apk:classes2.dex
wseemann commented 6 years ago

Add this jar to your project. Let me know if that fixes your issue.

ominfowave commented 6 years ago

@wseemann it's already there,parsing is working for m3u file type,it only get crash when there is .asx file it is also not working on uploaded github example

wseemann commented 6 years ago

Are you using proguard in your project? That could be causing the issue too. m3u files don't need JDOM seeing as there is no XML. ASX files are XML based which would explain why they are failing on the dependency.

ominfowave commented 6 years ago

yes,but i have tested without proguard same error is there ,related to above comment there is some link in above m3u list that point to ASX list for example 'http://www.elahmad.com/tv/alraitv.asx'

wseemann commented 6 years ago

Google is your friend: https://stackoverflow.com/questions/39268486/android-illegalaccesserror-on-nougat

wseemann commented 6 years ago

Try this jar.

ominfowave commented 6 years ago

@wseemann jplaylistparser-1.0.jar and jdom2-2.0.6.jar both are working,can you please suggest which one is best?

wseemann commented 6 years ago

I would use jplaylistparser-1.0.jar.

ominfowave commented 6 years ago

thank you for are grate support and help