Description
I use Apache Tika on Android in order to detect mime type of varios files:
Apache Tika V1.10 works fine on Android:
implementation 'org.apache.tika:tika-core:1.10'
val mimeType = file.inputStream().buffered().use { inputStream -> AutoDetectParser().detector .detect(inputStream, Metadata()).toString() }
However, Tika V1.26 will crash when trying to detect the mime type:
implementation 'org.apache.tika:tika-core:1.10'
java.lang.ExceptionInInitializerError at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:69) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:100) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:189) at org.apache.tika.mime.MimeTypes.getDefaultMimeTypes(MimeTypes.java:604) at org.apache.tika.config.TikaConfig.getDefaultMimeTypes(TikaConfig.java:83) at org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:257) at org.apache.tika.config.TikaConfig.getDefaultConfig(TikaConfig.java:422) at org.apache.tika.parser.AutoDetectParser.<init>(AutoDetectParser.java:55)
CAUSE: java.lang.RuntimeException: problem initializing SAXParser pool at org.apache.tika.mime.MimeTypesReader.<clinit>(MimeTypesReader.java:119) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:69) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:100) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:189) at org.apache.tika.mime.MimeTypes.getDefaultMimeTypes(MimeTypes.java:604) at org.apache.tika.config.TikaConfig.getDefaultMimeTypes(TikaConfig.java:83) at org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:257) at org.apache.tika.config.TikaConfig.getDefaultConfig(TikaConfig.java:422) at org.apache.tika.parser.AutoDetectParser.<init>(AutoDetectParser.java:55)
CAUSE OF CAUSE: org.apache.tika.exception.TikaException: problem creating SAX parser factory at org.apache.tika.mime.MimeTypesReader.newSAXParser(MimeTypesReader.java:433) at org.apache.tika.mime.MimeTypesReader.setPoolSize(MimeTypesReader.java:417) at org.apache.tika.mime.MimeTypesReader.<clinit>(MimeTypesReader.java:117) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:69) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:100) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:189) at org.apache.tika.mime.MimeTypes.getDefaultMimeTypes(MimeTypes.java:604) at org.apache.tika.config.TikaConfig.getDefaultMimeTypes(TikaConfig.java:83) at org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:257) at org.apache.tika.config.TikaConfig.getDefaultConfig(TikaConfig.java:422) at org.apache.tika.parser.AutoDetectParser.<init>(AutoDetectParser.java:55)
CAUSE OF CAUSE OF CAUSE: org.xml.sax.SAXNotRecognizedException: http://javax.xml.XMLConstants/feature/secure-processing at org.apache.harmony.xml.parsers.SAXParserFactoryImpl.setFeature(SAXParserFactoryImpl.java:93) at org.apache.tika.mime.MimeTypesReader.newSAXParser(MimeTypesReader.java:429) at org.apache.tika.mime.MimeTypesReader.setPoolSize(MimeTypesReader.java:417) at org.apache.tika.mime.MimeTypesReader.<clinit>(MimeTypesReader.java:117) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:69) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:100) at org.apache.tika.mime.MimeTypesFactory.create(MimeTypesFactory.java:189) at org.apache.tika.mime.MimeTypes.getDefaultMimeTypes(MimeTypes.java:604) at org.apache.tika.config.TikaConfig.getDefaultMimeTypes(TikaConfig.java:83) at org.apache.tika.config.TikaConfig.<init>(TikaConfig.java:257) at org.apache.tika.config.TikaConfig.getDefaultConfig(TikaConfig.java:422) at org.apache.tika.parser.AutoDetectParser.<init>(AutoDetectParser.java:55)