2014-10-31 96 views
1

我刚刚创建了我的第一个android应用(第u十次)。我用比预期更高的sdk创建了该项目,现在我想降低它。我最初的Android maifest没有包含<uses-sdk>部分,所以我说:无法降级Android最低sdk

<uses-sdk 
    android:minSdkVersion="17" 
    android:targetSdkVersion="17" 
    android:maxSdkVersion="21" /> 

我也更新了我的build.gradle文件(相关部分):

defaultConfig { 
    applicationId "dkuehn.myapp.myapp" 
    minSdkVersion 17 
    targetSdkVersion 17 
    versionCode 1 
    versionName "1.0" 
} 

然而,syncrhonizing我的应用程序后,并试图跑,我的AVD的屏幕看起来是这样的: enter image description here

因此,不管是我的S5通过USB插入运行的是什么,我相信是4.2.2,这是最小的SDK模拟器(假设21实际上是在高于20 L)是comp atabile。但我仍然想降低最低sdk,所以我可以使用我的手机,而不是现在依靠模拟器。

的AndroidManifest位于/​​ build /文件夹看起来是这样的:

<uses-sdk 
    android:maxSdkVersion="21" 
    android:minSdkVersion="L" 
    android:targetSdkVersion="L" /> 

更新:的build.gradle 为的build.gradle我的依赖选项中我的编译选项有:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    //compile 'com.google.android.gms:play-services:4.2.42' 
    //compile 'com.android.support:appcompat-v7:21.+' 
} 
+0

所有的软件包在SDK管理器中更新? – 2014-10-31 20:57:42

+0

尝试从清单文件中删除uses-sdk。 – Gero 2014-10-31 20:59:20

+0

@AlexL。我必须安装哪些软件包?我最低和目标之间的每个包裹都是? – dckuehn 2014-10-31 21:01:58

回答

1

你使用某些依赖关系的开发人员预览版本,这些版本强制执行严格的'L'min和目标SDK。

查找相关性,如

compile 'com.android.support:appcompat-v7:21.0.0-rc1' 

并与已经发布的Android棒棒糖版本替换它们(这让他们从分钟SDK用于API21设备):

compile 'com.android.support:appcompat-v7:21.0.0' 
+0

在我最初的构建中,我有一些jar会抛出一些错误。我在build.gradle中分析了我的依赖关系中的罐子。你是这个意思吗?看我的编辑@ianhanniballake – dckuehn 2014-11-02 07:11:02