We're releasing Codename One 3.5 with a preview of a new tool that allows you to import your Android Studio project to a Codename One project. This will allow you to build native iOS, Windows UWP, JavaScript, etc. apps using Java 8 code!

We wanted to simplify the process of importing Android native code since the day we launched Codename One but as we explained before, this isn’t simple and the results would "underwhelm".

We decided that "underwhelming" isn’t always a bad place to start when you are doing open source work. With that in mind, Steve created an open source project to scaffold a new Codename One project from an existing Android native project.

Notice my choice of words, I chose scaffold instead of migrate. This will not turn an Android project into a Codename One project but rather make the process of getting started slightly easier. It migrates the images and strings.

It creates GUI builder files (using the new GUI builder) for every layout XML file. Notice that the layout isn’t replicated properly and neither is the proper styling.

These differ a lot between Android and Codename One and would require at least 6 months of intense work to get right.

Copying the layout seems deceptively easy on the surface but Android layouts differ considerably. We’d love to simplify that but the level of effort required is beyond our limited resources. We can’t justify the effort without a sense of demand…

In the current version, we don’t touch the source or the manifest at all but we could address both of these to some degree as part of the work.

Moving This Forward

That’s where you come in. File issues, RFE’s and let us know that you want progress on this.

Fork and contribute to Steve’s project and provide samples that we should improve.

Let your friends know about this project and raise community awareness around it!

We don’t want to invest significant developer resources on something that won’t gain developer traction so we need your help to get this project off the ground.

If you want to bring your Android code to other platforms more easily then this could be the key...