在编译工程时,报了一个令人费解的错误,说是layout里的资源文件找不到,通过路径可以点击到对应资源的文件下,但就是报资源找不到的错误。

对应的在文件下可以找到对应的png文件,也没有标红,文件显示正常,layout中也调用正常,也未标红,但就是莫名其妙的报错。

解决历程

当然也在网上找了许多解决方法,将R文件删除重新生成,尝试过后结果还是出乎意料的相同,查看资源文件,查看xml的头是否出现两次,也没有出现此类错误,我怎么能犯这么低级的错误呢,最后尝试了clean以及重启大法,甚至都把文件删除了再导入,居然都没有办法解决此问题,我呆了。

最终解决

最后偶然看到这个,部分文件似乎是有对应的要求的,然后才反应过来自己的minSdkVersion是19,于是将我的版本改为27,编译成功!!!原因不太了解,大概是有些资源文件需要更高的api版本,有时候还是需要分析出原因再解决问题比较好,有更加清楚的可以告知一下,以此记录一下遇到的BUG,如有错误,请指正。

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.0"
    defaultConfig {
        applicationId "com.example.test1"
        minSdkVersion 27
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