Ответ 1
Я не знаю, почему Далвик отклонил классы, если они не были запутаны каким-то инструментом. Вы пытались перекомпилировать Box2d из источника?
Единственная другая Java-библиотека, которую я видел, - http://www.cokeandcode.com/phys2d/
Я посмотрел на физический движок, который отлично подойдет для Android, но я был только разочарован.
С точки зрения производительности, я слышал, что jbox2d был лучшим выбором, но (с моей точки зрения) с тех пор, как Android SDK V1.0, верификатор Dalvik VM стал очень строгим и отклонил некоторые из ключевых классов и отказался запустить. Эта проблема сохраняется после использования инструмента dx (хотя я мог бы использовать инструмент неправильно).
Я знаю, что существует проект по портированию AndroidBox2D для оптимизации jbox2d для сборщика мусора Android, но на странице проекта нет загрузок, а лицензия gpl не так привлекательна, как лицензия zlib оригинала.
Есть ли у кого-нибудь советы по созданию jbox2d в Eclipse или какие-либо рекомендации по тому, где я должен начать искать?
Я не знаю, почему Далвик отклонил классы, если они не были запутаны каким-то инструментом. Вы пытались перекомпилировать Box2d из источника?
Единственная другая Java-библиотека, которую я видел, - http://www.cokeandcode.com/phys2d/
Я получаю хорошие результаты с Java-версией APE, используя математику с фиксированной точкой, а не плавает.
Я выполнил реализацию механизма APE, используя теперь (в основном) математику с фиксированной точкой, и она не содержит сборку мусора. Его довольно хороший движок, чтобы делать вещи с ограничениями, но кажется менее подходящим для действительно твердых тел.
http://code.google.com/p/ape-physics-for-android/
Вы также можете посмотреть порт NDK Chipmunk (скачать ссылку на странице youtube)
Также посмотрите @Glaze, оптимизированный для массивов.. не может быть ужасным портом для Java из AS3 (он также был перенесен на haXe)
Я не уверен, если jBox2D действительно подходит для смартфонов. Я бы предпочел посмотреть на двигатели J2ME, так как они сильно оптимизированы для производительности. Например: http://emini.at
Также у вас не должно быть проблем с интеграцией.
Libgdx имеет JBox2D встроенный и является кросс-платформенным (Android, Java Desktop, GWT Web), как Unity, бесплатно и с открытым исходным кодом.
Я заработал его за 15 минут и мгновенно создавал физические тела. Руководство по физике Libgdx помогает оттуда. Удачи!