I am new to android and I have develop the app with 5.0.1 target. However, when I run the app in my mobile which has 4.4 version of android, it does not run the app that is due to version mismatch. My question is, in which version we can develop the android app which can run on all android device?
If you work on eclipse set in the AndroidManifest.xml the minSdkVersion to something below 20 (i recommend 15) and it will work also on your device:
<uses-sdk android:minSdkVersion="15"
android:targetSdkVersion="21"/>
Here you can find the sdk values for versions:
http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
If you work on Android Studio go in your build.gradle file and set under defaultConfig your preferences on sdk:
defaultConfig {
applicationId "mybundleID"
minSdkVersion 15
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
UPDATE
I read now that you wanted to support ALL android devices so you can put minSdkVersion equal to 1. But i think that this is the worst thing you can do! Putting the minSdkVersion you will not be able to use some method and some libraries. You have to support the majority of the devices for a good application. As i said values between 11 and 15 are the most used now!
Related
I am currently doing some testing on Android 13 Tiramisu and am having trouble getting the app to install on my device.
I have installed Android Tiramisu Preview (Rev.4) in Android Studio.
I created a sample app and configured it as follows
// build.gradle
android {
compileSdkPreview "android-Tiramisu"
defaultConfig {
applicationId "com.example.myapplication"
minSdk 16
targetSdkPreview "Tiramisu"
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
...
I then tried to install this app on my Android 12 (not Tiramisu) device.
When I did so, I got the following error
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_OLDER_SDK
List of apks:
[0] '/Users/myuser/dev/sample/MyApplication/app/build/outputs/apk/debug/app-debug.apk'
The application's minSdkVersion is newer than the device API level.
In build.gradle, I have specified minSdk 16, so it should be possible to install the app on an Android 12 device.
How can I solve this problem?
(This problem did not occur when targetSdkVersion was set to anything other than Tiramisu)
This is working as intended: targeting / compile with a pre-release version of Android will only work on pre-release device, before SDK is final. The error returned could be clearer, as it is misleading right now.
I am trying to upload my instant app with targetSdkVersion 25 and my installed app is also with targetSdkVersion 25.
When I try to upload my instant app on play console, I am getting the following error,
I do not see in documentation that it is mandatory to support targetSdkVersion 26. What am I missing here ?
I cannot update my targetSdkVersion to 26 since targetting for my installable and instant app should be same.
My installable app must have targetSdkVersion of 25 for now due to a dependency. Can I upload my instant app with targetSdkVersion of 25 ?
Read Prepare your development environment.
Android SDK Build-Tools 26.x or higher
Android SDK Platform Tools 25.x or higher
Android SDK Tools (latest)
You should set
compileSdkVersion 27
buildToolsVersion '27.0.3'
And
defaultConfig {
targetSdkVersion 26
}
As Android evolves with each new version, some behaviors and even
appearances might change. However, if the API level of the platform is
higher than the version declared by your app's targetSdkVersion, the
system may enable compatibility behaviors to ensure that your app
continues to work the way you expect.
For those who are still wondering about this issue. Google imposed a restriction that both Instant app and install-able app should target at least 26.
I'm a little confused! I made an Android app which has these lines of code in the Gradle file:
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
applicationId "com.example.ayech0x2.navigationbarforallactivitites"
minSdkVersion 21
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
So as you see the minimum version of Android is Lolipop after that I used an app called Install APKs to see my apk pieces of information I found that the minimum API level is 3 (Cupcake)! what did this mean? What's the difference between minSdkVersion and minimum API level?
Thank you very much for your time and assistance in this matter.
The minSdkVerison and minimum API level is same. You cannot install the apk on an Android OS of api level below minimum api level. the apk checking tool may have some problem in checking the details.
minSdkVersion and Minimum API Level refers the same thing. If you are specifying the minSdkVersion as 21, the app will not get installed on the device with API level below 21.
Something might be wrong with the app checking the minimum API level of your app.
You can verify it yourself by trying to install the app in the devices below the specified API level.
minSdkVersion: is the minimum version of the Android OS required to run your application.
Minimum API Level: is also the same as minSdkVersion
I think which app you used Install APKs isn't working properly.
I'm trying to execute my application in emulator having minSdkVersion 22, compileSdkVersion 25 and targetSdkVersion 25 but the emulator doesn't show my application. However, when I try to do the same with emulator having targetSdkVersion 24 my application executes successfully. I wanted to know why is this happening and how to solve this problem of version integration?
check this question:
What is the difference between compileSdkVersion and targetSdkVersion?
an example of this link says :
For example, setting this value to "11" or higher allows the system to apply a new default theme (Holo) to your app when running on Android 3.0 or higher...
target sdk version has different features for different versions
I have buyed a Android app but Author not respons more.
App was created to this versions:
Android 4.0, Android 4.0.3, Android 4.0.4, Android 4.1.x, Android 4.2.x, Android 4.3.x, Android 4.4.x
Now we also have 5x and 6x so my questions are:
How can i do it so it works with newest version to Android?
I have full source code for this app.
Change your build.gradle file configuration to the Android API level you're looking for.
android {
compileSdkVersion 24
buildToolsVersion "24.0.0"
defaultConfig {
applicationId "com.your.package"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
}
API:
19 - 4.4 - 4.4.x
21 - 5.0 22 - 5.1
23 - 6.0 - 6.0.1
24 - (Android Nougat)
Source
You will need to update the build.gradle to target newer versions (although the app may run fine on newer versions without it).
Moreover, you should be updating your code to explicitly request permissions for Marshmallow and Nougat, as outlined here.
Configure your build.gradle, and update targetSdkVersion to android version which you wanted.