com.android.support:appcompat-v7依赖报错问题

最近公司项目需要用到ndk ,我在project stucture→ sdk location下载了该插件,但是连番试过几次每次unzipping是都会卡主,所以干脆复制了地址在浏览器下载。下完之后将解压后的目录复制进去,然后就会发现在local.properties会多了一句ndk.dir=F\:\\SDK\\sdk\\android-ndk-r14(没有安装ndk插件是没有的)。

之后发现报出没有发现api25版本的问题,后来意识到自己电脑上studio版本是23的,也就是com.android.support:appcompat-v7:25.0.3版本过高,导致Android6.0的版本不兼容问题。

错误原因分析:在module的build.gradle文件里,如果用默认的自动依赖处理方式,如下所示

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:1.0.2'
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.0.3'
    testCompile 'junit:junit:4.12'
    compile files('src/main/libs/commons-codec-1.7.jar')
    compile files('src/main/libs/mysql-connector-java-5.1.5-bin.jar')
    compile 'com.google.code.gson:gson:2.8.0'
}
编译时系统就会去依赖最新版的support:appcompat-v7:25.0.3 。按照之前的经验来说是不因该有问题的,但是据我的理解,
目前appcompat-v7:25.0.3须使用android 7.0版本的build tool,而且build出来的程序只能在Android 7.0下运行。
所以方法很简单降低v7版本就行,我将v7包版本修改成了v7:23+版本(一般跟编译版本一致),项目就可以正常编译了。
 
  
 
  
 
    
  

你可能感兴趣的:(那些所踩过的坑)