Я создаю приложение для Android, которое включает в себя стороннюю банку.Этот сторонний файл jar использует внутреннюю запись в журнал, которую не удается инициализировать при запуске приложения, с этой ошибкой: «org.apache.commons.logging.LogConfigurationException: Нет подходящей реализации журнала».
Судя по всему, jar использует org.apache.commons.logging и зависит от log4j, в частности, log4j-1.2.14.jar.Я упаковал банку log4j в приложение для Android.Jar стороннего производителя был упакован с файлом конфигурации log4j.xml, который я попытался упаковать в приложение как ресурс XML (а также как необработанный ресурс).
Сообщение об ошибке «Нет подходящей реализации журнала» не очень наглядно, и у меня нет непосредственного знакомства с журналированием Java.Поэтому я ищу вероятные причины проблемы (какие ресурсы класса или конфигурации я мог бы пропустить?) Или какой-либо метод отладки, который приведет к другому сообщению об ошибке, которое более явно о проблеме.У меня нет доступа к исходному коду для стороннего jar.
Вот трассировка стека исключений.Когда я запускаю приложение, я получаю следующее исключение, как только один из сторонних jar-классов пытается инициализировать свою внутреннюю запись в журнал.
DEBUG/AndroidRuntime(15694): Shutting down VM
WARN/dalvikvm(15694): threadid=3: thread exiting with uncaught exception (group=0x4001b180)
ERROR/AndroidRuntime(15694): Uncaught handler: thread main exiting due to uncaught exception
ERROR/AndroidRuntime(15694): java.lang.ExceptionInInitializerError
ERROR/AndroidRuntime(15694): Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log implementation
ERROR/AndroidRuntime(15694): at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:842)
ERROR/AndroidRuntime(15694): at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
ERROR/AndroidRuntime(15694): at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
ERROR/AndroidRuntime(15694): at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
ERROR/AndroidRuntime(15694): at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
ERROR/AndroidRuntime(15694): at org.apache.commons.configuration.ConfigurationFactory.<clinit>(ConfigurationFactory.java:77)