Android:Gradle報錯——No resource found that matches the given name (at 'dialogCornerRadius' with value '?android:attr/dialogCornerRadius')


今天在使用科大訊飛語音識別SDK進行語音識別功能實現時,莫名的引入了這個錯誤。不得不吐槽Android Studio再引入別的包時太容易出現沖突,然后導致無法找到R文件,項目無法執行。

1. 具體報錯

app/build/intermediates/res/merged/debug/values-v28/values-v28.xml Error:(7, 41) No resource found that matches the given name (at 'dialogCornerRadius' with value '?android:attr/dialogCornerRadius'). 
...
Error:Execution failed for task ':app:processDebugResources'. com.android.ide.common.process.ProcessException: Failed to execute aapt

 

2. 報錯原因

在build項目時默認使用了values-v28下的style.xml,但無法找到與該style.xml相匹配的資源

 

3. 解決辦法

修改build.gradle文件,取消動態依賴,指定特定版本的依賴

PS:最好將所有引用的包都改成同一版本的依賴

修改前:

compileSdkVersion 26
buildToolsVersion '26.0.2'
targetSdkVersion 26
compile 'com.android.support:recyclerview-v7:+'
compile 'com.android.support:appcompat-v7:+'

修改后:

compileSdkVersion 26
buildToolsVersion '26.0.2'
targetSdkVersion 26
compile 'com.android.support:recyclerview-v7:26.0.2'
compile 'com.android.support:appcompat-v7:26.0.2'

 

使用“+”時,會自動使用最新版本的values進行build,所以最好指定SDK的版本,避免不必要的錯誤

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM