Target higher Android compatibility version

Am I missing something obvious but how do I target a version higher than 2.2?

The devices that this is the highest version for seem to have inferior accelerometers so I want to avoid the support headache by targeting 2.3 and above of which my testing has proved no issues.

Can’t see how this is done for Android.

Thanks

J [import]uid: 103970 topic_id: 24903 reply_id: 324903[/import]

That is not something you can set. It is set by us. The target version is set to the version of the Android SDK that Corona is compiled with. In the past, we were targeting Android 2.2 (API Level 8).

As of today’s daily build (#784), we now target Android 4.0.3 (API Level 15). The minimum version is set to Android 2.2 (API Level 8) to remain backward compatible. [import]uid: 32256 topic_id: 24903 reply_id: 101924[/import]

Hey Devs,

Does someone know HOW to upgrade my Samsung Galaxy S i9003 that has Android 2.2 to Android 4.0.3 as Corona started via daily build to target this Android version?
Thanks,
Rodrigo. [import]uid: 89165 topic_id: 24903 reply_id: 101930[/import]

Rodrigo,

It is up to the cellular service to provide you those OS updates. I find that most cellular services will not provide a version higher than Android 2.3. The only way to update your phone to Android 4.0 would be to “root” it, but that’s a “hack” that we can’t provide you tech-support for.

If it makes you feel any better, Corona apps were always compatible on Android 4.0. The only problem that they would have in the past is that the OS might run it in “compatibility mode”… if you would even consider that a problem.

At the moment, Corona does not take advantage of any Android 4.0 specific features… yet. We’re just taking steps to get us closer in that direction. [import]uid: 32256 topic_id: 24903 reply_id: 101974[/import]

@Joshua,
Well, thanks for explaining the details about how it (upgrade) works for Android.

Ive asked HOW to upgrade it because as I saw in the latest daily build now saying that Corona started to "target" the Android 4.0.3 and my "unique" Android device (personal use & tests as well) has Android 2.2v so I thought that "soon" my unique device would become useless even for Corona tests! So Ive asked about the upgrade and about that, I would not like to “lose” the support due to that “root” you said above and so I have to keep the Android version as it is right now (2.2), SO, will be myself in trouble “soon” because of this? Or Corona will support it normally?
Thanks one more time,
Rodrigo. [import]uid: 89165 topic_id: 24903 reply_id: 101983[/import]

Rodrigo,

We plan on continuing to support Android 2.2. We know that Android 2.2 and 2.3 are still very popular, so it would be a huge mistake for us to drop support for these older OS versions. The Android market is very fragmented, so that’s just an issue that we have to deal with. I think that’s also one of the main advantages of Corona. We deal with all of the Android fragmentations for you so that you don’t have to. [import]uid: 32256 topic_id: 24903 reply_id: 102156[/import]

@Joshua,

Right now your comment is very welcome! Right now even more.

We deal with all of the Android fragmentations for you so that you don’t have to.

It`s nice for sure but what is even better than it is the Ansca “hearing” us.
Cheers,
Rodrigo.
[import]uid: 89165 topic_id: 24903 reply_id: 102169[/import]

This is great to see that this topic I created has got a little bit of interest but my angle was slightly different

I have encountered through my team of testers that those devices running 2.2 are on the whole the older ones that this OS is the highest it goes to. Because the device is older it has been found that the accelerometer (of which my game relies heavily on) behaves badly but is not the case with any other OS.

What I want to do is exclude 2.2 from my release as I have already experienced that I have had downloads and those who have 2.2 have subsequently deleted the app. I want to target a minimum of say 2.3.3+ and above and avoid any negative feedback but there doesn’t seem a way to do this

J [import]uid: 103970 topic_id: 24903 reply_id: 102250[/import]

@Joshua, your explanation for update to 4.0 is not true. It depends on the manufacturer of phone not on the celluar service. And to update a phone depends also on the bootmenu, becauce you cant boot Android 4.0 without the right bootmenu [import]uid: 86417 topic_id: 24903 reply_id: 102265[/import]

AParachutingFrog,

We plan on making the min SDK version settable sometime in the future (no ETA yet). Notice how we renamed the “Target Version” in the build window to “Min Version”. The idea is that this build setting option will set the minSdkVersion entry in the AndroidManifest.xml. I believe that will do what you need it to do, right?

Oh, and are you sure the OS version has anything to do with the accelerometer readings and not the hardware itself? Perhaps your Android 2.2 device just has a cheap and unreliable accelerometer sensor? I ask because I’ve noticed that some devices have better GPS sensors than others. Some devices just take forever to get a lock and I always figured that it had more to do with a flaky sensor or driver than the OS. [import]uid: 32256 topic_id: 24903 reply_id: 102292[/import]

Martin,

Here in the US, updates and upgrades are typically controlled by the cellular service. The manufacturer would provide updates to the carrier and then it is up to the carrier to takes their sweet time to eventually provide those updates to their customers. Perhaps its different in your region then.

Although I would believe most manufacturers would not bother providing upgrades for their older model phones and would prefer customer to buy their new phones to get Android 4.0 instead. [import]uid: 32256 topic_id: 24903 reply_id: 102295[/import]

Hello!

How is this thing? I need to change the min version on my application…

Plainly, it crashes A LOT in 2.2, it is nearly impossible to run it in 2.2, and I want to avoid a huge stream of 1 star in the Google Play store…

2.2 had a different garbage collector than 2.3, and our game is very memory intensive (it can quickly use 200, 300mb of memory depending on the screen size), and there are no way to support 2.2 without cutting down our graphics a lot, and that would suck for our genre (it is a point and click adventure).

So, please tell me there are a way to set the game to 2.3!!! [import]uid: 142895 topic_id: 24903 reply_id: 121841[/import]

There is currently no means of setting the minSdkVersion in Corona. It is always hard coded to 2.2. But that said, there are plenty of low-end Android 2.3 devices that have this same issue. So, setting the min to 2.2 will not solve your problem.

Now, Corona will automatically downscale images and reduce their color quality from 32-bit to 16-bit if Corona discovers that the device does not have enough memory to load them. We have a lot of fallback mechanisms to make sure that the app never crashes when loading an image. I highly doubt that image loading is the cause of the crashes that you are seeing.

What you need to do is look at the Android log and see what exactly is causing these crashes. You can view the log via Android SDK tools “adb logcat” or “ddms”.

I suggest that you start a new forum thread about this since it’s off-topic on this one. You’ll likely get more help from the community that way. [import]uid: 32256 topic_id: 24903 reply_id: 121889[/import]

Joshua I am very sure it is garbage collector related, not a direct memory issue.

I ran tests of several kinds for three weeks, basically, phones with Android 2.2 (that had a different way to handle memory warnings) broke, IF they needed to issue memory warning in first place.

Android 2.3, even low end phones, worked fine.
My game supports x1, x2 and x4 resolutions, at x1 it uses 16mb of memory (while at x4 on iPad it can quickly gobble more than 200mb), even at x1, a Android 2.2 that you left bazillions of applications open, crash (not only the corona app but several other apps with it).

While on Android 2.3 it crashes or misbehave (failure to open a image file but remains running) only if AFTER closing other apps (I use logcat to see this, as the app runs, logcat warns when the kernel killed stuff in the background) it still runs out of memory…

And so we did a simple test: ran the game on some 2.2 devices. It crashed.
Updated to 2.3.

No more crash. [import]uid: 142895 topic_id: 24903 reply_id: 121897[/import]

Hmm… if updating your Android device from 2.2 to 2.3 solved your crash issue, then that sounds like an OS bug.

Out of curiosity, did you do these 2.2 tests with Corona build #878 or higher? We added additional fallback mechanisms to that build to make it more fault tolerant due to low memory. [import]uid: 32256 topic_id: 24903 reply_id: 122062[/import]

We are using release…

We had some problems in making stuff run with the newest builds, and I decided to wait a bit before using them again…
Also, we sometimes need more than 2 installs…
Actually, seriously: why PRO people can only use 2 installs? We deeply regret buying PRO instead of 2 indies! [import]uid: 142895 topic_id: 24903 reply_id: 122066[/import]

>> why PRO people can only use 2 installs?

I believe all of our license subscriptions are limited to 2 machines at a time. So far, it’s worked great for most of our customers because it allows them to install on both Windows PC and a Mac at the same time. The intent is that license is assigned to 1 person; the user account that it is assigned to. You used the word “we”. If more than 1 person is using Corona, then you are supposed to buy another license. [import]uid: 32256 topic_id: 24903 reply_id: 122069[/import]

Hello!

How is this thing? I need to change the min version on my application…

Plainly, it crashes A LOT in 2.2, it is nearly impossible to run it in 2.2, and I want to avoid a huge stream of 1 star in the Google Play store…

2.2 had a different garbage collector than 2.3, and our game is very memory intensive (it can quickly use 200, 300mb of memory depending on the screen size), and there are no way to support 2.2 without cutting down our graphics a lot, and that would suck for our genre (it is a point and click adventure).

So, please tell me there are a way to set the game to 2.3!!! [import]uid: 142895 topic_id: 24903 reply_id: 121841[/import]

There is currently no means of setting the minSdkVersion in Corona. It is always hard coded to 2.2. But that said, there are plenty of low-end Android 2.3 devices that have this same issue. So, setting the min to 2.2 will not solve your problem.

Now, Corona will automatically downscale images and reduce their color quality from 32-bit to 16-bit if Corona discovers that the device does not have enough memory to load them. We have a lot of fallback mechanisms to make sure that the app never crashes when loading an image. I highly doubt that image loading is the cause of the crashes that you are seeing.

What you need to do is look at the Android log and see what exactly is causing these crashes. You can view the log via Android SDK tools “adb logcat” or “ddms”.

I suggest that you start a new forum thread about this since it’s off-topic on this one. You’ll likely get more help from the community that way. [import]uid: 32256 topic_id: 24903 reply_id: 121889[/import]

Joshua I am very sure it is garbage collector related, not a direct memory issue.

I ran tests of several kinds for three weeks, basically, phones with Android 2.2 (that had a different way to handle memory warnings) broke, IF they needed to issue memory warning in first place.

Android 2.3, even low end phones, worked fine.
My game supports x1, x2 and x4 resolutions, at x1 it uses 16mb of memory (while at x4 on iPad it can quickly gobble more than 200mb), even at x1, a Android 2.2 that you left bazillions of applications open, crash (not only the corona app but several other apps with it).

While on Android 2.3 it crashes or misbehave (failure to open a image file but remains running) only if AFTER closing other apps (I use logcat to see this, as the app runs, logcat warns when the kernel killed stuff in the background) it still runs out of memory…

And so we did a simple test: ran the game on some 2.2 devices. It crashed.
Updated to 2.3.

No more crash. [import]uid: 142895 topic_id: 24903 reply_id: 121897[/import]