Goodday, I have had Visual Studio and Xamarin for a while and recently i have started to learn android development. I have made a pretty cool android app now, my problem is that i had APIs 23, 19 and 18 installed before. Now i want my app to support android 2.2 (API 8) i have installed the SDK Platform and Google APis for API 8 but it doesnt show up in the APP manifest for minimum api to support in Visual Studio, i have tried restarting VS and even the system but it only displays APIs 23, 18 and 19.
Am i missing something please?
Maybe it is a bug. But if you want to change your minimum API level just collapse Properties, open AndroidManifest.xml and change android:minSdkVersion attribute in uses-sdk tag to 8.
Related
I'm developing android app and our boss want to upgrade the app to work on Android 6.0. So i upgrade the Build SDK target to SDK 6.0 and then I changed my android:targetSdkVersion to 23 in Manifest file. And then the app appear only white screen and nothing happened. Why is that happening? If I re-change android:targetSdkVersion to 22 then it's working. But permission request need for Android OS 6 huh? That's why i need to change android:targetSdkVersion to 23. Please guide me. As for addition, I've to develop that app with Eclipse. The boss don't want to use Android Studio. Please guide me with Eclipse solving. Thanks you very much.
Even if use target SDK below 23 it works on 6.0.in android only if you use min SDK 19 and if you run on device below API level 19 it won't but always higher versions support lower API levels through my knowledge, and be sure with your question.
if i use android 4.1.2 (API 16) Android SDK will my apps work on Android 2.3 phones. i have downloaded android 4.1.2 sdk tools and other packages.
You will need to set the minimum SDK attribute in your manifest to 2.3 to ensure you app will work on earlier versions of the OS.
Your app will work fine, assuming you are not using any API calls from a later version.
The Android Dev team suggests you always compile against the newest version you can support. So, you are on the right track.
So bottom line, you are on the right track, just make sure to test your app against a 2.3.3 version of the emulator to ensure you are not using any un-supported API calls.
No, if your minimum sdk version is 16 it wont work on that android version.
if you want it to work on that specific version then set the minimum sdk version to 9. You can change this in the apps manifest file.
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="21"
/>
If you are getting errors probably saying "This code uses the minimum sdk to be api 16 or higher"
find alternate ways to modify the code for older android phones. If that does not work then dont support old version of android maybe.
I experience this problem when I added another project from internet. I think it asks me to use another version of target android. But I want that my app will work in android 2.2.
But it doesn't require API-8, it requires API-16 and I m not sure what I should do.
Modify the AndroidManifest.xml file so that any versions in there are Android 2.2. Also change the version of the SDK used by right clicking the project in eclipse and go to properties->android and change the version to 2.2. Some things might break though. Usually the version declared in the manifest is declared because the project uses SDK features only available for that version or later.
Your app will still work on older versions even if you are targeting newer version. The target is what version you have tested your app to work on. If you target the most recent version (API 16), then your app will not be put in 'compatibility mode' when running on older phones. For example, if you have a menu button in 2.x but you target API 16, this menu button will not show up on certain phones since you're supposed to be using the ActionBar.
The minSdkVersion is what you are thinking of, which will make sure your app runs on older versions:
<uses-sdk android:minSdkVersion="8" />
So the solution to your problem is just to download the newest API level through the SDK Manager. You most likely just don't have API 16 installed.
While creating an android project if i say that the Build Target of my Android porject is 2.2 (API Level is picked as 8) and in the text box for Min SDK version. If i put some value apart from the API level (smaller or greater than 8) of the build target then what happens?
Does the build happen according to the build target specified, but the application developed is compatible with the smaller android versions (if i specify API level < 8 ). Or the application developed is only compatible for the higher android version (if i specify API level > 8 ).
Can anyone please explain?
There is a similiar question already posted with an excellent answer:
Read the post by Steve H.
Android Min SDK Version vs. Target SDK Version
Say you set the manifest API level to 4, then the app will work on any api 4 device provided. BUT the project will be built to API level 8 so if you have any post-level 4 api methods in your code then the app will crash.
You can only put min SDK version less than your target version,it tell that your application can support to that min SDK version,but you should confirm that your application should run under min SDK version supported devices since the Build target versions may use new APIs which are available for that specific version and those APIs may not available in min SDK versions
ok.. if you have developed an application using particular sdk for instance Android 2.2 and your minSDKversion is < 8 then application is falsely declaring to android system that It can be installed in Android device having sdk version less than Android 2.2. In that case if application happens to install on Android 2.1 and if you re using API that are exculsiviely avaialbe in Android 2.2 platform and not on Android 2.1 then your application will crash on the device. if your minsdkversion > 8 then application won't get installed on the device having Android sdk 2.2 or lower version
I'm having problems finding the 2.3.4 sdk in the Android SDK Manager download list. I updated the SDK tools to r11 and my platform-tools to r5 but 2.3.4 won't show up. Is there something I'm missing?
Check out Android 2.3.4
API Level
"The Android 2.3.4 platform does not increment the API level — it uses the same API level as Android 2.3.3, API level 10.
To use APIs introduced in API level 10 in your application, you need compile the application against the Android library that is provided in the latest version of the Google APIs Add-On, which also includes the Open Accessory Library.
Depending on your needs, you might also need to add an android:minSdkVersion="10" attribute to the element in the application's manifest. If your application is designed to run only on Android 2.3.3 and higher, declaring the attribute prevents the application from being installed on earlier versions of the platform.
For more information about how to use API Level, see the API Levels document."
Google didn't release 2.3.4 into the SDK because it contains only bug-fixes. It doesn't add or change any APIs, so there is no need for an update on 2.3.3.