Your device isn't compatible with this version

I just put my first Android app on the Google play store. I bought a cheapo Android 4.0+ device to test my builds with. I can move the .apk file to the device, install it, and it works fine. When I view it on the Android store from this device it says “Your device isn’t compatible with this version”.

The device screen:
7.0", WVGA (800x480)

Processor: "Box chips A10 High-Performance cortex a8 processors), support for OpenGL 2.0 3D graphics.

App name on the play store: CPHIMS Test

Again, it works fine on this device when I install the file directly (USB cable).

I’m thinking it’s something in the configuration / build file. Any suggestions would be greatly appreciated!!! [import]uid: 156018 topic_id: 28920 reply_id: 328920[/import]

Isnt you requiring some device capability that is not present in your device but does get required after the .apks built?
Cheers,
Rodrigo.
[import]uid: 89165 topic_id: 28920 reply_id: 116455[/import]

There are no special requirements of the device. As mentioned above the apk file was moved to the device and installed as an app and works fine. It’s just from the Android store (Google Play) that it gives this incompatibility message. [import]uid: 156018 topic_id: 28920 reply_id: 116460[/import]

There are no special requirements of the device. As mentioned above the apk file was moved to the device and installed as an app and works fine. It’s just from the Android store (Google Play) that it gives this incompatibility message. [import]uid: 156018 topic_id: 28920 reply_id: 116461[/import]

Could this be the problem:

Localized to: default
This apk requests 3 permissions that users will be warned about
android.permission.INTERNET
android.permission.READ_PHONE_STATE
android.permission.ACCESS_NETWORK_STATE

My app does not need internet access nor does it have any need for the phone state. My test Android device is a tablet without a phone, so I’m wondering if that is the problem.

HOW DO I DISABLE THESE PERMISSION REQUESTS??? Nowhere do I have them set! [import]uid: 156018 topic_id: 28920 reply_id: 116531[/import]

Yeps, it was what I thought about. :frowning:

As you have a tablet and not a phone, that asked permission will always “fail” and so it wont display your androids device as a supported one by the final built .apk.

