Обновление Android 17 кажется несовместимым с внешними банками
Я только что разрешил моему Mac делать обновление на своей установке Java, и теперь некоторые из моих старых банок (например, javax.mail
и apache.commons.httpclient
) бросают исключения "class not found" во время выполнения!
Смысл, они компилируются отлично, но затем вылетают во время выполнения с исключениями, которые выглядят следующим образом:
E/dalvikvm(2414): Could not find class 'javax.mail.internet.InternetAddress', referenced from method com.my.project.Main.isValidEmailAddress
Нужно ли мне получать более свежие версии банок с этими классами? Или мне нужно вернуться к моей предыдущей версии Java?
Или это какая-то совершенно несвязанная проблема, которую я только предполагаю, связана с обновлением Java (было бы вполне совпадением, все это отлично работало до обновления)?
Ответы
Ответ 1
сбой при запуске с исключениями, которые выглядят следующим образом: Could not find class 'javax.mail.internet.InternetAddress', referenced from method com.my.project.Main.isValidEmailAddress
Если у вас есть проблемы с внешними банками, то:
- создайте папку с именем
libs
.
- Скопируйте и вставьте все необходимые внешние файлы jar в эту папку.
Он будет автоматически включен, как описано на этой странице: Работа с зависимостями в проектах Android
Ответ 2
То же самое произошло со мной, но моя папка была помечена как "lib" вместо "libs" arg! обновление было немного грубо на этот раз... исправлено после удаления внешних банок из настроек проекта и изменения папки в libs
Ответ 3
Если переименование lib
на libs
не работает, попробуйте this.