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.
Related
My minSDK version is 16 and my targetSDK version is 27. The compileSDK version is 28.
Since the targetSDK version is 27 it should run on Oreo(8.0.0) without issues but some of the features don't work as intended. However they do work fine on Nougat.
Why is this so?
The targetSDK is stating what you built in the app to be able to handle. So, there might be a new feature in API 28 and you're saying your code was build against API 27 so if you're running on API 28 and there is support on 28 for how you used the api before, then it will try to maintain your API 27 coded behavior. There still exists the possibility your API 27 code will result in different or wrong behavior if run on API 28 though.
Please review the documentation as well:
https://developer.android.com/guide/topics/manifest/uses-sdk-element
"To maintain your application along with each Android release, you should increase the value of this attribute to match the latest API level, then thoroughly test your application on the corresponding platform version."
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 an app which uses a library module, both having targetSdkVersion 21.
Now I want to make my app marshmallow compatible. So while updating my app's targetSdkVersion to 23, do I need to update library module also ?
It is good practice to always target the latest SDK available. If you upgrade your app's targetSdkVersion to 23, but leave your library's targetSdkVersion in 21, resources coming from the library will be styled targeting 21 even though you might be running on 23.
I'm very new to Android development and this is one of my first projects. I realized that my API Level is set to 20 when datepicker gave an "exception rasied during rendering" error.
I wanted to change the API level to 19 as the API 20 is set to wearable devices. I have installed the API 19 SDK but it doesnt appear for selection during development.
I have also tried to set -
minSdkVersion 10
targetSdkVersion 20
on build gradle but it doesn't work.
I cannot run the emulator as the API is set to 20 and it will display error on a watch :(
How do I set make the API 19 as one of the options during development as I already installed the SDK?
Set
compileSdkVersion 19
in your build.gradle.
minSdkVersion and targetSdkVersion control app installation and runtime backwards compatibility modes, not the SDK you build with.