David K
David K

Reputation: 3243

Use CreativeSDK below API level 14?

For some reason the original Aviary framework has stopped working and this has forced me to migrate our code to use the new CreativeSDK instead. Unfortunately this new SDK has a minSdkVersion of 14 = Android 4.0, but a lot of our customers still use older versions (a little over 20 % according to Googles statistics for our app).

We cannot release an app update that cuts away that many users, but is there a way to compile the app with a lower api level and then just disable the image editing for the "old api" users?

Upvotes: 2

Views: 181

Answers (2)

Ash Ryan Arnwine
Ash Ryan Arnwine

Reputation: 1481

As noted by Tim, the Adobe Creative SDK supports Android API 14 and up. It won't work for anything lower than that.

If you're using the Image Editor UI component, it's also worth noting that for APIs 14 and 15, the AviaryIntent.Builder will not work.

There is a workaround for that issue documented here.

Update: Note that starting in version 0.9.7 of the Creative SDK, the Image Editor supports Android API 16 and up only. This is noted in the Getting Started guide.

Upvotes: 1

Tim
Tim

Reputation: 43314

is there a way to compile the app with a lower api level and then just disable the image editing for the "old api" users?

Tricky question. You can try build the app with api lv < 14 but then the creativeSDK will not be able to compile, resulting in a build error, so no.

Android 4.0 is already ~4 years old. It happens more and more that libraries drop support for older android versions (for good reason I think. Just update already!), as is the case with the creativeSDK. The minSDK requirement went from 2.3 in the aviary framework to 4.0 in the creativeSDK.

Adobe has to have done this for a reason. It is too much of a hassle to provide compatibility for 'old' versions of android, especially for complex functionality.

It is mentioned here, here and here that the creativeSDK now really requires api 14, and compatibility for older versions is not mentioned anywhere, meaning it very much likely doesn't exist.

To come back to your question, I think what would be a solution for you is to create multiple APKs for different API levels. There is some work to be done, but it is officially supported by Android, and the steps on how to achieve it are described clearly in the documentation I linked to.

Other than that, you have two options:

  1. Drop the SDK and use another library.
  2. Contact support and ask if they had forseen this issue and how they suggest you go about solving it.

Upvotes: 1

Related Questions