My phone is running an earlier version of the Android SDK and I would like to update it. Is this possible?
I can easily update the version on my computer with the SDK manager, but if I target the newer version I get the error deviceSDK < minSDK.
Is there a way to update the actual device sdk? I can't seem find any mention of this on the internet. Thanks!
Most likely the Android version that you are running on the phone is an older version than what is specified in the Gradle for Minsdkversion.
Android 4.4.2(Kit Kat) is sdk version 19 where as 6.0.1(Marshmallow) is sdk 23.
The only way is to wait for a manufacture update or to root the device and install a custom ROM that is a newer base version of Android.
Related
so I'm using QT to develop an app for Android, and according to Sophos Mobile Security this app is "Built for outdated Android versions: this app doesn't support recent android security features. the app was built for an older version of android"
in qt creator I have android-25 set as the android build sdk (which I wouldn't consider old after all, it's 7.1.1 nougat)
how can I make this warning go away? Is there a way to build my app for a newer version of android without excluding users from using it? (I have 7.1.1, and at least I want to use my app)
thank you for your response in advance.
EDIT:
seems like there are (at least?) 3 spots where I can set an SDK version:
minimum required sdk, as seen on the screenshot here: Qt for android: change the application icon
target SDK version, as seen on the screenshot above
this was the only one I was aware an hour ago: projects->build->build android apk->android build sdk
what they govern, how to set them? should they be the same or different?
Android suggests you use the latest sdk version for targetSdkVersion and for build-tools version (they have to match). In fact, Google Play now requires you to target at least SDK 26. This will not prevent older devices from running app. Actually it will be more problematic for newer devices, as you are stating that app has been fully tested and can run on newer devices, and does not need backward compatibility. See https://developer.android.com/distribute/best-practices/develop/target-sdk for more details.
As for minSdkVersion, that is what will determine the earliest devices supported, and you should try to keep it as low as you can, and as 95-99% of your users.
I did many searches on the web, and only partially I understood what I have to do.
When my IDE (Android Studio) reminded me that are available recent update for android SDK, I provided to install them. Now I notice that the Android-SDK directory occupies 87Gb of HDD memory.
This because are installed all the Android API from older version to the latest new.
Today I decided to delete all the SDK directory and perform a clean installaton of the SDK tool.
What I ask is which are the minimum things that I've to install from the SDK manager to be up and running for Android Development.
Consider that my apps must run from Android API 14 (4.0 IceCream) to the least available API version (currently on October 2017 is API 25).
In addiction I use an Android Emulator with Lollipop 5.1 (API 22).
The last thing I ask is when there is a new available and I would to install it, should I unistall all the older API version to prevent SDK grow up?
This is the screenshot of my Android Studio SKD manager.
As you can see the only checked API is 7.1.1 Nougat API 25.
This is a series of screenshot of package details of SDK Manager
The others are all unchecked.
I have to say that for Android 5.1 Lollipop API 22, check marks appear after I create the Android Emulator with Lollipop Installed.
NB: I need only things for mobile programming, not TV or Wearable.
should I unistall all the older API version to prevent SDK grow up?
Yes you can do this to reduce the space size taken by the SDK
Cons : you will not be able to use instant run if you are running your app on particular device on lollipop and above.
Note : you can drop old version under API 14 as support library has also dropped the support for older version
From docs, Revision 26.0.0 Release (July 2017)
The minimum SDK version has been increased to 14. As a result, many
APIs that existed only for compatibility with pre-14 API levels have
been deprecated. Clients of these APIs should migrate to their
framework equivalents as noted in the reference page for each
deprecated API.
I just installed the android apk and adt plugin for eclipse. Further in the sdk manager , I've installed all the tools , Android 4.4.2(API 19) , Android 2.1(API 7) as well as the android support library and google USB driver. Now what i want to know about is , are these packages enough to start development or am i still missing everything ?
Further what i want to know is, if i want my app to be compatible with all android versions , do i need to install all versions of Android API ??
This should be enough.
No, you just need the newest SDK, set the build target to that API version and all lower versions will be supported. For keeping backwards-compatibility, you'll also have to make sure to use APIs that are supported on the lowest SDK version you want to support
Short answer: You only have to install the ones you want to develop for.
My advice in to install at least the 5 most common ones to be able to test your app against these version.
You probably want your app to be also available for users which didn't yet update to Android 4.4.2.
I'm new To android ecosystem.
Do I really need to install all the SDK from Android 1.5 to Android 4.1? to create an app which will support almost all the Android versions
No, one should be fine. Pick the latest one. So 4.1 be it!
Just set your apps mininum sdk version to the desired api level.
Eclipse should warn you if you use stuff that aint working on that minumum version.
Do I really need to install all the SDK from Android 1.5 to Android 4.1? to create an app which will support almost all the Android versions
You need to test your app on any version that you intend to support. For those Android versions that you have a physical device for, you can test your app on that (most likely). For anything else, you will at least need to download the emulator images, so you can create emulators for those older Android versions.
I've build my app under the version 1.6, 2.1 and 2.2 of android and it works. I'd like to know when I'll publish it what is the best :
Build under 1.6 and so it will be compatible with newer version of android
or
Build under 2.2 and set "Target SDK version" to 8 and "Min SDK Version" to 4
Thanks
If you're not using anything that is specific to 2.1 or 2.2 there is no difference. If you for example use install to SD card feature of 2.2 you have to use Target SDK and min SDK option.
Build it under 2.2 and use Min SDK Version.
Target Version is described as the following:
"With this attribute set, the application says that it is able to run on older versions (down to minSdkVersion), but was explicitly tested to work with the version specified here."
Actual statistics of the "market share" are available on the developer website:
http://developer.android.com/resources/dashboard/platform-versions.html
1.6 takes 20% at the moment.