Как я могу изменить проект AndroidStudio на более низкий SDK
Я в настоящее время бегаю:
AndroidStudio 2.2, Android SDK 24 также доступна. Android SDK-Tools 25.2.2 Android Sdk-Platform-tools 24.03 Android sdk-build-tools 24.0.1
Когда я создаю новый пустой проект, это сборка
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.test001"
minSdkVersion 14
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:design:24.2.1'
testCompile 'junit:junit:4.12'
}
Я хотел бы предположить, что это приложение, которое может быть установлено на устройствах с 4.0 до 7.0. Как я могу изменить это так, чтобы оно работало с 2.3.3 до 6.0, все еще работая с той же установкой AndroidStudio. Также как это повлияет на другие функции, такие как google-play-services, appcompat-v7, дизайнерские версии.
2 ответа
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.test001"
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
И поменяй свою зависимость тоже
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:design:23.1.0'
На самом деле minSdkVersion 14 означает, что это приложение может работать на Android OS, версия которого выше 14, а 14 означает Android 4.0. Вы можете изменить эту строку следующим образом:minSdkVersion 10, тогда он может работать на 2.3.3 и выше. Вы также можете установить maxSdkVersion для ограничения самой высокой версии, но maxSdkVersion обычно бессмысленна.
minSdkVersion и maxSdkVersion могут ограничивать только установку приложения. Если ваше устройство имеет более низкую или более высокую версию, чем вы установили, приложение не может быть установлено на этом устройстве.
Но! Если вы хотите, чтобы приложение работало корректно на нескольких версиях ,, вы должны заботиться о разнице в версиях, которые хотите поддерживать. targetSdkVersion 24 означает, что ваше приложение очень хорошо подходит для android7, а compileSdkVersion 24 означает, что ваше приложение будет скомпилировано с этой версией SDK.
Разные версии API или функции могут иметь относительно большие изменения, или в некоторых версиях API-интерфейсы различаются. Поэтому, если вы хотите поддерживать широкую поддержку, вам нужно позаботиться о разнице между различными версиями SDK. Если api не изменяется, вы ничего не можете сделать, и он может работать хорошо. Но если api изменился, вы должны написать код для другой версии.
если вы измените compileVersion на 23, вы должны изменить этот код:
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
и библиотека поддержки работает только на некоторых версиях. Вам также следует позаботиться об этом.