Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Failure [INSTALL_FAILED_OLDER_SDK] Android-L

I'm trying to use the new CardView from Android L. I updated everything in the SDK manager, but I keep getting the following error:

Failure [INSTALL_FAILED_OLDER_SDK]

This is my build.gradle file:

apply plugin: 'android'  android {     compileSdkVersion 'android-L'     buildToolsVersion '20.0.0'      defaultConfig {         applicationId "www.thomascbeerten.com.nieuwetests"         minSdkVersion 8         targetSdkVersion 20         versionCode 1         versionName "1.0"     }     buildTypes {         release {             runProguard false             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'         }     } }  dependencies {     // Support Libraries     compile 'com.android.support:support-v4:19.1.0'     compile 'com.android.support:appcompat-v7:19.1.0'     compile 'com.android.support:gridlayout-v7:19.1.0'     compile 'com.android.support:mediarouter-v7:19.1.0'     // compile 'com.android.support:support-v13:19.1.0'     compile 'com.android.support:recyclerview-v7:+' } 
like image 434
TomCB Avatar asked Jun 27 '14 17:06

TomCB


2 Answers

Recently there was a post here regarding the L SDK's incompatibility with prior versions of Android. I've been digging in AOSP repositories for quite a few hours now, and determined that the tools behave this way because they are designed to treat preview platforms differently. If you compile against a preview SDK (android-L), the build tools will lock minSdkVersion and targetSdkVersion to that same API level. This results in the produced application being unable to be installed on devices running older releases of Android, even if your application isn't doing anything specific to L. To make matters worse, the new support libs (CardView, RecyclerView, Palette, etc.) are also locked into the L API level, even though--according to their repository names--they should work on API level 7 just fine (and they do!).

See my Reddit post about this here, with a workaround.

like image 81
Eddie Avatar answered Oct 11 '22 20:10

Eddie


Once you have the above issues resolved as mentioned by Eddie. You might also run into another error;;

Error:Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Material.Light'. 

This will be present in your styles.xml . The quick fix is to replace it with the following below:

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

like image 35
Skillachie Avatar answered Oct 11 '22 20:10

Skillachie