AndroidはJava言語ですので、Java用の各種物理エンジンをそのまま使えます。
物理エンジンを使うと、リアルな動きが可能です。
また衝突判定もありますので、ゲームを作るのにも便利です。
ただし、Android 1.1ではAndroid専用にチューニング(Object作らないなど)されていなければ、どれもGCが頻発して一時停止しますが
(AndroidではGCが起きると場合によっては200msぐらい、すべての処理が止まります。FPS 20でも 1フレーム 50ms以内で処理しないといけないので、GCが起きると4フレームぐらい止まります。アクションゲームでは問題です)
物理エンジンは、大きく分けると2Dエンジンと3Dエンジンとがあります。
(3Dエンジンは対応していれば2Dエンジンとしても使えるみたいです)
速度もそこそこ、サンプルも豊富なので一番使いやすかった。
最近、NDKを使いBox2dを直接呼び出すコードが出回ってきた。
http://groups.google.com/group/android-ndk/browse_thread/thread/10f2e02c5d6857cb
NDK版を使えば、iphone 3Gと同等の速度で動くだろう。
http://www.cokeandcode.com/phys2d/
動きはリアルだけど、Androidでは動きが遅い。
http://code.google.com/p/simpull/
この中では一番シンプル、パーティクル用としては最適
作者がMLに投稿していたし一番最初にAndroidチューニングされるかも
Java版はどうも古いみたいです。
awtのクラスとか使っているのでそのままでは動きません。
精度はSimpullに近いです。
動作速度はPhys2D並に遅かったです。
ただコードはシンプルなのとライセンスから勉強用にいいかも
本家のBulletに比べると、バージョン少し古め。本家の最新版では2Dエンジンにも対応予定
未検証
Developerのポスト(英語)
Developerのポストについて