降级Android应用的正确方法是什么?

时间:2017-03-20 11:23:34

标签: android android-gradle android-support-library downgrade

我对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'
}

2 个答案:

答案 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或更高。