Bundling JRE with Mac App Store standalone including mxj?
Hello,
I had read some guidelines recently for preparing an app for the Mac App Store, and it explicitly stated no java (thus no mxj) allowed.
However, looking around elsewhere, I saw indications that people have successfully gotten Java apps into the Mac App Store by bundling the JRE with their app, installing it if no JRE was already detected. Just curious what people's thoughts are - would it fly in the case of a Max-based standalone?
My only other question is if anyone since this was last discussed (2011 IIRC) found any decent way of obfuscating internals of an mxf standalone file in order to protect the app from reverse engineering (the JSON textfile copy trick).
While the app I am launching will likely be free, I very much wish to prevent access to the internals of my application. Surely there must be some way of doing this by now?
Thanks for any and all help.
I obfuscate my answer:
"naskdnaksndlaskdnalsknd aslkdaslkdn123435325lksndknalsnasnln"
Lol Wendy I will work on decrypting that later.
Thanks Mike, I assume it will be fine to use with Max 6 as well.
Ok, I might be the first to be trying to submit an app that contains Java of anyone.
I will let the forum know if I was successful or not in some time (hopefully before the end of the year).
If successful, I will share a guide on how to package the JRE with the standalone etc.
I'll keep checking in in case someone has some info but I am going to guess I am the first to try.
I'm pretty sure that when your app starts up, if there's an mxj object in it, it will try to invoke Java at the OS level (whether there's a resident JRE on the machine or not), and that will be the trigger that let's Apple know that you're using Java, and what will get it banned. That said, I have not tried to submit a Java app myself to Apple, so would be curious nonetheless to hear what you find out. Would also appreciate links to where you found reports online of other platforms having success by bundling the JRE...
Rather than building your entire app and then testing, why don't you build a very simple Hello World Java-containing Max app to the Store, and see if it makes it through?
Here's one such article: http://www.intransitione.com/blog/take-java-to-app-store/
What I would want to find out is why these Java apps would be allowed and not our mxj-containing Max standalones?
And agreed, I don't want to go through all the trouble with my actual app and find out it's not allowed on a technicality.
However, I am quite happy to distribute it outside of the App Store if need be, so I will certainly continue development regardless of what we find out on this issue.
Ah, here's one right from Oracle (I should clarify that the previous two are for OpenJDK bundling and JavaFX bundling):
http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html#mac_app_store
And this one is specific to JRE bundling (scroll up).
That's very interesting, thanks for all those links. So this may be possible after all!
One thing that I'm thinking you may need to do is to tell your app where to look for the bundled JRE - so you may need to provide a custom max.java.config.txt file?
Please post what you find!!