J2ObjC: A Java to iOS Objective-C translator by Google
google-opensource.blogspot.co.uk
google-opensource.blogspot.co.uk
Codename One solves all of the above issues by giving "actual WORA" which is the true value of Java.
1. You can use ARC with J2ObjC. Your other comment about it not being supported is incorrect.
2. If you're not using ARC, then no, annotations are not required to get reference counting. The annotations are for "weak references" and are optionally available to avoid cyclic reference problems. They are not used in most cases.
3. You're not stuck without the Apple UI tools; in fact, you are encouraged to use Interface Builder for your UI.
Source: I worked on J2ObjC for Google this summer.
If you want to share code with Android then you are better off with C. Yes the dalvik native interfaces suck but that is a tried and true way that actually works.
If you want to write in Java then Codename One is pretty much the only usable option.
This is just a good start is all.
This is not a tool to convert Java apps to iOS apps. This is a tool that helps you write business logic in one language so it can be shared without duplication between Android, web (via GWT), and iOS apps. Write your presentation logic with the native tools, ie. Interface Builder, etc. Cross-platform mobile UI support is explicitly avoided. Xcode is great--use it!