Android builds not showing the icon

Hi,

My android builds with corona enterprise v.2013.1244 do not display the app icon.

The icon is not present on the device

I have it properly placed at the root of the corona project with the right naming 

It is copied to the assets folder during the build process 

Are there any other settings I need to change for enterprise builds?

Thanks

Ernest B.

With Corona Enterprise, you’re no longer building your app with Corona (other than the Lua scripts).  Corona is now just a collection of libraries that you integrate into your own Android application project, just like how you would integrate any other 3rd party library such as Facebook, AdMob, etc.  This means that you’re now building with the Android SDK like every other native developer and you need to follow Google’s Android developer instructions.

Corona’s “build.settings” file and the application icons are only supported by the Corona Simulator.  For native Android SDK builds, you are expected to modify the AndroidManifest.xml file yourself by adding the permission you need to it directly as well as your application icon reference.  Google refers to application icons as “launcher” icons.  Google expects you to add your launcher icons under your Android application project’s “res” directory for each DPI that you support.  You would then reference those icons in your AndroidManifest.xml file via the “application” tag’s “icon” attribute.  Google documents this here…

   http://developer.android.com/guide/topics/manifest/application-element.html#icon

   http://developer.android.com/design/style/iconography.html

I suggest that you play around with the sample projects included with Google’s Android SDK first in order to learn the fundamentals of native Android development.  And you may just learn some cool native features along the way too.  Anyways, I hope this helps!

Yeah it helps, thanks Joshua

Can you confirm that build.settings is completely ignored either on ios and android for enterprise builds?

Regarding the icons, I would refer to this tutorial in case someone is having the same problem

Ernest B

Corona Enterprise’s Xcode app template does use the “build.settings” file.  It’s read in the project’s pre-build or post-build steps.

For Android, we chose to make Corona an “Android library project” like how other 3rd party libraries work on Android.  This is much more convenient for developers who are already familiar with native Android development.

When making your Android app, I recommend that you follow our examples under Corona Enterprise’s “samples” directory.  Particularly the “SimpleLuaExtension” which shows you how to easily extend the Lua APIs with your own in Java.  The Android app template under Corona Enterprise is more of a plugin template and is probably more complex than you need… unless of course you plan on making plugins in the future.

With Corona Enterprise, you’re no longer building your app with Corona (other than the Lua scripts).  Corona is now just a collection of libraries that you integrate into your own Android application project, just like how you would integrate any other 3rd party library such as Facebook, AdMob, etc.  This means that you’re now building with the Android SDK like every other native developer and you need to follow Google’s Android developer instructions.

Corona’s “build.settings” file and the application icons are only supported by the Corona Simulator.  For native Android SDK builds, you are expected to modify the AndroidManifest.xml file yourself by adding the permission you need to it directly as well as your application icon reference.  Google refers to application icons as “launcher” icons.  Google expects you to add your launcher icons under your Android application project’s “res” directory for each DPI that you support.  You would then reference those icons in your AndroidManifest.xml file via the “application” tag’s “icon” attribute.  Google documents this here…

   http://developer.android.com/guide/topics/manifest/application-element.html#icon

   http://developer.android.com/design/style/iconography.html

I suggest that you play around with the sample projects included with Google’s Android SDK first in order to learn the fundamentals of native Android development.  And you may just learn some cool native features along the way too.  Anyways, I hope this helps!

Yeah it helps, thanks Joshua

Can you confirm that build.settings is completely ignored either on ios and android for enterprise builds?

Regarding the icons, I would refer to this tutorial in case someone is having the same problem

Ernest B

Corona Enterprise’s Xcode app template does use the “build.settings” file.  It’s read in the project’s pre-build or post-build steps.

For Android, we chose to make Corona an “Android library project” like how other 3rd party libraries work on Android.  This is much more convenient for developers who are already familiar with native Android development.