BTW, Ive heard that there is a way to edit the androids .apk manifest and so “remove” the asked permissions that you do not want your app to request the user but I`ve never done that.

The name of the “program” to edit the .apk files is apk manager or something like that.
Rodrigo. [import]uid: 89165 topic_id: 28920 reply_id: 116566[/import]

That is really unfortunate. So this means that anyone using Corona SDK to build for Android can say goodbye to the growing Android table market?

I nor others that have paid for this should have to use side-stepping measures to modify permissions that should be part of Corona in the first place. I bought this to save time.

I really hope this can be resolved ASAP - the Android table market is growing, not shrinking. [import]uid: 156018 topic_id: 28920 reply_id: 116577[/import]

Yes, sorry about that. But there are many other devs around here trying to get “this permission subject” resolved together CoronaLabs already.

Posts like this (http://developer.coronalabs.com/forum/2012/07/22/very-disturbing-hidden-network-traffic-corona-sdk-breaks-jellybean) and a few others.
[import]uid: 89165 topic_id: 28920 reply_id: 116579[/import]

@lessmsios, I have a quick question. Under the “Supported Devices” section of your app on Developer Console, do you see your device listed? (You need to click on “Show Devices” to see all the device that your app would run on.) I’m curious if your device is included as one of the supported devices.

Naomi [import]uid: 67217 topic_id: 28920 reply_id: 116633[/import]

Yes - Android. As mentioned in the original post I can move the apk file directly to the Android table and it works fine. Because the Corona SDK builds it with certain permissions set it will only work with phones, and even then - it’s permissions my app does not require and might scare potential users. This is what gets embedded in the AndroidManifest:

uses-permission android:name=“android.permission.INTERNET”
uses-permission android:name=“android.permission.READ_PHONE_STATE”
uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE”

As well as a bunch of other stuff not needed, but the 2nd one is the biggest problem and why all Android tablets without a phone will never see mine - or anyone else - app in Google’s Play store. [import]uid: 156018 topic_id: 28920 reply_id: 116635[/import]

@lessmsios

i guess your problem is exactly like this read all the post and most likely you will able to find issue

http://www.giderosmobile.com/forum/discussion/1140
[import]uid: 12482 topic_id: 28920 reply_id: 116639[/import]

@lessmsios

See if you can install The Lost City (or any other Corona-made apps). That should have the same default permissions and will show whether this is a Corona issue or specific to your app.

There must be thousands of games on Google Play which need Phone state, it’s pretty much standard in every app (it allows the app to resume gracefully after a phone call is made). I can’t believe Android tablets can’t play these games!
[import]uid: 84768 topic_id: 28920 reply_id: 116668[/import]

Edit: @lessmsios, woops. You might want to read the following post along with the reply posts that come after it:

http://developer.coronalabs.com/forum/2012/07/22/very-disturbing-hidden-network-traffic-corona-sdk-breaks-jellybean#comment-116616

Naomi


@lessmsios, you might be interested in the links below. That said, I really do like to hear if your Android Tablet is listed on supported device at Developer Console. If it’s listed as supported device, and despite, you can’t use it to download your own app from Google Play, then that would be truly worrisome.

http://developer.coronalabs.com/forum/2012/04/22/default-android-permissions#comment-116670

http://www.ludicroussoftware.com/blog/2012/05/08/remove-unused-libraries-from-corona-apps/

Naomi [import]uid: 67217 topic_id: 28920 reply_id: 116735[/import]

lessmsios,

If your app works on your device during testing but the app store states that your device is not supported, then this suggests that there is an AndroidManifest.xml problem. Can you please post your “build.settings” file please? I’ll need to see its entire contents. I’m thinking you have an Android setting in their that is requiring a feature that your device does not have. Some of these manifest settings only serve as filters for the app store and do nothing at runtime… and I think the issue here is that you have a setting that is filtering your own device out of the app store. For example, “build.settings” tables such as “usesFeatures” and “supportsScreens” are app store filters and do nothing at runtime.

Regarding the 3 Android permissions that are applied to your APK, you have no means of removing them via Corona. These 3 permissions are currently required by Corona and its 3rd party libraries. Stripping them out can cause crashes and other unexpected behavior. We do recognize that there are a lot of Corona developers who would like these permissions removed and it is on our to-do list, but doing so is not as simple as removing them from the manifest file. We would have to put safe guards in the code to prevent exceptions/crashes from occurring due to features that require these permissions. If you are stripping out these permissions via a 3rd party tool, then do so at your own risk. We cannot offer you tech-support for any issues that might arise from this. But I can tell you right now, those 3 permissions are not what is causing your app from being rejected on your device.

Regarding the READ_PHONE_STATE permission that Corona applies to all apps, this definitely does NOT exclude your app from tablet devices. Remember that Corona supports tablet devices such as the Kindle Fire, which is not a phone. How do we achieve this? Because we set the “telephony” feature to “not required” in the AndroidManifest.xml file as follows…
[lua][/lua]

So, the next step is for you to post your build.settings. I’m sure the error is in there somewhere. If you don’t want to post this publicly, then we can do so via tech-support e-mail. [import]uid: 32256 topic_id: 28920 reply_id: 116771[/import]

@ Joshua - here is some info - I would love for this to be resolvable on my end!:

build.settings:

settings =
{
orientation =
{
default = “landscapeRight”,
supported =
{
“landscapeRight”,“landscapeLeft”,
},
},
android =
{
versionCode = “13”,
},

iphone =
{
plist =
{
UIPrerenderedIcon = true,
UIStatusBarHidden = true,
UIApplicationExitsOnSuspend = true,
CFBundleIconFile = “Icon.png”,
CFBundleIconFiles =
{
“Icon.png” ,
“Icon@2x.png” ,
“Icon-72.png” ,
“Icon-72@2x.png” ,
“Icon-Small-50.png” ,
“Icon-Small-50@2x.png” ,
“Icon-Small.png” ,
“Icon-Small@2x.png” ,
},
UIAppFonts =
{
“GillSans-Book.ttf”,
“ArchitectsDaughter.ttf”,
},
},
},

}

config.lua:

application =
{
launchPad = false
content =
{
antialias = false,
width = 320,
height = 480,
scale = “letterbox”,
audioPlayFrequency = 44100,
xAlign = “center”,
yAlign = “center”,
imageSuffix =
{
["@2"] = 1.75,
["@2x"] = 1.75,
},
},
} [import]uid: 156018 topic_id: 28920 reply_id: 116797[/import]

@lessmsios

have you read the link i had given above ?

if you are able to download other corona games which have the same permission required most likely you have the issue of copy protection feature of android market.

at the other end my guess is that if your device is not able to handle any specific permission then you can not install it even with direct apk or in debug mode although for this i am not 100% sure [import]uid: 12482 topic_id: 28920 reply_id: 116806[/import]

also forgot to say copy protection feature is only affecting rooted android device so do u have rooted device or cyanogen mode? [import]uid: 12482 topic_id: 28920 reply_id: 116807[/import]

@lessmsios, I can only share my experience, but here’s what I have on my build.settings:

android =  
{   
 usesPermissions =  
 {  
 "com.android.vending.BILLING",  
 "android.permission.INTERNET",  
 },  
},  

And here’s what I see on Developer Console > Edit Application > Product detail > Publishing options > Supported Devices:

This application is only available to devices with these features, as defined in your application manifest.
Screen layouts: SMALL NORMAL LARGE XLARGE
Required device features
android.hardware.screen.portrait
android.hardware.touchscreen
This application is available to over 969 devices.

What does your build.settings look like? Also, do you use adnetwork? I wonder if you have some API calls in your code that causes additional permissions to be added?

Naomi

Edit Again: I see where you can find the permissions that users will be warned about. Just in case there are others wondering, at the time when you complete uploading the apk to Google Play, you get a popup window that summarizes what’s been uploaded, including the permissions that apk will warn the users. Mine shows the following:

This apk requests 4 permissions that users will be warned about:
com.android.vending.BILLING
android.permission.INTERNET
android.permission.READ_PHONE_STATE
android.permission.ACCESS_NETWORK_STATE

As noted by Joshua on post #14 below, I expect no issue with installing my game on Android tablets (keeping my fingers crossed.)
[import]uid: 67217 topic_id: 28920 reply_id: 116637[/import]

I’m not seeing any Android permissions or “usesFeatures” settings in your build.settings file. So it is not an AndroidManifest.xml issue… assuming that you are not modifying the APK after it is built with the Corona Simulator.

hgvyas123 brings up a good point. If your Android device is rooted, then Google Play may be filtering out your device. I did a quick Internet search of that message you are getting and it appears to be a common issue on rooted devices.

Google Play also has a means of indicating what devices are included/excluded for your app. It should be under the “Supported Devices” section. Check if your specific device is listed. [import]uid: 32256 topic_id: 28920 reply_id: 116943[/import]

Android has been one of the best OS that you can get and having this will give you the best experience. All android tablets have some great apps on them that make the tablet much better. [import]uid: 167537 topic_id: 28920 reply_id: 117480[/import]