Android Honeycomb compatibility - [SOLVED]

I have a HP Touchpad Android device, it runs most of the other software, but does not run any of the CoronaSDK build .apk

or are there issues with that?

UPDATE: I got it working. Thanks [import]uid: 3826 topic_id: 23844 reply_id: 323844[/import]

I did a recent build on a Samsung Galaxy Tab with Honeycomb. The performance is notably worse than the iPad 2 but the .apk worked. If you’re having trouble with getting it to run, it could be an installation problem – the webhost I use didn’t have the right mime types set (or something like that) so I initially couldn’t install the .apk. But it worked when I transferred it to the device via Dropbox. [import]uid: 1560 topic_id: 23844 reply_id: 96018[/import]

I am using the PWS (Web Sharing option) and the same works perfectly fine with the Android Kindle for testing. The HPTouchpad identifies itself as a Galaxy Nexus.

I also downloaded apps from Google Play, all of Angry Birds work flawlessly and smooth, the Android Indie Bundle apps work perfectly fine. It is when I compile and try to upload a CoronaSDK build .apk file, it says, this file has been corrupted.

…and the same works perfectly fine on the Kindle Fire or a Droid. [import]uid: 3826 topic_id: 23844 reply_id: 96020[/import]

No Official Ansca love on this topic?? No Josh et al? [import]uid: 3826 topic_id: 23844 reply_id: 96273[/import]

Jayant,

I just tried installing an Android built app with build 773 to my Motorola Xoom, which uses Android version 3.2.1, and it installed and worked correctly. I installed it via the Android SDK command line tool “adb install” via USB. Perhaps this is just an issue with PWS?

Are you building on Windows? There used to be a known issue where if you have JDK 7 installed, then the APK would be digitally signed by an encryption that Android does not support. Although, that was fixed in release build 704 (and earlier daily builds). [import]uid: 32256 topic_id: 23844 reply_id: 96366[/import]

Hi Josh,

Thanks for that,

My Dev. machine is an iMac (11,3) with Lion (10.7.3), The PWS that I am referring to is the Mac’s Web Sharing or Personal Website functionality.

I would love to see that the issue lies with the PWS, but the same .apk and running off the same PWS works and installs on the Kindle Fire without a problem, it is only when trying to load onto the Touchpad/Android that it fails. I even tried putting up the .apk on a web site and downloading it from there, same result.

if any details about the device would help, they are as follows
Model : cm_tenderloin
Version : Android 4.0.3
Kernel : 2.6.35-palm-tenderloin
CyanogenMode : 9.0.0-RC0-Touchpad-alpha-06
Build : Jan 29 2012

and I can install apps from the Google Play Marketplace and also from the DRM free Humble Indie Bundle.

I am sure that the issue might be a small little tweak somewhere, but till then it is a bit painful, that’s all. [import]uid: 3826 topic_id: 23844 reply_id: 96435[/import]

Jayant,

I was able to successfully download and install an APK from my personal Web Sharing site on my Mac to my Motorola Xoom (honeycomb v3.2.1) via the default web browser. Perhaps your Android device has not been set up to install apps from “unknown sources”?

You can double check by doing the following:

  1. Go to the home screen.
  2. Press the menu button.
  3. Select “Applications” from the list.
  4. Verify that “Unknown Sources” is checked.

This will allow apps that were installed by hand to be allowed to be installed on your device.

If you don’t think it’s one of the above, then perhaps the app is crashing because it is trying to use a feature that your device does not have? I know you will get a corruption error if you have a Lua runtime error in your code. Running the Android SDK’s “adb logcat” while the device is plugged in via USB may provide more details. [import]uid: 32256 topic_id: 23844 reply_id: 96689[/import]

Hi Josh,
I appreciate the step-by-by troubleshooting, but yes, I have all of that in place as I have installed locally apps compiled with other frameworks in the same manner and they work perfectly fine.

I mentioned that I can install the Humble Indie Bundle apps which are as they say Side Loaded, so yes I have set the enable 3rd party apps or non market apps settings.

In fact a popular client app was released for the Android platform, it works fine on the Droid, Kindle and has been released on the Android Market (Google Play) and it is also crashing, in fact one user has send in a long log file (if that would help) the device details are as follows

Device model: GT-N7000
Firmware version: 2.3.6
Kernel version: 2.6.35.7-N7000XXLC1-CL1003701
Build number: GINGERBREAD.XXLC1

This is an .apk that works perfectly fine on many Android Devices, but crashes on some. So, apparently there is something else to it.

Hope you can help find a resolution. Debugging on the test device is possible, but not on a deployed device half way across the world. Any suggestions, pointers there? [import]uid: 3826 topic_id: 23844 reply_id: 96724[/import]

Hi Jayant,

I’ve noticed that you’ve updated the forum thread’s title as “Solved”. Just to confirm, did you get it working? I want to make sure that we’re not running into Corona bug here. Thanks! [import]uid: 32256 topic_id: 23844 reply_id: 96763[/import]

Hi Josh, yes I got it working and the issue was rather bizarre, a device that is 1024x768 in dimensions shows up as a device with 976x768 as Honeycomb has a 48 pixels statusbar. I thought that the displayHeight would have been 1024, not 976. Just for others that will start developing on the newer Android devices.

I also have an article on the Fragmentation woes at http://howto.oz-apps.com/2012/03/device-woes-fragmentation.html

thanks for the troubleshooting, however it will help if the misleading error prompt that the app has been corrupted be replaced with a more appropriate or accurate prompt. [import]uid: 3826 topic_id: 23844 reply_id: 96770[/import]

Update : The Samsung Note which has a screen resolution of 1280x800 reports the dimensions as 1230x800 with CoronaSDK

03-27 18:20:46.725 I/SurfaceFlinger( 2772): id=2019(28) createSurface 0x5cfeac for pid 2922 (800x1230),1 flag=0

can we have an API that gives the actual size of the device and then the displayable size which is the device size minus the statusbar, etc size. [import]uid: 3826 topic_id: 23844 reply_id: 96784[/import]

Hi Jayant,

Yes, I’ve noted this difference in behavior on Android 3.x (honeycomb) too. On Android 2.x, we set up Corona to be displayed fullscreen and have the status bar overlaid on top of the Corona application to duplicate how it works on iOS. This allows Corona to claim the full resolution of the screen.

Android 3.x has a totally different behavior. It introduces that navigation bar that you see at the bottom of the screen and we have no means of hiding it, nor can we have it overlaid on top of Corona. This is out of our control. I believe Google does this because honeycomb devices do not have physical navigation button, so they need to ensure that the virtual buttons are present at all times. The unfortunate side effect is that Corona does not have full access to the screen and the width or height will be a bit shorter than expected, as you have noted. To make things even more interesting, if your app supports multiple orientations (portrait and landscape), notice that the navigation bar moves too… resulting in different screen ratios in Corona between orientation changes. That is, the width and height of the application view are not swapped like how it is on most devices. Sigh.

I agree that the corruption error needs to be replaced. That error message actually comes from Android and not Corona, but we should be able to catch it on our end since they’re typically caused by Lua runtime errors. It’s on our to-do list. [import]uid: 32256 topic_id: 23844 reply_id: 96788[/import]

Regarding your API request for fetching the screen width/height (in content coordinates), I think that’s a good idea. We’ve also been requested to fetch the screen width/height in inches too so that developers can determine if the Android device is tablet size and display a different layout in their app. I’ll definitely being pushing for these 2 features on Android. They’re definitely needed. [import]uid: 32256 topic_id: 23844 reply_id: 96791[/import]