我对Android开发有点新意,我想我可能犯了一个错误。我一直在build.gradle文件中使用compileSdkVersion 25
。但我希望我的应用程序能够支持Android 4.1及更高版本。
但是,当我在Android 4.1系统上运行我的应用程序时,它会立即关闭(我猜是因为它不受支持)。
我尝试将compileSdkVersion 25
更改为compileSdkVersion 16
,但这会产生很多错误(我知道原因)。开始更改Android 4.1中不支持的每个小东西都很烦人,所以..
问题: 降级Android应用程序的正确方法是什么?
当前build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "xxxx"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
resValue "string", "google_maps_key", (project.findProperty("GOOGLE_MAPS_API_KEY") ?: "")
multiDexEnabled true
useLibrary 'org.apache.http.legacy'
}
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:25.2.0'
compile 'com.google.android.gms:play-services:9.8.0'
compile 'com.google.firebase:firebase-core:9.8.0'
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support.constraint:constraint-layout:1.0.1'
}
答案 0 :(得分:2)
我在build.gradle文件中一直使用compileSdkVersion 25。但我希望我的应用程序能够支持Android 4.1及更高版本。
注意。
compileSdkVersion
是用于编译应用的Android SDK版本,不会改变运行时行为,因为您的compileSdkVersion
未包含在您的APK中 。
强烈建议您始终使用最新SDK 进行编译
这也意味着使用compileSdk = 16对你没有帮助。
问题:降级Android应用程序的正确方法是什么?
如果问题是如何构建一个也可以在Android 4.1上运行的应用程序,那么答案一般是在可能的支持库的地方使用,并检查所有需要的方法minSDK> 16。
在您的情况下,您应该检查logcat中的错误 没有一种简单的方法可以做到。
答案 1 :(得分:-1)
为此,请设置
minSdkVersion 16
在build.gradle中并在模拟器中使用Jelly Bean(API 16)运行应用程序。但是API 16中不支持某些库。例如,当您想要对应用程序使用可穿戴小部件支持时,您的API级别必须为20或更高。