如何针对Android L&;编译项目;应兼容较低的android版本

如何针对Android L&;编译项目;应兼容较低的android版本,android,android-5.0-lollipop,material-design,Android,Android 5.0 Lollipop,Material Design,我正在学习谷歌最近推出的材料设计。我正在使用Android Studio编写我的应用程序代码 当我构建项目时,它不会在我的代码中显示任何错误,但在最后我每次都会收到相同的错误消息 失败[安装\u失败\u旧的\u SDK] 我在stackoverflow上看到了很多线程,但这并没有回答我的问题 我正在安卓4.4.4上测试一个应用程序。我不想根据API 19编译这个项目。我想有我的应用程序的材料主题,以及我想使用新的api中添加的安卓L 如何能够针对较低版本的Android L编译项目 格雷德尔先生

我正在学习谷歌最近推出的材料设计。我正在使用Android Studio编写我的应用程序代码

当我构建项目时,它不会在我的代码中显示任何错误,但在最后我每次都会收到相同的错误消息

失败[安装\u失败\u旧的\u SDK]

我在stackoverflow上看到了很多线程,但这并没有回答我的问题

我正在安卓4.4.4上测试一个应用程序。我不想根据API 19编译这个项目。我想有我的应用程序的材料主题,以及我想使用新的api中添加的安卓L

如何能够针对较低版本的Android L编译项目

格雷德尔先生

apply plugin: 'com.android.application'

android {
    compileSdkVersion 'android-L'
    buildToolsVersion "20.0.0"

    defaultConfig {
        applicationId "multipanelayout.example.com.multipanelayoutdemo"
        minSdkVersion 15
        targetSdkVersion 'L'
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
values-styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material.Light">
    </style>
</resources>

values-21-styles.xml

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar">
        <!-- Customize your theme here. -->
    </style>

</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="android:Theme.Material.Light">
    </style>
</resources>


提前感谢。

如其他SO答案和官方文件中所述

您必须使用:

minSdkVersion 'L'
在你的
build.gradle
中,你必须在Android-L设备或Android-L模拟器中运行应用程序

您正在使用MinsdkVersion15,这是您出错的原因

这不是一个bug,但这是因为这些API不是最终的。这是一种防止在最终API 21上安装应用程序的方法

material主题,目前仅适用于api>=21(并且您正在使用values-v21文件夹),因此较低版本的android将继续使用Holo主题运行


最好的测试方法(无需变通)是使用2种不同的风格,用api-19和4.4.x的设备,以及api-21和android-L的设备来测试你的应用程序。

好吧,但谷歌在他们的google io 2014应用程序中是如何做到的?google play中的google io没有api-L,也没有使用材料主题。您可以在gihtub中查看源代码。他们用了两种不同的口味。只有预览版才使用这个主题。所以一旦他们确认了所有api,我们开发人员就可以为较低的android操作系统级别进行材料设计,对吗?请解释-这是一种防止在最终api 21上安装应用程序的方法。或者它应该是这样的:一种防止在android L下安装应用程序的方法?