Недавно я начал разработку приложений для Android в AOSP и наткнулся на план получения покрытия кода для сценариев ручного тестирования. Я наткнулся на вариант использования библиотеки emma.jar, чтобы сделать то же самое. Но когда я использую тот же файл jar как часть моего проекта Android AOSP, библиотека добавляется и компиляция прошла успешно. Во время выполнения, когда я пытаюсь получить доступ к функции, приложение вылетает со следующей ошибкой
FATAL EXCEPTION: main Process: com.panasonic.dairse.logger.loggerapp, PID: 4843 java.lang.Error: packaging failure: class [com.vladium.logging.ILogLevels] not found {java.lang.ClassNotFoundException: com.vladium.logging.ILogLevels}




Пожалуйста, добавьте это в свой "Manifest.xml"
<application.....>
//add this line
<activity name = "com.vladium.logging.ILogLevels">
</application>
В этом случае вы должны проверить более новую версию своей библиотеки jar или связаться с поставщиком.
Эта библиотека является частью Android SDK, а также частью исходного кода AOSP. Библиотеку достал из исходников AOSP. Спасибо за ваше предложение, я поищу более новую версию той же библиотеки.
Как было предложено, я попытался использовать последнюю доступную онлайн-версию emma-2.1.5320.jar, а также доступный emma.jar из Android AOSP. В обоих случаях у меня одна и та же проблема.
Пожалуйста, ознакомьтесь с правилами вашей программы для Эммы.
-keep class com.vladium.** {
*;
}
У меня нет файлов proguard как таковых, обязательно ли я должен добавить один и упомянуть, чтобы сохранить класс?
В соответствии с вашим предложением я попытался добавить proguard.files, но по-прежнему сохраняется та же ошибка.
Класс является частью библиотеки jar. В результате класс меняется при каждом выполнении приложения. Аналогичная ошибка возникает позже с именем класса com.vladium.utils.IntSet.