Which SDK do I use if I'm developing for a device running on Android 3.3? The closest, version number-wise, is 3.2.
You use 3.2. The Android SDK only has a new version if it includes "new" features from the last version. Therefore, you just round down to the nearest SDK. 4.0.4 uses 4.0.3, 2.3.7 uses 2.3.3, and 3.3 would use 3.2.
Note, however, there is no publication of Android 3.3. Take a look at the API levels documentation for a list of the valid versions. (Thanks to #uDaY for the link + info.)
It doesn't exist... that is, there is no Android 3.3.
Related
I am using Visual Studio with Xamarin, as shown in the picture, the latest available android version for me is JellyBean, this is preventing me from using quite some new features. I have set the target version to 6.0 and minimum required version to 4.0.3. Current Configuration in Visual Studio
Does anyone has experience how to solve this issue?
Many thanks!
Greeting,
Kyle
the screenshot at version selection
This happens because of the current referenced Mono.Android.dll in your project. You are most likely setting your <TargetFrameworkVersion> to only Jellybean here. That or the highest level of Android you have installed is Jellybean and it's using the latest platform available via the following in your .csproj:
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
EX:
If you set your <TargetFrameworkVersion> in your .csproj to Jellybean:
<TargetFrameworkVersion>v4.3</TargetFrameworkVersion>
Or via the GUI in Properties -> Application -> Compile using Android version:
Android 4.3 (Jelly Bean)
You would then only have a reference to the 4.3 version of Mono.Android.dll which only includes Android.OS.BuildVersionCodes enums up to Jellybean.
Thus if you had changed your <TargetFrameworkVersion> to v6.0 you would have access to all the current Android.OS.BuildVersionCodes enums up to Marshmallow. You may need to ensure that you have these API levels installed in your Android SDK, and that the respective <TargetFrameworkVersion> is the correct version of the respective API version you'd like to use in the enum.
Where can I get the list of Unity software versions along with a list of their supported versions of Android (APIs)? I can't find any official documents for this.
Here you go: API Levels
Seems like 2.3.1 is the minimum.
Added screenshot for different API versions:
Bottom left.
I havent found a table that lists all Unity Versions and supported Android SDKs, but i have noticed in 5.6.0f3 Release Notes :
System Requirement Changes: Android minimum version supported updated
to 4.1 (JellyBean)
If you install the predecessor 5.5.6 Android Veriosn 2.3.1 to 6.0 are avaialbe in the player settings.
As the title says. Will I be missing things if I don't install SDK for 2.2(API 8) ?
Everything you need will be in the 4.42 SDK, however be aware that there will be features of the 4.42 SDK that won't be supported on Android 2.2 since the SDK is far newer than the target version of Android. This won't cause any problems however, as long as you don't try to implement any of the unsupported features.
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 already asked Google support about this and they were no help ...
In my manifest I have
uses-sdk android:minSdkVersion="10"
which corresponds to version 2.3.3 however when I publish the app to the market it says that the minimum version required is 2.3.7 and uses that in the filter.
How do I tell the market to use 2.3.3 as the minimum version ??
Thanks.
2.3.7 is the latest revision of Gingerbread_MR1. I would recommend switching to SDK version 9 if supporting 2.3.3 is really that important.
I suspect your manifest filter entries (or) API used is compatible of 2.3.7 than 2.3.3 (I suspect you might upgraded to 2.3.7) which prevents using 2.3.3 even though you use min-sdk 10.
see this comment from documentation
o use APIs introduced in Android 2.3.3 in your application, you need compile the application against the Android library that is provided in the Android 2.3.3 SDK platform.