How to support more devices in Android app - java

I'm an iOS developer, but I recently developed an Android app for a customer, because they were unable to find a developer. So I made it and it works. But, I'm a complete newbie.
My customer says that their users complain than the app is not available for the newest versions of Android. I build the app against the latest version of the SDK. How do I make it compatible with new versions of Android?

The Play console lets you see thousands of devices in the app ecosystem, whether they are compatible with your app, and why. The help article gives more details.

Related

AOSP and access to Google Play Services

I am developing for a device that uses AOSP (https://source.android.com/). This device is a Garmin 780 (https://buy.garmin.com/en-US/US/p/569748). The custom build does not include any Google Apps.
I'm new to Android dev, so I'm a bit lacking in the ecosystem knowledge.
I was hoping that someone could explain to me how the OS would handle having an application installed which uses some of the Google Play Services API's (e.g. https://developers.google.com/android/reference/packages).
I've installed an APK that uses:
com.google.android.gms:play-services-analytics
com.google.android.gms:play-services-auth
The application runs. I would have thought that it would fail to run if the libraries were not present. Or are they bundled with the apps APK?
When using the Device File Explorer in Android Studio and checking out the folder /data/data I can confirm that no com.google.android packages are installed.
So I'm really after some confirmation, the way Google Play Services is described here: https://developers.google.com/android/guides/overview seems that Google Play Services must be installed on the device at an OS level in order to make use of them. These services cannot be installed alongside a custom application like normal dependencies right?
That is correct Google Play Services cannot simply be installed for use along with an application.
Google Play Services is a suite of APIs installed by default on most Android devices to allow for apps to easily utilize common features as well as keep the services and Google apps up to date.
Something that might interest you is Open Gapps. It is a way for devices with custom Android ROMs to utilize the Google Play Services package.

about older android versions on google market

I have developed my app in android 2.2, and put it on google market (munspel-appen).
I could see in the statistics that 4% are using android version 2.1 i dont have access to such device, so I wonder if my app will still work on that older version device if downloaded from market too or is it only working from 2.2 and up? How can one tell?
The configuration of your app (https://play.google.com/store/apps/details?id=com.munspel.munspelappen) seems to limit the app to devices with 2.2 and higher.
Users with a lower OS Version then 2.2. can not download your app from google market.
I would test your App in an Android 2.1 Emulator and if it works there change the minSDK for your app to 2.1 and upload an update to the market. In that way your app will be available to as much users as possible.
you can try in the android emulator in eclipse for example
Your application may work for 2.1 version provided that your application is compatible with API Level 7.
Well you can specify android:minSdkVersion=8 in AndroidManifest, (from document)The Android system will prevent the user from installing the application if the system's API Level is lower than the value specified in this attribute, You can try running your application on Emulator running 2.1 version. read more http://developer.android.com/guide/topics/manifest/uses-sdk-element.html#uses
If you're willing to pay, there are several companies specializing in testing Android apps on physical devices. Examples:
http://duarlander.ning.com
http://www.perfectomobile.com
I think there's a lot more in google.
First, the Market should use the minSdkVersion in your Manifest to filter the apps when searched.
To test, you can use an emulator of version 2.1 and see whether it works.
Most probably most of the code will work except those new in 2.2.

Java Application on Smartphone

What alteration should be made in a Java Application to be able to install it on Java Enabled Smartphone?
I tried using a random app of mine to see what happens, when I open it on the cell, it says Install? I say yes, and it says invalid file.
Now I was wondering what alteration should be made?
My smartphone (Samsung S8500) runs on bada which is more or less the same as Android, but alterations in the General.
You need different SDK for smartphones. Like for Android, you need Android SDK 1.5 or any other version. You just cannot install the same application. You need to develop using the resources provided by the SDK.
If your application is Java based mobile application then you can use some tools to convert it for Android. Doesn't work every time but worth a try.
In your case, Bada OS is not like Android what i learn from here. So, you need to develop the application using J2ME .

LVL Licensing in Honeycomb Emulator?

I'm currently only using the Honeycomb emulator to test a new Fragment-based release, which requires the LVL licensing service. However, every time I start my app on the emulator, it fails the licensing test and my emulator cannot add Google accounts, so I can't try that way either.
How can I get it to work?
I believe that nobody has been able to get the LVL libraries working on any emulator except 2.2. See this posting and this issue report.
I am having the same issues with LVL... however to create the google account on your emulator make sure you create it with the google libraries.. IF you create the emulator with the google libraries you will get the google account set up when you create accounts.

Mobile phones supporting Java Android?

What are mobile phones supporting Java Android?
Is there any Nokia phone supporting this technology?
What should the mobile contain (a framework, a plugin.. etc) if we want to deploy a Java Android Application?
Android can be deployed to many devices with custom builds of the OS; anyone can build Android . It is not limited to particular handset makers and you might want to consult the makers for official lists of deployed devices.
There is nothing the device needs to contain (other then an appropriate targeted version of Andrdoid) to deploy an application.
One important note is that the application IS NOT run in the JVM, the code is only written in Java and then converted to Dalvik bytecode when compiling (Android runs on the Dalvik Virtual Machine). Since the code is written in Java though you can make extensive use of existing libraries and use them in your applications.
There is a fairly comprehensive list on Wikipedia comparing devices running Android, including forthcoming devices.
Nokia seems to have no interest using Android platform for its devices.
If the device is a certified Android platform, there is nothing one needs to add for deployment.
I think most phones that run Android should support Android applications. However, IMHO one would be hard pressed to compile a list of those phone.But rest assured, it's a lot. Someone DID make a list! And yep, it's a lot.
Some quick Googling reveal that Nokia seems to not like Android so I would assume there is not a Nokia phone with Android.
Framework: Eclipse Galileo with the ADT plugin
My advice:
read this site inside and out! http://developer.android.com/index.html
It answers all your questions.

Categories

Resources