Amazon App Store Kindle Fire Issue

@Joshua - Thanks for fixing the problem! [import]uid: 8780 topic_id: 13204 reply_id: 69872[/import]

I am trying to submit my app to the Kindle Fire Market and i keep getting this Error, I posted it in Developer Support but nobody has responded. I noticed this blog thread and looked it over but nothing seems to help.

does anyone know what this issue could be ( i updated to the lasted build 3/31/2012

Your binary’s manifest file does not include the required kindlet-Specification-Version attribute. See Understanding the Manifest File for details.
thanks

Larry [import]uid: 11860 topic_id: 13204 reply_id: 97833[/import]

@doubleslashdesign

When you built your app are you sure you chose Build->Amazon/Kindle from the menubar? [import]uid: 70847 topic_id: 13204 reply_id: 97882[/import]

Yep sure did. So that’s why I’m confused.

I know that Ansca updates / creates the manifest file, and we cant touch it unless we decompile the apk.

Thanks

Larry [import]uid: 11860 topic_id: 13204 reply_id: 97912[/import]

Strange, I haven’t had any problems with submitting for Amazon / Kindle (yet). The last time I got an approval from Amazon was in January though.

I just submitted an update to Amazon during the weekend with build 775, so we’ll see what happens with that… I’ll post the results on this thread once I know the verdict… [import]uid: 70847 topic_id: 13204 reply_id: 97920[/import]

Interesting,

It could be because my app is setup for both large and small screens for normal android ( i’m just not sure) but I could make it not do that for the kindle.

Would you mind posting what your build.settings and config.lua details so I can compare what mine has.

  • minus any personal or private details of course

Thanks for the feedback

Larry [import]uid: 11860 topic_id: 13204 reply_id: 97931[/import]

Sure thing…

[lua]-- config.lua

local dFPS = require(“dynamicFPS”);

application =
{
content =
{
width = 320,
height = 480,
scale = “letterbox”,
fps = tonumber(dFPS.currentFPS());
antialias = false,
xalign = “center”,
yalign = “center”,

imageSuffix =
{
["@2x"] = 1.6,
["@2x~ipad"] = 3.6
}
}
}

–build.settings
settings =
{
orientation =
{
default = “landscapeRight”,
content = “landscapeRight”,

supported =
{
“landscapeRight”, “landscapeLeft”
}
},

android =
{
components = {},
versionCode = “110”,
versionName = “1.4.1”
},

iphone =
{
components = {},
plist =
{
UIStatusBarHidden = true,
UIPrerenderedIcon = true,
UIApplicationExitsOnSuspend = false,
UIInterfaceOrientation = “UIInterfaceOrientationLandscapeRight”,
UISupportedInterfaceOrientations =
{
“UIInterfaceOrientationLandscapeRight”,
“UIInterfaceOrientationLandscapeLeft”
},
CFBundleIconFiles =
{
“Icon”,
“Icon-72”,
“Icon-Small”,
“Icon-Small-50”
},
CFBundleLocalizations =
{
“en”,
“fr”,
“de”,
“zh-Hans”,
“ja”,
“ko”,
“es”
}
}
}
}[/lua] [import]uid: 70847 topic_id: 13204 reply_id: 97940[/import]

Thanks so much, I know I have most of this but its not exact. I’ll compare when I get home this evening - I think this will be a big help.

Again Thanks

I’ll update you on my findings :slight_smile:

Larry [import]uid: 11860 topic_id: 13204 reply_id: 97947[/import]

ingemar,

The android versionCode setting must be a number, not a string. Strings are ignored, causing the build to default to whatever versionCode that you’ve entered into the build window in the Corona Simulator.

That said, since you can enter the versionCode and versionName in the Corona Simulator’s build window, there really isn’t much need to put these settings in your build.settings file. In fact, it may make things more confusing because the build.settings will override whatever you’ve typed into the build window. I hope that makes sense. [import]uid: 32256 topic_id: 13204 reply_id: 98063[/import]

Thanks for the info, yeah i tried those settings, after i read another post from a while back. I start messing with the settings tonight and see what i can come up with. Might not be done until tomorrow since I forgot i had a meeting tonight.

I’ll let ya know how it goes.

Larry [import]uid: 11860 topic_id: 13204 reply_id: 98078[/import]

Here are mine, The only thing that stands out to me is the size of that actual images.

Unless you think I should just yank all @2’s from my project and settings.

[code]
–Config.lua
if system.getInfo(“model”) ~= “iPad” and system.getInfo(“model”) ~= “iPhone4” then
application =
{
content =
{
–zoom
width = 768,
height = 1024,
fps = 60,
scale = “zoomStretch”,

imageSuffix =
{
["@2"] = 1,
}
}
}

else
application =
{
content =
{
width = 768,
height = 1024,
fps = 60,
scale = “zoomStretch”,

imageSuffix =
{
["@2"] = .8,
}
}
}
end

—Build.Settings
– build.settings
settings =
{
androidPermissions =
{
“android.permission.RECORD_AUDIO”,
“android.permission.WRITE_EXTERNAL_STORAGE”,
},
orientation =
{
default = “landscapeRight”,
supported = { “landscapeLeft”, “landscapeRight” }
},

iphone =
{
plist=
{
UIApplicationExitsOnSuspend = false,
UIHiddenStatusBar=“YES”,
CFBundleIconFile=“Icon.png”,
CFBundleIconFiles = {
“Icon.png”,
“Icon@2x.png”,
“Icon-72.png”,
},
},
},
}

[/code] [import]uid: 11860 topic_id: 13204 reply_id: 98380[/import]

I just an approval notice from Amazon, however that’s just step 1 of 2. Step 2 is for the Kindle Fire. The problem is that they don’t send an approval notice for the Kindle Fire. They only send you a rejection notice if they find a problem, so you never really know when the Kindle Fire version goes live, however you should get a rejection notice from them within a week from the first approval email.

I don’t see anything in your settings that should get your app rejected though.

One thing I don’t fully understand is your config.lua.

Wouldn’t you achieve the same results by just having the ‘else’ part?
That one will select the @2 versions for anything that has a scale factor greater than 0.8, which will include iPhone4, iPad and Kindle Fire. Your non-@2 files will be selected for any device that has a scale factor that’s less than 0.8, like iPhone 3GS and other non-retina devices…
[import]uid: 70847 topic_id: 13204 reply_id: 98393[/import]

@ingemar
One way to know if you are not approved for the fire is that you will have almost no sales.

95% of my sales on the amazon store are kindle fire.
[import]uid: 110373 topic_id: 13204 reply_id: 98400[/import]

Actually I did get a welcome message about kindle fire store but it was a couple weeks after the Amazon store acceptance. Go Figure.

I’m currently trying to upload my build for the kindle fire, but im not having much luck.

I’m thinking maybe my images are to big or maybe I should gut all of the smaller image from the build or something. I’m not sure as of yet.

they did test my Amazon submission but it failed - because it was not build for kindle I guess. Not sure why they do that… [import]uid: 11860 topic_id: 13204 reply_id: 98402[/import]

I wonder what would happen if i published a Kindle Fire App and made sure it only worked on the Kindle Fire, so you could do a check if it’s not a Kindle Fire and print a message “This App only works on a Kindle Fire”.

Maybe it would force them to only review it for the Kindle Fire. [import]uid: 8697 topic_id: 13204 reply_id: 98409[/import]

well when you upload the build for kindle its different than the normal amazon store
[import]uid: 11860 topic_id: 13204 reply_id: 98413[/import]

@cublah
I strongly doubt that it would get accepted since there’s only one binary that you upload to Amazon, and it has to work for “normal” Android devices as well as the Kindle Fire. The important thing is that you choose Build->Amazon/Kindle from the menubar and *not* Build->Android.

@brad.herman
Yeah, you’re right. Before my app was available for the Fire I had a few sales/month. After it was approved for the Fire I now have sales every day…

[import]uid: 70847 topic_id: 13204 reply_id: 98427[/import]

@swipeware
But there are Kindle Fire only apps in the Amazon App Store, you can only download them for the KF [import]uid: 8697 topic_id: 13204 reply_id: 98466[/import]

When you upload an app to Amazon they only allow one binary, and I seriously doubt they would approve an app that would merely say “Sorry this app only runs on a Kindle Fire” if it was downloaded on an other device.

There must be some other way to set this restriction in that case.
There are a couple of things I can think of to set restrictions:

  1. Set the Form Factor to Tablet instead of Phone+Tablet.
    But that will not restrict other tablets from downloading the app (think Galaxy Tab).

  2. Add some specific settings in the Android Manifest.
    I think this would be your best bet if you’d want to restrict your app to Kindle Fire only.
    The only thing is I don’t think you can do that within Corona. You’d first have to build your APK, then disassemble it to make modifications to the manifest, and then manually assemble/sign the APK again.

My question though would be why go through all that trouble to restrict an app for Fire only? Corona is great with it’s multi platform capabilities and the Amazon/Kindle build works fine on all Android devices I’ve come across + I’ve had no complaints from customers either… [import]uid: 70847 topic_id: 13204 reply_id: 98473[/import]

My question though would be why go through all that trouble to restrict an app for Fire only?

Because most sales through Amazon are on the Kindle Fire, my last app got no sales at all until it was available for the Kindle Fire, and even then I had to ask hem to make it available for KF because after 3 weeks it still wasn’t available, at that point it’s no longer a new app and becomes invisible to most people.

I bet Angry birds Space didn’t have this problem, and they have a KF only version. [import]uid: 8697 topic_id: 13204 reply_id: 98476[/import]