Re: JavaFX on Android build (instructions)
Hello Tomas, I attached the patch for the FXActivity and DalvikLauncher classes. To make this work, you need to patch the build process for the created projects as well. I couldn't find where this is done in the repo, so I did this manually every time :-), this is also the reason why it isn't included in the patch file. This is not optimized so there is still a hardcoded reference to the application jar in here, perhaps you can generalize this: custom_rules.xml: target init-env: add target install-application: change to build-extras.xml: add value="${out.absolute.dir}/app_dex/${dex.file.name}"/> right after the first I hope I didn't forget anything. Kind regards, Sebastian Am 02.12.2013 10:27, schrieb tomas.brandalik: Hi Sebastian, please would you send the patch to me? thank you in advance -Tomas On 12/02/2013 09:55 AM, Sebastian Rheinnecker wrote: Hi again, I just wanted to let you know that I solved the issue with the max method references in the dex files with using multiple dex files. To accomplish this I patched the classes FXActivity and DalvikLauncher to dynamically load the second dex file and its classes. I also patched the build process so that any application jar can be used for this. If anyone runs into the same issue, just contact me. Kind regards, Sebastian Rheinnecker Am 26.11.2013 14:27, schrieb Sebastian Rheinnecker: Hi, I used your instructions with some tweaks to build a JavaFX application for android on Windows. However, it turns out that Android's dex format is putting a spoke into our wheel with the 65k method reference limit. The JavaFX runtime itself already contains 51k method references and because of that I was not yet able to bring our full application showcase to android. So if some android expert could contribute to the project by showing how to use multiple dex files, one containing the javafx runtime and one for the application, that would be great. Any help on the mailing list is appreciated as well. Kind regards, Sebastian Rheinnecker Am 16.11.2013 19:53, schrieb Johan Vos: Hi, Since I (and others) think it is very important that we can have JavaFX applications running on Android (and IOS, but in this mail I limit myself to Android), I created a bitbucket project containing code and build instructions to run JavaFX applications on Android. I didn't do much myself. Rather, this project is about providing easy and consistent build instructions. I combined information from this mailinglist with information I could find online, and with help from the JavaFX team. The project is here: https://bitbucket.org/johanvos/jfx78 After I gathered the information, it didn't cost me much time to get HelloWorld running on my Samsung S3 mini. I never wrote an Android project before, and I never used the Android SDK or NDK before I started with this thing almost a week ago. Hence, it is not that hard to create a JavaFX application on Android. This project is far from finished. There are a number of things that have to be done: * Improve build instructions * Simplify build * Fix bugs (e.g. touch-events are not processed yet) * Manage the synchronization with the main JavaFX repo * create plugins for IDE's or maven to automatically build the Android packages I want to open this project at this early stage, though, since I think it is important to have more community input. Also, I want to give a shout to the world that JavaFX on Android is not a dream. I hope many of you try out the instructions, improve them, correct them, and test your applications on Android. Thanks a lot to all the people on this mailinglist for telling how they were dealing with JavaFX on Android. Again, I didn't write much code, but rather tried to combine the information and make it useful for everybody. I know there is an intense debate about the role of Oracle on the Android (and IOS) ports. Let me close with a similar situation. About 17 years ago (sigh, time flies), I was involved with the port of Java to Linux, as part of the Blackdown team. Initially, we didn't get much help from Sun Microsystems (it was even not easy to get the latest code). But once we showed that we could run the thing on Linux, and that many developers were interested in it, Sun started to add resources on this as well. Eventually, we became obsolete. I hope to reach the obsolete stage on this project as well. Again, the project can be found here:https://bitbucket.org/johanvos/jfx78 - Johan -- Sebastian Rheinnecker phone: +49 7071 9709050 fax: +49 7071 9709051 yWorks GmbH Vor dem Kreuzberg 28 72070 Tuebingen Germany http://www.yworks.com Managing Directors: Sebastian Müller, Michael Pfahler Commercial Reg
Re: JavaFX on Android build (instructions)
Hi Sebastian, please would you send the patch to me? thank you in advance -Tomas On 12/02/2013 09:55 AM, Sebastian Rheinnecker wrote: Hi again, I just wanted to let you know that I solved the issue with the max method references in the dex files with using multiple dex files. To accomplish this I patched the classes FXActivity and DalvikLauncher to dynamically load the second dex file and its classes. I also patched the build process so that any application jar can be used for this. If anyone runs into the same issue, just contact me. Kind regards, Sebastian Rheinnecker Am 26.11.2013 14:27, schrieb Sebastian Rheinnecker: Hi, I used your instructions with some tweaks to build a JavaFX application for android on Windows. However, it turns out that Android's dex format is putting a spoke into our wheel with the 65k method reference limit. The JavaFX runtime itself already contains 51k method references and because of that I was not yet able to bring our full application showcase to android. So if some android expert could contribute to the project by showing how to use multiple dex files, one containing the javafx runtime and one for the application, that would be great. Any help on the mailing list is appreciated as well. Kind regards, Sebastian Rheinnecker Am 16.11.2013 19:53, schrieb Johan Vos: Hi, Since I (and others) think it is very important that we can have JavaFX applications running on Android (and IOS, but in this mail I limit myself to Android), I created a bitbucket project containing code and build instructions to run JavaFX applications on Android. I didn't do much myself. Rather, this project is about providing easy and consistent build instructions. I combined information from this mailinglist with information I could find online, and with help from the JavaFX team. The project is here: https://bitbucket.org/johanvos/jfx78 After I gathered the information, it didn't cost me much time to get HelloWorld running on my Samsung S3 mini. I never wrote an Android project before, and I never used the Android SDK or NDK before I started with this thing almost a week ago. Hence, it is not that hard to create a JavaFX application on Android. This project is far from finished. There are a number of things that have to be done: * Improve build instructions * Simplify build * Fix bugs (e.g. touch-events are not processed yet) * Manage the synchronization with the main JavaFX repo * create plugins for IDE's or maven to automatically build the Android packages I want to open this project at this early stage, though, since I think it is important to have more community input. Also, I want to give a shout to the world that JavaFX on Android is not a dream. I hope many of you try out the instructions, improve them, correct them, and test your applications on Android. Thanks a lot to all the people on this mailinglist for telling how they were dealing with JavaFX on Android. Again, I didn't write much code, but rather tried to combine the information and make it useful for everybody. I know there is an intense debate about the role of Oracle on the Android (and IOS) ports. Let me close with a similar situation. About 17 years ago (sigh, time flies), I was involved with the port of Java to Linux, as part of the Blackdown team. Initially, we didn't get much help from Sun Microsystems (it was even not easy to get the latest code). But once we showed that we could run the thing on Linux, and that many developers were interested in it, Sun started to add resources on this as well. Eventually, we became obsolete. I hope to reach the obsolete stage on this project as well. Again, the project can be found here:https://bitbucket.org/johanvos/jfx78 - Johan
Re: JavaFX on Android build (instructions)
Hi again, I just wanted to let you know that I solved the issue with the max method references in the dex files with using multiple dex files. To accomplish this I patched the classes FXActivity and DalvikLauncher to dynamically load the second dex file and its classes. I also patched the build process so that any application jar can be used for this. If anyone runs into the same issue, just contact me. Kind regards, Sebastian Rheinnecker Am 26.11.2013 14:27, schrieb Sebastian Rheinnecker: Hi, I used your instructions with some tweaks to build a JavaFX application for android on Windows. However, it turns out that Android's dex format is putting a spoke into our wheel with the 65k method reference limit. The JavaFX runtime itself already contains 51k method references and because of that I was not yet able to bring our full application showcase to android. So if some android expert could contribute to the project by showing how to use multiple dex files, one containing the javafx runtime and one for the application, that would be great. Any help on the mailing list is appreciated as well. Kind regards, Sebastian Rheinnecker Am 16.11.2013 19:53, schrieb Johan Vos: Hi, Since I (and others) think it is very important that we can have JavaFX applications running on Android (and IOS, but in this mail I limit myself to Android), I created a bitbucket project containing code and build instructions to run JavaFX applications on Android. I didn't do much myself. Rather, this project is about providing easy and consistent build instructions. I combined information from this mailinglist with information I could find online, and with help from the JavaFX team. The project is here: https://bitbucket.org/johanvos/jfx78 After I gathered the information, it didn't cost me much time to get HelloWorld running on my Samsung S3 mini. I never wrote an Android project before, and I never used the Android SDK or NDK before I started with this thing almost a week ago. Hence, it is not that hard to create a JavaFX application on Android. This project is far from finished. There are a number of things that have to be done: * Improve build instructions * Simplify build * Fix bugs (e.g. touch-events are not processed yet) * Manage the synchronization with the main JavaFX repo * create plugins for IDE's or maven to automatically build the Android packages I want to open this project at this early stage, though, since I think it is important to have more community input. Also, I want to give a shout to the world that JavaFX on Android is not a dream. I hope many of you try out the instructions, improve them, correct them, and test your applications on Android. Thanks a lot to all the people on this mailinglist for telling how they were dealing with JavaFX on Android. Again, I didn't write much code, but rather tried to combine the information and make it useful for everybody. I know there is an intense debate about the role of Oracle on the Android (and IOS) ports. Let me close with a similar situation. About 17 years ago (sigh, time flies), I was involved with the port of Java to Linux, as part of the Blackdown team. Initially, we didn't get much help from Sun Microsystems (it was even not easy to get the latest code). But once we showed that we could run the thing on Linux, and that many developers were interested in it, Sun started to add resources on this as well. Eventually, we became obsolete. I hope to reach the obsolete stage on this project as well. Again, the project can be found here:https://bitbucket.org/johanvos/jfx78 - Johan -- Sebastian Rheinnecker phone: +49 7071 9709050 fax: +49 7071 9709051 yWorks GmbH Vor dem Kreuzberg 28 72070 Tuebingen Germany http://www.yworks.com Managing Directors: Sebastian Müller, Michael Pfahler Commercial Registry: Stuttgart, Germany, HRB 382340
Re: JavaFX on Android build (instructions)
Thanks Johan for gathering this information! I just tried to run my simple JavaFx application on Android with your build instructions, and I got it build and deployed rather easily. When trying to run it the UI appeared (albeit rather distorted), but when touching the app it crashed, I guess because of the know touch issues. Also, my app was using Google Guice, which gave me some reflection errors when trying the run it on the device (it crashed upon startup). So I swapped Guice with RoboGuice and it worked (for as far as I could test it). So for anyone who wants some dependency injection in their JavaFx Android app, try out RoboGuice as it seems to work. Greetz, Yennick On 26/11/2013 14:29:50, Sebastian Rheinnecker wrote: Hi, I used your instructions with some tweaks to build a JavaFX application for android on Windows. However, it turns out that Android's dex format is putting a spoke into our wheel with the 65k method reference limit. The JavaFX runtime itself already contains 51k method references and because of that I was not yet able to bring our full application showcase to android. So if some android expert could contribute to the project by showing how to use multiple dex files, one containing the javafx runtime and one for the application, that would be great. Any help on the mailing list is appreciated as well. Kind regards, Sebastian Rheinnecker Am 16.11.2013 19:53, schrieb Johan Vos: > Hi, > > Since I (and others) think it is very important that we can have > JavaFX applications running on Android (and IOS, but in this mail I > limit myself to Android), I created a bitbucket project containing > code and build instructions to run JavaFX applications on Android. > > I didn't do much myself. Rather, this project is about providing easy > and consistent build instructions. I combined information from this > mailinglist with information I could find online, and with help from > the JavaFX team. > > The project is here: https://bitbucket.org/johanvos/jfx78 > > After I gathered the information, it didn't cost me much time to get > HelloWorld running on my Samsung S3 mini. I never wrote an Android > project before, and I never used the Android SDK or NDK before I > started with this thing almost a week ago. Hence, it is not that hard > to create a JavaFX application on Android. > > This project is far from finished. There are a number of things that > have to be done: > * Improve build instructions > * Simplify build > * Fix bugs (e.g. touch-events are not processed yet) > * Manage the synchronization with the main JavaFX repo > * create plugins for IDE's or maven to automatically build the Android > packages > > I want to open this project at this early stage, though, since I think > it is important to have more community input. Also, I want to give a > shout to the world that JavaFX on Android is not a dream. > > I hope many of you try out the instructions, improve them, correct > them, and test your applications on Android. > > Thanks a lot to all the people on this mailinglist for telling how > they were dealing with JavaFX on Android. Again, I didn't write much > code, but rather tried to combine the information and make it useful > for everybody. > > I know there is an intense debate about the role of Oracle on the > Android (and IOS) ports. Let me close with a similar situation. About > 17 years ago (sigh, time flies), I was involved with the port of Java > to Linux, as part of the Blackdown team. Initially, we didn't get much > help from Sun Microsystems (it was even not easy to get the latest > code). But once we showed that we could run the thing on Linux, and > that many developers were interested in it, Sun started to add > resources on this as well. Eventually, we became obsolete. I hope to > reach the obsolete stage on this project as well. > > Again, the project can be found here:https://bitbucket.org/johanvos/jfx78 > > - Johan -- Sebastian Rheinnecker phone: +49 7071 9709050 fax: +49 7071 9709051 yWorks GmbH Vor dem Kreuzberg 28 72070 Tuebingen Germany http://www.yworks.com Managing Directors: Sebastian Müller, Michael Pfahler Commercial Registry: Stuttgart, Germany, HRB 382340
Re: JavaFX on Android build (instructions)
Hi, I used your instructions with some tweaks to build a JavaFX application for android on Windows. However, it turns out that Android's dex format is putting a spoke into our wheel with the 65k method reference limit. The JavaFX runtime itself already contains 51k method references and because of that I was not yet able to bring our full application showcase to android. So if some android expert could contribute to the project by showing how to use multiple dex files, one containing the javafx runtime and one for the application, that would be great. Any help on the mailing list is appreciated as well. Kind regards, Sebastian Rheinnecker Am 16.11.2013 19:53, schrieb Johan Vos: Hi, Since I (and others) think it is very important that we can have JavaFX applications running on Android (and IOS, but in this mail I limit myself to Android), I created a bitbucket project containing code and build instructions to run JavaFX applications on Android. I didn't do much myself. Rather, this project is about providing easy and consistent build instructions. I combined information from this mailinglist with information I could find online, and with help from the JavaFX team. The project is here: https://bitbucket.org/johanvos/jfx78 After I gathered the information, it didn't cost me much time to get HelloWorld running on my Samsung S3 mini. I never wrote an Android project before, and I never used the Android SDK or NDK before I started with this thing almost a week ago. Hence, it is not that hard to create a JavaFX application on Android. This project is far from finished. There are a number of things that have to be done: * Improve build instructions * Simplify build * Fix bugs (e.g. touch-events are not processed yet) * Manage the synchronization with the main JavaFX repo * create plugins for IDE's or maven to automatically build the Android packages I want to open this project at this early stage, though, since I think it is important to have more community input. Also, I want to give a shout to the world that JavaFX on Android is not a dream. I hope many of you try out the instructions, improve them, correct them, and test your applications on Android. Thanks a lot to all the people on this mailinglist for telling how they were dealing with JavaFX on Android. Again, I didn't write much code, but rather tried to combine the information and make it useful for everybody. I know there is an intense debate about the role of Oracle on the Android (and IOS) ports. Let me close with a similar situation. About 17 years ago (sigh, time flies), I was involved with the port of Java to Linux, as part of the Blackdown team. Initially, we didn't get much help from Sun Microsystems (it was even not easy to get the latest code). But once we showed that we could run the thing on Linux, and that many developers were interested in it, Sun started to add resources on this as well. Eventually, we became obsolete. I hope to reach the obsolete stage on this project as well. Again, the project can be found here:https://bitbucket.org/johanvos/jfx78 - Johan -- Sebastian Rheinnecker phone: +49 7071 9709050 fax: +49 7071 9709051 yWorks GmbH Vor dem Kreuzberg 28 72070 Tuebingen Germany http://www.yworks.com Managing Directors: Sebastian Müller, Michael Pfahler Commercial Registry: Stuttgart, Germany, HRB 382340
Re: JavaFX on Android build (instructions)
Thanks Johan for stepping up to the plate on this one. Whilst I've not been actively involved with the iOS and Android work, I have been observing the community interest and progress. I was getting very close to the point of proposing a similar project myself, as I was very worried about community duplication of effort. I think if people interested in this can rally around a single project then the progress will be swifter and you can all share in the reward. -- Jonathan On 17/11/2013 7:53 a.m., Johan Vos wrote: > Hi, > > Since I (and others) think it is very important that we can have > JavaFX applications running on Android (and IOS, but in this mail I > limit myself to Android), I created a bitbucket project containing > code and build instructions to run JavaFX applications on Android. > > I didn't do much myself. Rather, this project is about providing easy > and consistent build instructions. I combined information from this > mailinglist with information I could find online, and with help from > the JavaFX team. > > The project is here: https://bitbucket.org/johanvos/jfx78 > > After I gathered the information, it didn't cost me much time to get > HelloWorld running on my Samsung S3 mini. I never wrote an Android > project before, and I never used the Android SDK or NDK before I > started with this thing almost a week ago. Hence, it is not that hard > to create a JavaFX application on Android. > > This project is far from finished. There are a number of things that > have to be done: > * Improve build instructions > * Simplify build > * Fix bugs (e.g. touch-events are not processed yet) > * Manage the synchronization with the main JavaFX repo > * create plugins for IDE's or maven to automatically build the Android > packages > > I want to open this project at this early stage, though, since I think > it is important to have more community input. Also, I want to give a > shout to the world that JavaFX on Android is not a dream. > > I hope many of you try out the instructions, improve them, correct > them, and test your applications on Android. > > Thanks a lot to all the people on this mailinglist for telling how > they were dealing with JavaFX on Android. Again, I didn't write much > code, but rather tried to combine the information and make it useful > for everybody. > > I know there is an intense debate about the role of Oracle on the > Android (and IOS) ports. Let me close with a similar situation. About > 17 years ago (sigh, time flies), I was involved with the port of Java > to Linux, as part of the Blackdown team. Initially, we didn't get much > help from Sun Microsystems (it was even not easy to get the latest > code). But once we showed that we could run the thing on Linux, and > that many developers were interested in it, Sun started to add > resources on this as well. Eventually, we became obsolete. I hope to > reach the obsolete stage on this project as well. > > Again, the project can be found here:https://bitbucket.org/johanvos/jfx78 > > - Johan