I am using unity 5.1.1 and vuforia v5.0.5 , documents say it works with android 4.0.3, but while building it asks for android platform 5 minimum (API 21)
Is there a way to limit it to jelly beans?
The project I am trying to build is a new vuforia project , I havn't changed a thing
I defined the project to support android 4.2, though it asks for API 21 even when configured to minimum support gingerbread
Related
I am new to Android development. I am told to create an android app that should support android Version 5 (Lollipop) and android Version 9 (Pie). How should I approach this? Should i create 2 different apps supporting Version 5 and Version 9?
Is there any way to make a single app that runs on both version 5 and version 9?
If I use AndroidX, then will it make sure that the app look and function same on both version 5 and 9?
P.S.: I am told to build the app using Xamarin Android Native (not Xamarin Forms).
Thanks.
First you need to understand the following Settings:
Target Framework :Specifies which framework to use in building your application. This API level is used at compile time by Xamarin.Android.
Minimum Android Version:Specifies the oldest Android version that you want your app to support. This API level is used at run time by Android.
Target Android Version:Specifies the version of Android that your app is intended to run on. This API level is used at run time by Android.
Normally, all three Xamarin.Android API levels are set to the same value. On the Application page, set Compile using Android version (Target Framework) to the latest stable API version (or, at a minimum, to the Android version that has all of the features you need)strong text
On the Android Manifest page, set the Minimum Android version to Use Compile using SDK version and set the Target Android version to the same value as the Target Framework version.
If you want to maintain backward compatibility with an earlier version of Android, set Minimum Android version to target to the oldest version of Android that you want your app to support.
Then in you case,you could set the Target Framework version to Android 9.0,and Minimum Android Version to Android 5,Target Android Version to Android 9.0.
I want to write a simple app for an android 2.2 device. (Api 8)
When I create a new project in android studio the minium sdk I can select is api 9, android 2.3.
How do I target an older version?
You will not get anything specific also remotely from developing for Android 2.2.
No new or even very few old devices exist for Android 2.2.
But if you are thinking to install Android 2.2 on any Raspberry Pi style devices, that changes everything.
You need to get an Android Studio older than 2.0 version from this link
Android Studio Canary Channel Downloads for all versions
I start New Android project "Blank Activity" in Android Studio with Android 4.0
but I noticed that for rendering used API 23 (Android 6.0)
and if I click to use Android 4.0 (4.4W.2, 4.4.2, 4.3.1, 4.2.2, 4.0.3), i receive the following error:
Rendering Problems
The graphics preview in the layout editor may not be accurate:
- PorterDuff Color Filter are not supported. (Igrone for this session)
Tell me please how to fix this problem and why it happens.
Or it is quite normal that for rendering the project that uses the Android 4.0 uses Android 6.0 ?
I use Android Studio 1.5.1 141.2456560 and Java SE Development Kit 1.7.0_79
I think I found the answer to this question
https://www.youtube.com/watch?v=Sxo5zMcOCXM
The application for a specific API will have forward compatibility with future releases. Platform SDK uses the target value if the near future platforms will be expected a significant change in behavior. This ensures that the application will not break when you upgrade a user's phone.
It turns out that it does not matter as what API to use for rendering the project. If you created your project for the minimum Android 4.0 platform and rendering in Android Studio using Android 6.0 then it is quite normal.
Im trying to compile an andriod app API level 7 with Admob Sdk 6.3.1 but Im get an error related to
"android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize">"
I googled it and learnt that I've to compile against Android 3.2 and set SDK Min to 13. But that way my app will not be compatible with Android 2.1, am I correct? Is there any workaround? Am I missing something?
No, you can compile against a higher level, but still support lower SDK levels. Per the Admob Documentation:
The Google AdMob Ads SDK for Android requires a run-time of Android 1.5 or later (set android:minSdkVersion to at least 3 in your AndroidManifest.xml). This means you can develop with the latest version of the Android SDK and your app will still run on an earlier Android version (1.5 minimum).
I have downloaded the Android SDK(which i think has no version, it is standard). After installing Android SDK, Android SDK Manager comes which by default selects 3 things to be downloaded (1)Android SDK tools(2)Android 4.0.3 (API 15) and the things under it like documentation, samples etc (3)Google USB driver But at present i am having book on Android 3, so should i deselect the second option i.e. Android 4.0.3 (API 15) and select all things under Android 3.0 (API 11) or keeping Android 4.0.3 will be OK for Android 3.I know there are tutorials for Android 4.0.3 on Web so why should i go for Android 3 because i find it easy through books and i got Android 3 here in my place and still no Android 4. So what should i do?
You can install everything. I would recommend to install the API level you want to develop for. But it doesn't hurt (but wastes disk space) to install everything.
Sidenote: Android 3.0 is for tablets, 2.x for older and 4.x for the latest Android Smartphone devices.
You should select the API level that you will target. For example, I am writing an application for API level 7 (Android 2.1.x), so I've got that version installed on my machine. Of course, you can have more than one API level installed, so it is safe to install any combination (for example 3.0.x and 4.0.4 simultaneously - see last paragraph for the reason).
Once you've got a few API levels installed, Eclipse will allow you to change the target API for your project to any of the versions you have installed. The same applies for the command-line project creation.
There is actually one good use-case for installing a version newer than the one you are targeting in addition to the one you use: testing. You can create an emulation environment for a newer version of the API to ensure that your application does not crash and burn when the API levels do not match. If we were to extend my above example, a sensible set of levels to install is 3.0.x, 3.2, and 4.0.4. You can target the initial release of Honeycomb (unless you need anything from the later versions), and test with both the latest Honeycomb and Ice Cream Sandwitch.