When making your Android app, I recommend that you follow our examples under Corona Enterprise’s “samples” directory.  Particularly the “SimpleLuaExtension” which shows you how to easily extend the Lua APIs with your own in Java.  The Android app template under Corona Enterprise is more of a plugin template and is probably more complex than you need… unless of course you plan on making plugins in the future.

Thanks for the link @igenapps

Corona, please add this info to some place like Enterprise Tutorial or something similar. As a new user of Corona Enterprise, I must say that Enterprise docs is far behind when compared to the Corona Pro SDK and it is very frustrating to not find some basic info like this.

Renato, I’m sorry but I don’t agree with you on this.  What you’re struggling with is not Corona, but with the Android SDK.  Remember, you’re no longer building with the Corona Simulator, but with the Android SDK.  Thus, you need to follow Google’s Android documentation.  For example, setting the application/launcher icons for Android is something that is very well documented by Google that experienced Android developers already know how to do.  There’s really no point in us duplicating Google’s Android documentation on how to set up an Android application project anymore than, say, the Facebook or AdMob Android libraries.  Corona Enterprise’s Android libraries are something you include and integrate into an existing Android application project  That is, we just provide the CoronaActivity and CoronaView class which hosts the Corona Lua scripted project.  Every other aspect of your application project such as app icons, AndroidManifest.xml, resources, etc. are up to you to set up.

I highly recommend that you play with the sample projects included with Google’s Android SDK before integrating Corona into your Android application project.  By working with the sample projects made by Google, you’ll learn the fundamentals of Android app development.  And I’m not trying to be condescending at all here.  We’ve all struggled (including myself) learning Xcode and the Android SDK at first, wishing that Apple and Google made it easier to figure out.  But that struggle is part of the learning process.  :wink:

Hi Joshua.

I agree with you that Corona should not replicate 3rd party documentation. What I was asking was to have the info (“Icon for Corona Enterprise should be added following the native instructions”) in somewhere like a “oficial” enterprise tutorial.

One of my main struggles with Corona Enterprise is not the native programing, but understanding how Corona Enterprise integrates itself with the native. Like, What I should expect to be of Corona Enterprise responsibility and what to be  from the native platform. Now you are saying very clearly to me that I should see Corona Enterprise as a Android Library and that helps a lot to understand its role in the whole project. I just hoped to have seen that info before…

I am compiling a list of these basic info that I think should be stated very clearly specially for developers coming from Corona non-enterprise. Maybe this would be useful to be in a Enterprise FAQ or something like this. I will send you the list later.

Okay.  Fair enough.  And yeah, feel free to send us a list of what you don’t think is clear in our documentation.

I actually had a hand at putting a lot of the documentation and sample projects together for Enterprise.  Notice that we have far more documentation and sample projects on the Android side compared to iOS.  In particular, there is a huge amount of code comments in the Android sample code that heavily explains there purpose (every method, every class, every member variable).  Especially on how to use the LuaState and the common things developers want to do with it.  We really went out of our way on the Android side.  Personally, I don’t think there is anything we can document to help make Android app development simple, because Google didn’t make it simple.  I say this because even our own experienced developers stumble on Android the first time they learn it (and sometimes never want to go back and stick to iOS).  If Corona developers want to keep it simple, then that’s what our Corona Simulator builds are for.  But that said, I’m willing to listen to what you’ve got and see what holes you think we have in our documentation.  Thanks for the feedback.

Thanks for the link @igenapps

Corona, please add this info to some place like Enterprise Tutorial or something similar. As a new user of Corona Enterprise, I must say that Enterprise docs is far behind when compared to the Corona Pro SDK and it is very frustrating to not find some basic info like this.

