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

时间:2014-09-14 08:15:40

标签: android android-5.0-lollipop material-design

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

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

  

失败[INSTALL_FAILED_OLDER_SDK]

我在stackoverflow Failure [INSTALL_FAILED_OLDER_SDK] Android-L上看过很多线程,但这并没有回答我的问题。

我正在测试Android 4.4.4上的应用。我不想针对API 19编译项目。我想要我的应用程序的材料主题以及我想使用Android L中添加的新api。

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

的build.gradle

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>

values-21 - styles.xml

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

提前致谢。

1 个答案:

答案 0 :(得分:0)

如其他SO答案以及http://developer.android.com/preview/setup-sdk.html的官方文档中所述。

你必须使用:

minSdkVersion 'L'

在您的build.gradle中,您必须在设备中使用Android-L 或使用 Android-L 的模拟器运行该应用。

您正在使用 minSdkVersion 15 ,这是您出错的原因。

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

材质主题,目前仅适用于api&gt; = 21(并且您使用的是值-v21文件夹),因此较低的Android版本将继续使用Holo主题运行。

测试它的最佳方法(没有解决方法)是使用 2种不同的风格,使用api-19和4.4.x的设备以及api-21测试app带有android-L的设备。