I'm a little weirded out by writing binary code out of a jar to a temporary directory; on the other hand, this does improve distribution, doesn't it? I imagine all sorts of potential problems, though: 1) multiple copies of the program overwrite the same file (if a predictable name is used), and also have a security race, or alternately 2) litering the /tmp/ directory with bunches of libs. And also 3) this will hurt startup performance, which is important in my case.
This means that I would have to take on building this for all of the binary platforms, which is a chore; and (again) on the other hand, it's a chore that would allow other apps to never have to have this problem.
(Avi is a console-based editor, the JNI portion is an ncurses wrapper.)