question

David Robinson avatar image
David Robinson asked

Amazon Kindle Fire emulators not available

As the Kindle Fire emulators are no longer available how is it possible to test that an Android app works correctly on the Kindle Fire without buying one ? I'm specifically thinking of calls to the Geocoder service which is device dependent. Does the Kindle Fire implement this OK ? Also how can I check AdMob ads are being served OK ? Would be glad to get any help.
fire tablet
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Since Emulator support is discontinued we would suggest you to test your app in real device. Location service is available in Kindle Fire devices though. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

David Robinson avatar image
David Robinson answered
This is not very helpful. Are you saying there is no way of testing apps for Kindle Fire without the expense of buying one ? You say Location Services work on Kindle Fire. I am using calls to the Geocoder service in my app and am seeing failures with the message "java.io.IOException: Geocoding failed, please look into the logs for more details!" every time it is called. What logs are these ? What is likely to be the problem ?
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hi Citydroid, Unfortunately it's true that you can not test an app with out having a real device since the Kindle emulator support is discontinued. The Amazon Maps API supports the core android.location classes, including Geocoder, on Kindle Fire tablets except Kindle Fire (1st Generation). Please check out the documentation on Amazon Maps API https://developer.amazon.com/public/apis/engage/maps
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Can you post your code related to Geocoder please?
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

David Robinson avatar image
David Robinson answered
Its very simple : Geocoder gcd = new Geocoder(getApplicationContext(), Locale.getDefault()); try { addresses = gcd.getFromLocation( pla, plo, 1 ); } catch (IOException e) { e.printStackTrace(); } where pla and plo are double values eg 51.53 and -0.1. Every time it is called on a Kindle Fire I get this error : java.io.IOException: Geocoding failed, please look into the logs for more details. I don't have this issue on non Amazon devices.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

David Robinson avatar image
David Robinson answered
Hi Sujoy, any answer on this ? I would be grateful if you could come up with some solution for my problem.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hi Citydroid, Thanks for the specific code. I will check and get back to you soon.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hi Citydroid, In order to get the Geocoding working you need to integrate Amazon Maps in your app. Please follow below documentation https://developer.amazon.com/public/apis/engage/maps/doc/building-and-testing-your-maps-app At least you need to make sure that your app is registered to access Amazon Maps data https://developer.amazon.com/public/apis/engage/maps/doc/building-and-testing-your-maps-app#Registering%20Your%20App%20to%20Use%20the%20Amazon%20Maps%20API
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

David Robinson avatar image
David Robinson answered
Thanks for this. Just to be clear do I just need to do the Maps Registration or do I ALSO have to include the amazonmaps.jar library in my project ? Regards David
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Sorry for delayed reply. Please refer: https://developer.amazon.com/public/apis/engage/maps/doc/building-and-testing-your-maps-app#Registering%20Your%20App%20to%20Use%20the%20Amazon%20Maps%20API "Registration provides access to map tiles and geocoding services. Registration is specific to each app, and separate registration is required for debug and release builds. In order to load map tiles during testing, you must register the debug build of your app. " It's true that it's a standard class from android.location. However, the way Android is architected allows the implementation "under the hood" to be provided by a system component that the vendor (e.g. Amazon) provides. Thus, if you have a stock Android device, the geocoder on it will be Google's geocoder, talking to Google's service. On Amazon devices, we have our own platform installed, so the standard android.location.Geocoder class will be talking to our platform. http://developer.android.com/reference/android/location/Geocoder.html Hope it makes sense. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.