0

我想使用sdk版本22编译我的项目,但android studio使用版本23,所以它给出了一些错误。我使用Android Studio 1.3,我不想使用sdk 23(我有一些不赞成使用的方法,我不想在这时替换它们)。这是我的gradle这个文件:Android工作室拉错sdk版本编译项目

apply plugin: 'com.android.application' 
android { 
compileSdkVersion 22 
buildToolsVersion "22.0.1" 
defaultConfig { 
    applicationId "ir.mhealth.healthnotation" 
    minSdkVersion 16 
    targetSdkVersion 22 
    versionCode 2 
    versionName "1.0.0.1" 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 
dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 
compile 'com.android.support:appcompat-v7:22.2.0' 
compile 'com.android.support:recyclerview-v7:22.2.0' 
compile 'com.jjoe64:graphview:4.+' 
compile 'com.afollestad:material-dialogs:0.7.+' 
compile 'com.google.android.gms:play-services-analytics:7.8.0' 
} 

当我运行gradle这个依赖报告中,我得到这样的响应:

------------------------------------------------------------ 
Project :app 
------------------------------------------------------------ 

_debugAndroidTestApk - ## Internal use, do not manually configure ## No dependencies 

_debugAndroidTestCompile - ## Internal use, do not manually configure ## No dependencies 

_debugApk - ## Internal use, do not manually configure ## 
+--- com.android.support:appcompat-v7:22.2.0 -> 23.0.0 
| \--- com.android.support:support-v4:23.0.0 
|   \--- com.android.support:support-annotations:23.0.0 
+--- com.android.support:recyclerview-v7:22.2.0 -> 23.0.0 
| +--- com.android.support:support-annotations:23.0.0 
| \--- com.android.support:support-v4:23.0.0 (*) 
+--- com.jjoe64:graphview:4.+ -> 4.0.1 
| \--- com.android.support:support-v4:21.0.3 -> 23.0.0 (*) 
+--- com.afollestad:material-dialogs:0.7.+ -> 0.7.9.1 
| +--- com.android.support:support-v4:23.0.0 (*) 
| +--- com.android.support:appcompat-v7:23.0.0 (*) 
| +--- com.android.support:recyclerview-v7:23.0.0 (*) 
| \--- com.android.support:support-annotations:23.0.0 
\--- com.google.android.gms:play-services-analytics:7.8.0 
    \--- com.google.android.gms:play-services-base:7.8.0 
      \--- com.android.support:support-v4:22.2.0 -> 23.0.0 (*) 

debugCompile - ## Internal use, do not manually configure ## 
+--- com.android.support:appcompat-v7:22.2.0 -> 23.0.0 
| \--- com.android.support:support-v4:23.0.0 
|   \--- com.android.support:support-annotations:23.0.0 
+--- com.android.support:recyclerview-v7:22.2.0 -> 23.0.0 
| +--- com.android.support:support-annotations:23.0.0 
| \--- com.android.support:support-v4:23.0.0 (*) 
+--- com.jjoe64:graphview:4.+ -> 4.0.1 
| \--- com.android.support:support-v4:21.0.3 -> 23.0.0 (*) 
+--- com.afollestad:material-dialogs:0.7.+ -> 0.7.9.1 
| +--- com.android.support:support-v4:23.0.0 (*) 
| +--- com.android.support:appcompat-v7:23.0.0 (*) 
| +--- com.android.support:recyclerview-v7:23.0.0 (*) 
| \--- com.android.support:support-annotations:23.0.0 
\--- com.google.android.gms:play-services-analytics:7.8.0 
    \--- com.google.android.gms:play-services-base:7.8.0 
      \--- com.android.support:support-v4:22.2.0 -> 23.0.0 (*) 

-debugUnitTestApk - ## Internal use, do not manually configure ## 
no dependencies 

-debugUnitTestCompile - ## Internal use, do not manually configure ## 
no dependencies 

_releaApk - ## Internal use, do not manually configure ## 
+--- com.android.support:appcompat-v7:22.2.0 -> 23.0.0 
| \--- com.android.support:support-v4:23.0.0 
|   \--- com.android.support:support-annotations:23.0.0 
+--- com.android.support:recyclerview-v7:22.2.0 -> 23.0.0 
| +--- com.android.support:support-annotations:23.0.0 
| \--- com.android.support:support-v4:23.0.0 (*) 
+--- com.jjoe64:graphview:4.+ -> 4.0.1 
| \--- com.android.support:support-v4:21.0.3 -> 23.0.0 (*) 
+--- com.afollestad:material-dialogs:0.7.+ -> 0.7.9.1 
| +--- com.android.support:support-v4:23.0.0 (*) 
| +--- com.android.support:appcompat-v7:23.0.0 (*) 
| +--- com.android.support:recyclerview-v7:23.0.0 (*) 
| \--- com.android.support:support-annotations:23.0.0 
\--- com.google.android.gms:play-services-analytics:7.8.0 
    \--- com.google.android.gms:play-services-base:7.8.0 
      \--- com.android.support:support-v4:22.2.0 -> 23.0.0 (*) 

-releaseCompile - ## Internal use, do not manually configure ## 
+--- com.android.support:appcompat-v7:22.2.0 -> 23.0.0 
| \--- com.android.support:support-v4:23.0.0 
|   \--- com.android.support:support-annotations:23.0.0 
+--- com.android.support:recyclerview-v7:22.2.0 -> 23.0.0 
| +--- com.android.support:support-annotations:23.0.0 
| \--- com.android.support:support-v4:23.0.0 (*) 
+--- com.jjoe64:graphview:4.+ -> 4.0.1 
| \--- com.android.support:support-v4:21.0.3 -> 23.0.0 (*) 
+--- com.afollestad:material-dialogs:0.7.+ -> 0.7.9.1 
| +--- com.android.support:support-v4:23.0.0 (*) 
| +--- com.android.support:appcompat-v7:23.0.0 (*) 
| +--- com.android.support:recyclerview-v7:23.0.0 (*) 
| \--- com.android.support:support-annotations:23.0.0 
\--- com.google.android.gms:play-services-analytics:7.8.0 
    \--- com.google.android.gms:play-services-base:7.8.0 
      \--- com.android.support:support-v4:22.2.0 -> 23.0.0 (*) 


. 
. 
. 


wearApp - Link to a wear app to embed for object 'main'. 
No dependencies 

BUILD SUCCESSFUL 

为什么它试图用23来替换SDK 22 ???我该如何解决它?

(我应该提到,我没有任何问题,直到我决定将我的android studio升级到版本1.4。更新后,它下载了sdk 23,虽然我没有更改我的gradle文件,但是android studio试图编译项目与sdk 23,你可以看到我卸载android studio和安装旧版本,但问题并没有解决,我知道版本1.4使用sdk 23为新项目,但我的项目并不新,也使用旧版本的Android工作室现在它并没有解决我的问题)

回答

2

您正在使用一些库依赖于支持库v23

例如:

com.afollestad:material-dialogs:0.7.+ -> 0.7.9.1 
| +--- com.android.support:support-v4:23.0.0 (*) 
| +--- com.android.support:appcompat-v7:23.0.0 (*) 
| +--- com.android.support:recyclerview-v7:23.0.0 (*) 

使用支持库V23,你有api23编译,而你正在使用api22。
这是你问题的原因。

您可以:

  • 编译使用compileSdkVersion 23

  • API23改变你build.gradle排除在其他库的支持库V23。

您可以使用这样的somenthing。

compile('com.afollestad:material-dialogs:0.7.+') { 
      exclude group: 'com.android.support' 
     } 

注意。它可能会导致这个库的问题!

+0

我没有更改我的gradle文件或库,并且它们在sdk 22中没问题。在将android studio更新到新版本之前,我的系统上没有sdk版本23!或者我没有使用support-v4。 – Taher

+1

@Taher更好地阅读我的答案。问题在于您在使用支持库v23时正在使用api 22。而且,您正在使用support-v4,因为您正在使用具有此依赖性的外部库。 Android Studio不使用api 23! –

+0

你是对的,我从gradle中删除了'com.afollestad:material-dialogs:0.7。+',它工作正常,但现在我在使用该库的类中出现了一些错误。我无法理解为什么我的项目在我更新我的android studio之前很好。这些库是一样的。看来我应该用另一个库替换那个库。 – Taher