Это не работает.
while (read(fps[i][0], &each_record_read, sizeof(struct rec)) > 0)
не так, и вы можете прочитать короткое. Когда мы имеем дело со структурированным каналом, мы обычно используем что-то вроде этого:
ssize_t read_block(int source, void *buffer, ssize_t len)
{
char *work = buffer;
while (len) {
ssize_t delta = read(source, work, len);
if (delta < 0) return -1; /* ERROR */
if (delta == 0) return 0; /* EOF */
work += delta;
len -= delta;
}
}
/* ... */
while (read_block(fps[i][0], &each_record_read, sizeof(struct rec)) > 0){
Теперь это работает.
Из того, что я понимаю, эта та же самая загадочная ошибка могла быть вызвана множеством причин. У меня тоже ошибка "Преобразование в формат Dalvik с ошибкой 1". В моем случае проблема заключалась в том, что по какой-то причине Project -> Properties -> Java Compiler не был установлен на «Включить специфичные для проекта настройки» с правильными настройками Java 1.5, но вместо этого был оставлен по умолчанию (1.6 в моем случае). Отладка, сборка и тестирование на устройствах / эмуляторах работали нормально, но экспорт всегда заканчивался сообщением об ошибке выше.
Если вы не уверены в правильности настроек, создайте тот же проект в некотором альтернативном месте и просто скопируйте все необходимые файлы из старого проекта в новый. Это решило проблему для меня.
Следующая проблема с тем же сообщением об ошибке возникла из-за использования proguard. Обновление до последней версии путем замены той, которая пришла на Android SDK, исправило это.
Надеюсь, это поможет
Я сделал это в качестве инструкции первого ответа, и он работает. (Linux) Я думаю, что проблема может быть вызвана обновлениями SDK или ADT. Мне нужно очистить всю библиотеку в пути Java Building, а затем использовать инструменты Android для исправления проекта. После очистки и восстановления он работает как прежде.
Я решил проблему, обновив доступные пакеты в Android SDK et AVD manager. Не нужно удалять Eclipse.
Я мог бы решить эту проблему, создав новый проект, похоже, что некоторые настройки проекта создавали эту проблему и не могли найти основную причину этого. Но сброс существующего исходного кода в новый проект решил эту проблему. Если кто-то нашел причину этой проблемы, пожалуйста, дайте мне знать.
При определенных условиях он получает свои изгибы в завихрении, и лучшее решение, которое я нашел, состоит в том, чтобы удалить ссылочные банки, очистить, добавить их обратно и затем снова скомпилировать.
Я полагаю, что ошибка может быть вызвана включением одного и того же класса дважды.
Эта ошибка также возникает (и вы не сможете избавиться от нее путем очистки) при использовании классов, не являющихся частью среды Android.
Я получил ту же ошибку. Моя проблема заключалась в том, что у меня было устройство Android, подключенное для отладки. Как только я отключил его, я смог экспортировать.
У меня была та же проблема, и я безуспешно пробовал все решения, перечисленные здесь (я начинал раздражаться). Затем я удалил проект из рабочей области, а затем снова импортировал его, и проблем не было!
У меня была та же проблема, и я решил ее следующим образом:
Вот что я сделал:
Это помогло мне. Надеюсь, что это сработает и у вас
Обновление: ну, на самом деле, мне, возможно, придется отказаться от своего мнения ... действия удалили сообщения об ошибках, но теперь мне не хватает определенных классов и методов ... arggghhhh
Либо:
javax.net.SocketLibrary
находится в вашем исходном коде, либо javax.net.SocketLibrary
включен в файл JAR в вашем проекте