Я столкнулся с этой NoClassDefFoundError, когда использовал java.nio.charset.StandardCharsets.
Причина в том, что StandardCharsets не существовало до JRE 1.7.Если я установлю версию компиляции Java на 1.7, Eclipse пожаловался, что «Android требует уровня соответствия компилятора 5.0 или 6.0».Итак, я исправил это, щелкнув правой кнопкой мыши имя проекта-> Инструменты Android-> Исправить свойства проекта.Он скомпилирован с JRE1.6.
Однако, поскольку StandardCharsets не существовало до 1.7.Он сообщил об NoClassDefFoundError, когда я его запустил.
Я не осознавал этого, пока не попробовал множество других методов, включая переустановку JDK.Истинная причина ясно объясняется значением NoClassDefFoundError: класс не может быть найден во время выполнения, хотя он прошел компиляцию.
Общий вывод заключается в том, что до тех пор, пока Android не работает с JRE 1.7, если вы используете любую новую функцию, предоставленную начиная с 1.7, вы столкнетесь с этой ошибкой.
Мое решение состоит в том, что я скопировал этиИсходный код в мой код!