Renato, I’m sorry but I don’t agree with you on this.  What you’re struggling with is not Corona, but with the Android SDK.  Remember, you’re no longer building with the Corona Simulator, but with the Android SDK.  Thus, you need to follow Google’s Android documentation.  For example, setting the application/launcher icons for Android is something that is very well documented by Google that experienced Android developers already know how to do.  There’s really no point in us duplicating Google’s Android documentation on how to set up an Android application project anymore than, say, the Facebook or AdMob Android libraries.  Corona Enterprise’s Android libraries are something you include and integrate into an existing Android application project  That is, we just provide the CoronaActivity and CoronaView class which hosts the Corona Lua scripted project.  Every other aspect of your application project such as app icons, AndroidManifest.xml, resources, etc. are up to you to set up.

I highly recommend that you play with the sample projects included with Google’s Android SDK before integrating Corona into your Android application project.  By working with the sample projects made by Google, you’ll learn the fundamentals of Android app development.  And I’m not trying to be condescending at all here.  We’ve all struggled (including myself) learning Xcode and the Android SDK at first, wishing that Apple and Google made it easier to figure out.  But that struggle is part of the learning process.  :wink:

Hi Joshua.

I agree with you that Corona should not replicate 3rd party documentation. What I was asking was to have the info (“Icon for Corona Enterprise should be added following the native instructions”) in somewhere like a “oficial” enterprise tutorial.

One of my main struggles with Corona Enterprise is not the native programing, but understanding how Corona Enterprise integrates itself with the native. Like, What I should expect to be of Corona Enterprise responsibility and what to be  from the native platform. Now you are saying very clearly to me that I should see Corona Enterprise as a Android Library and that helps a lot to understand its role in the whole project. I just hoped to have seen that info before…

I am compiling a list of these basic info that I think should be stated very clearly specially for developers coming from Corona non-enterprise. Maybe this would be useful to be in a Enterprise FAQ or something like this. I will send you the list later.

Okay.  Fair enough.  And yeah, feel free to send us a list of what you don’t think is clear in our documentation.

I actually had a hand at putting a lot of the documentation and sample projects together for Enterprise.  Notice that we have far more documentation and sample projects on the Android side compared to iOS.  In particular, there is a huge amount of code comments in the Android sample code that heavily explains there purpose (every method, every class, every member variable).  Especially on how to use the LuaState and the common things developers want to do with it.  We really went out of our way on the Android side.  Personally, I don’t think there is anything we can document to help make Android app development simple, because Google didn’t make it simple.  I say this because even our own experienced developers stumble on Android the first time they learn it (and sometimes never want to go back and stick to iOS).  If Corona developers want to keep it simple, then that’s what our Corona Simulator builds are for.  But that said, I’m willing to listen to what you’ve got and see what holes you think we have in our documentation.  Thanks for the feedback.

I think there are a few holes in the enterprise docs that if patched up would make the transition much smoother. I spent a long time today on android enterprise with my app and only found out the missing pieces of information via posting and browsing the enterprise forums.

I think it would be extremely helpful to add the following information to the enterprise docs:

* Android enterprise builds completely ignore the corona build.settings file. Everything you have specified in there has to be specified natively in the AndroidManifest.xml

* iOS enterprise builds seem to take some information from the build.settings file? I’m not quite sure what it takes and what it ignores.

* Plugins that you specified in your corona build.settings have to be manually linked in to your project somehow. I actually still don’t know how to do this and where to get the plugin library files to actually link in. Would you be able to help me on this? I use the admob-v2 and the vungle plugin…

Thanks!

I think there are a few holes in the enterprise docs that if patched up would make the transition much smoother. I spent a long time today on android enterprise with my app and only found out the missing pieces of information via posting and browsing the enterprise forums.

I think it would be extremely helpful to add the following information to the enterprise docs:

* Android enterprise builds completely ignore the corona build.settings file. Everything you have specified in there has to be specified natively in the AndroidManifest.xml

* iOS enterprise builds seem to take some information from the build.settings file? I’m not quite sure what it takes and what it ignores.

* Plugins that you specified in your corona build.settings have to be manually linked in to your project somehow. I actually still don’t know how to do this and where to get the plugin library files to actually link in. Would you be able to help me on this? I use the admob-v2 and the vungle plugin…

Thanks!