Импорт jar-файла Android.mk java.lang.Error: сбой упаковки: java.lang.ClassNotFoundException

Недавно я начал разработку приложений для 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}

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
92
2

Ответы 2

Пожалуйста, добавьте это в свой "Manifest.xml"

 <application.....>
 //add this line
 <activity name = "com.vladium.logging.ILogLevels">
 </application>

Класс является частью библиотеки jar. В результате класс меняется при каждом выполнении приложения. Аналогичная ошибка возникает позже с именем класса com.vladium.utils.IntSet.

Nikhil S 27.03.2018 17:21

В этом случае вы должны проверить более новую версию своей библиотеки jar или связаться с поставщиком.

Constantin N. 27.03.2018 17:27

Эта библиотека является частью Android SDK, а также частью исходного кода AOSP. Библиотеку достал из исходников AOSP. Спасибо за ваше предложение, я поищу более новую версию той же библиотеки.

Nikhil S 27.03.2018 17:30

Как было предложено, я попытался использовать последнюю доступную онлайн-версию emma-2.1.5320.jar, а также доступный emma.jar из Android AOSP. В обоих случаях у меня одна и та же проблема.

Nikhil S 28.03.2018 06:36

Пожалуйста, ознакомьтесь с правилами вашей программы для Эммы.

-keep class com.vladium.** {
    *;
}

У меня нет файлов proguard как таковых, обязательно ли я должен добавить один и упомянуть, чтобы сохранить класс?

Nikhil S 29.03.2018 22:48

В соответствии с вашим предложением я попытался добавить proguard.files, но по-прежнему сохраняется та же ошибка.

Nikhil S 30.03.2018 17:04

Другие вопросы по теме