今天在使用科大訊飛語音識別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的版本,避免不必要的錯誤