Linux Compiler

Since I didn’t find a solution to this that works properly I decided to make this myself since half of our team uses Linux and was therefore unable to compile apps with Corona SDK (via WINE it doesn’t really work).

Pro’s:

  • Corona Labs Inc. will not get your source code
  • Building is faster, especially when compared to the trial version

Cons:

  • build.settings is ignored and you must change the AndroidManifest.xml located in the root directory.

How-to:
Download the zip.
Unpack it somewhere.
Make sure you have OpenJDK6 installed.
Make sure JAVA_HOME is set to the directory of OpenJDK6.
Open build.sh and change your keystore for signing the APK (or leave the debug.keystore) and your bundle-identifier.
Open AndroidManifest.xml and change the orientation (landscape/portrait), app-name and bundle-identifier.
Place your sourcecode in the src directory (so src/main.lua as mainfile).
Connect your Android device (in developer mode so the Android Debug Bridge works).
Execute build.sh

Your app will now get compiled and installed on your Android device.

Download: http://www.itshax.com/corona/ [import]uid: 197524 topic_id: 33185 reply_id: 333185[/import]

Hey there,

Just a little clarification on one point-

_Does Corona Labs see my source code when I do a build? How secure is my project when it’s sent to your server?

No - during the online build process, our servers never see your raw source code — or for that matter any of your project images, sounds, or other assets. The Lua script is precompiled into bytecodes (stripping out comments, debug information, etc) before it gets sent to our server. The server embeds this data into the Corona engine, but never saves or archives it. By the end of the online build process, you will have an .app bundle or .apk file just as you would get if you had used the iOS or Android SDK yourself._

Link: http://www.coronalabs.com/resources/frequently-asked-questions/

Peach :slight_smile: [import]uid: 52491 topic_id: 33185 reply_id: 131841[/import]

Correct, compiled code gets sent which does indeed strip it from all comments. Still, the outputfiles generated by luac can be reversed to full high-level code in the same time it takes to convert them to bytecode.

I’m not saying that you are saving the .lu files from customers or even revert them back to .lua’s but technically it’s possible. Furthermore in my eyes it’s a useless step in the middle which does nothing but delay the building process (since the files are already compiled on the client).

All your servers do is add a signature for the compiled files, make sure nobody is trying to bypass the trial version when they didn’t pay and add 3 or 4 steps of zipping and unzipping on the client which slow the entire process down even more.

This tool skips all that and removed the main frustration our team had with Corona SDK (and now the Windows developers are jealous that they don’t have this).

PS: I know your Enterprise subscription also has something like this (not for Linux as far as I know) but we are a small Indie team without any substantial funds at this moment. [import]uid: 197524 topic_id: 33185 reply_id: 131852[/import]

Hey there,

Just a little clarification on one point-

_Does Corona Labs see my source code when I do a build? How secure is my project when it’s sent to your server?

No - during the online build process, our servers never see your raw source code — or for that matter any of your project images, sounds, or other assets. The Lua script is precompiled into bytecodes (stripping out comments, debug information, etc) before it gets sent to our server. The server embeds this data into the Corona engine, but never saves or archives it. By the end of the online build process, you will have an .app bundle or .apk file just as you would get if you had used the iOS or Android SDK yourself._

Link: http://www.coronalabs.com/resources/frequently-asked-questions/

Peach :slight_smile: [import]uid: 52491 topic_id: 33185 reply_id: 131841[/import]

Nice! [import]uid: 142596 topic_id: 33185 reply_id: 131941[/import]

Correct, compiled code gets sent which does indeed strip it from all comments. Still, the outputfiles generated by luac can be reversed to full high-level code in the same time it takes to convert them to bytecode.

I’m not saying that you are saving the .lu files from customers or even revert them back to .lua’s but technically it’s possible. Furthermore in my eyes it’s a useless step in the middle which does nothing but delay the building process (since the files are already compiled on the client).

All your servers do is add a signature for the compiled files, make sure nobody is trying to bypass the trial version when they didn’t pay and add 3 or 4 steps of zipping and unzipping on the client which slow the entire process down even more.

This tool skips all that and removed the main frustration our team had with Corona SDK (and now the Windows developers are jealous that they don’t have this).

PS: I know your Enterprise subscription also has something like this (not for Linux as far as I know) but we are a small Indie team without any substantial funds at this moment. [import]uid: 197524 topic_id: 33185 reply_id: 131852[/import]

Nice! [import]uid: 142596 topic_id: 33185 reply_id: 131941[/import]

Hi

I am reviewing Corona for my future development, but I am primarily developing in Linux. I was kinda stuck with Corona, but this looks awesome!

I tried your solution and things just work, except for one small hurdle config.lua is seemingly not linked.

I’ve read through the build files and as I read them all lua files ought to be linked and compiled, but strangely one the phone things aren’t acting properly…

Do you do something special to get that linked?

In config.lua I have:

application =

{

    content =

    {

        width = 320,

        height = 480,

        scale = “zoomStretch”,

        fps = 30, 

        launchpad = false

    },

}

however only in the emulator do I get zoomStretch effects.

Hi

I am reviewing Corona for my future development, but I am primarily developing in Linux. I was kinda stuck with Corona, but this looks awesome!

I tried your solution and things just work, except for one small hurdle config.lua is seemingly not linked.

I’ve read through the build files and as I read them all lua files ought to be linked and compiled, but strangely one the phone things aren’t acting properly…

Do you do something special to get that linked?

In config.lua I have:

application =

{

    content =

    {

        width = 320,

        height = 480,

        scale = “zoomStretch”,

        fps = 30, 

        launchpad = false

    },

}

however only in the emulator do I get zoomStretch effects.

This is correct, I also noticed this. I do not personally require Corona currently and therefore I haven’t update this thing anymore but I know why this happens and if you still need it, I could update the tool to work.

This is correct, I also noticed this. I do not personally require Corona currently and therefore I haven’t update this thing anymore but I know why this happens and if you still need it, I could update the tool to work.