No resource found that matches t

作者: AntDream | 来源:发表于2017-10-26 09:32 被阅读27次

    问题原因出在Gradle里面

    android {
        compileSdkVersion = 23
        targetSdkVersion = 22
        minSdkVersion = 17
        buildToolsVersion = '25.0.2'
    }
    
    dependencies {
        //省略其他
        compile 'com.android.support:design:25.3.1'
        //省略其他
    }
    
    • 问题的原因是support:design包的版本与项目编译的版本compileSdkVersion不一致

    解决办法

    将compileSdkVersion调整与support:design包一致,compileSdkVersion = 25即可

    minSdkVersion、 targetSdkVersion和compileSdkVersion

    • minSdkVersion比较好理解,就是限制最小的可安装版本,比如设置了minSdkVersion为17,那对应手机系统是Android4.2,也就是说比Android4.2系统版本还要低的手机将无法安装你的应用
    • compileSdkVersion也比较好理解,就是你项目编译时候用的SDK版本,compileSdkVersion设置成最新的可以使用最新的特性
    • targetSdkVersion这个有点不好理解,就是兼容的目标版本,比如targetSdkVersion设置为22,对应的手机系统版本是Android5.1。这得分2种情况:
      • 用户手机的系统版本比Android5.1版本高,如果App中用到了更改过的API,那么系统会向下兼容,仍然按照Android5.1版本的API来
      • 如果用户的系统版本比Android5.1低,且你的App用到了高本版才有的API,而又没有做特殊处理,那么App就会报错,甚至奔溃。
      • 我们在开发App的过程中,如果用到了高版本才有的API,Android Studio的代码提示工具就会出现警告,我们就需要做特殊处理了

    其他

    android.support:design是Google推出的Material Design相关的支持库,里面提供了规范的MD设计风格的控件,而且一直兼容到Android 2.2。


    欢迎关注我的微信公众号,期待与你一起学习,一起交流,一起成长!


    AntDream

    相关文章

      网友评论

        本文标题:No resource found that matches t

        本文链接:https://www.haomeiwen.com/subject/glyhpxtx.html