2017-04-03 69 views
5

Theme.AppCompat.Light.DarkActionBar不在styles.xml中編譯。我在應用模塊的 build.gradle中添加了compile 'com.android.support:appcompat-v7:25.1.0'Theme Error無法解析styles.xml中的符號'Theme.AppCompat.Light.DarkActionBar'

我在谷歌搜索解決方案。其中很多是關於更改Project的build.gradle中的類路徑,仍然顯示相同的錯誤。

build.gradle 

dependencies { 
    compile 'com.android.support:appcompat-v7:25.1.0' 
    compile 'com.android.support:design:25.1.0' 
    compile 'com.android.support:support-annotations:25.1.0' 
    compile 'com.android.support:cardview-v7:25.1.0' 
    compile 'com.android.support:recyclerview-v7:25.1.0' 
    // compile 'ch.acra:acra:4.5.0' 

    testCompile 'junit:junit:4.12' 
} 

android { 
    compileSdkVersion 25 
    buildToolsVersion '25.0.2' 

    defaultConfig { 
     minSdkVersion 14 
     targetSdkVersion 25 
     versionCode = 146 
     versionName = "0.6.65" 
    } 
+1

嘗試清理該項目並重建 –

+0

是否也如此,仍然存在。 – Arun

+0

發佈你的gradle以及 –

回答

8

你的build.gradle版本就是錯誤的版本。

按照以下說明修復:

  • 在Android Studio中,轉到搖籃腳本部分在左側面板中。
  • 找到文件:build.gradle(Project:{your_project_name})
  • 在這個文件看看行com.android.tools.build:gradle
  • 檢查版本匹配您的Android Studio版本(例如2.3.3)。這意味着com.android.tools.build:gradle:2.3.3和And 2.3.3版本的Android工作室版本。
  • 驗證版本是一樣的。如果不是這種情況,請確保它們匹配。
  • 重建項目,一切都很好!
+0

這是什麼解決了我的問題,謝謝 – Tony

0

檢查你的build.gradle文件,將compileSdkVersion設置爲25。 以下gradle這個工作對我來說與程序兼容性-V7:25.1.0'

android { 
    compileSdkVersion 25 
    buildToolsVersion "25.0.0" 
    defaultConfig { 
     applicationId "xxx.xx.xxxxx" 
     minSdkVersion 16 
     targetSdkVersion 21 
     versionCode 26 
     versionName "3.16" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    //compile 'com.google.firebase:firebase-messaging:9.0.1' 
    compile 'com.android.support:appcompat-v7:25.1.0' 
} 
+0

compileSdkVersion 25 buildToolsVersion '25 .0.2'。它已經超過23. – Arun

+0

我檢查了buildToolsVersion '25.0.0',在Android Studio項目中,它正在工作,檢查。 –

+0

我正在使用buildToolsVersion '25 .0.2'。和compileSdkVersion 25.我錯過了什麼? – Arun

0
compile 'com.android.support:appcompat-v7:23.4.0' 

試試這個

+0

這不起作用。沒有運氣。 – Arun

+1

* http://stackoverflow.com/questions/17870303/ide-cannot-resolve-style-theme-appcompat-when-using-v7-compatibility-support*按照它可能會幫助更詳細 –

+0

這工作。但我認爲它更多的是解決方案。不管怎樣,謝謝。 http://stackoverflow.com/a/17885102/6546446 – Arun

0

在style.xml文件變化<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"></style>

+0

號:(請參考這個。http://stackoverflow.com/a/17885102/6546446 – Arun

3

我有完全相同的問題,對我來說固定的東西是退化的gradle插件:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     //classpath 'com.android.tools.build:gradle:2.3.1' 
     classpath 'com.android.tools.build:gradle:2.2.3' 
    } 
} 

接下來是一個與gradle文件同步的項目來清除問題。

+0

由於某些原因,從2.3.3切換到2.2.3解決了我的問題。 – chntgomez

1
<style name="Theme.Base.MyTheme" parent="Theme.AppCompat.Light.NoActionBar"> 

在情況下,當清潔/重建不行,只是刪除.gradle目錄在您的項目根。並再次與Gradle同步項目。

當您混合支持庫的緩存時,會導致此問題。

1

我注意到可以使用前綴@android:style/可用的所有主題。所以,我通過更換

Theme.AppCompat.Light.DarkActionBar

@android:style/Theme.DeviceDefault.Light.DarkActionBar

+0

這爲我解決了這個問題 – Adamski

0

我所做的一切,已接受的答案被提出,並沒有幫助解決了這個問題。然後我按照這個答案中的建議做了一切:Android studio cannot find Theme.AppCompat.Light.DarkActionBar(啓用了Repository中的所有組件)並且它也沒有幫助。

該問題只有在點擊文件菜單中的「同步」後才能解決。我在Mac上運行Android 3.0.1。

enter image description here

-1

我此修復程序是刪除文件夾.gradle在我的項目的根目錄,然後單擊文件,然後點擊「同步」。之後一切都奏效了。

+0

你應該清楚什麼是「試過上面」的意思,你可以直接鏈接到你發現沒有工作的答案 – jdv

+0

這不提供回答這個問題,一旦你有足夠的[聲望](https://stackoverflow.com/help/whats-reputation),你將能夠[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-我能做什麼 - 而不是) - [來自評論](/ review/low-quality-posts/18942058) – JMax