Плохая магия файлов классов при использовании dx.bat - PullRequest
4 голосов
/ 16 декабря 2011

Мне нужно создать приложение для Android с помощью командной строки, когда я дохожу до того, что должен использовать dx.bat для преобразования в байт-код Dalvik

dx.bat --dex --output=C:/local_programs/testProject/bin/classes.dex C:/local_programs/testProject/bin/classes/test/Android/cmd/

Этот путь "C: / local_programs / testProject / bin / classes / test / Android / cmd /" находится там, где находится мой .class.

это дает мне эту ошибку

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing AndroidTestActivity.class
...while processing AndroidTestActivity.class

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing R$attr.class
...while processing R$attr.class

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing R$drawable.class
...while processing R$drawable.class

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing R$id.class
...while processing R$id.class

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing R$layout.class
...while processing R$layout.class

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing R$string.class
...while processing R$string.class

trouble processing:
bad class file magic (cafebabe) or version (0033.0000)
...while parsing R.class
...while processing R.class
7 warnings
no classfiles specified

Мой .class генерируется так, как должен, и, насколько я могу судить, они не повреждены.

Я обнаружил несколько случаев этой проблемы, но ни один из них не подходит под мои настройки, так как я не использую build.xml (который, как я понимаю, является сборщиком муравьев)

Мои вопросы: есть ли у меня выбор в использовании муравья или нет?

1 Ответ

15 голосов
/ 06 января 2012

Ваши классы должны быть скомпилированы с jdk 5 или 6. Возможно, вы используете 7. Если это не сработает, вам также может потребоваться убедиться, что каждый отдельный класс скомпилирован правильно, даже если в разных проектах.Решил мою проблему здесь .

...