android toolbar教學 檢索項目的父項時出錯:升級到AppCompat v23後,找不到與給定名稱匹配的資源




toolbar使用 (19)

我一直使用Eclipse編寫Android程序,並決定開始遷移到Android Studio 。 我決定使用我已經用於Eclipse的相同SDK,然後:

  • 開始一個新項目
  • 設置最低SDK 4.0(API等級14)
  • 選擇空白活動選項
  • 使用活動名稱和佈局名稱的默認名稱
  • 點擊完成

幾秒鐘後,Gradle完成構建,並在文件Teste4 \ app \ build \ intermediates / exploded-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values中引發了兩個錯誤消息-v23 \價值觀v23.xml:

錯誤:(2)檢索父項的錯誤:找不到與給定名稱'android:TextAppearance.Material.Widget.Button.Inverse'匹配的資源。

錯誤:(2)錯誤檢索項的父項:找不到與給定名稱'android:Widget.Material.Button.Colored'相匹配的資源。

文件 - >項目結構 - >模塊:應用程序(左列) - >屬性選項卡下 ,我設置了以下版本:

  • “編譯Sdk版本”:Android 5.1(API等級22)
  • “構建工具版本”:23.0.2

我應該怎麼做才能解決這個問題?

我已經嘗試了什麼建議在堆棧溢出問題appcompat-v7:21.0.0':沒有找到資源匹配給定的名稱:attr'android:actionModeShareDrawable' ,但它沒有奏效。


引發此問題是因為編譯SDK版本必須與Android支持庫的主要版本匹配。

在我的情況下,我有Android Support Library版本23,所以我不得不根據Android SDK version 23進行編譯,並且必須在build.gradle文件中更改它:

那麼你們中的一些人需要安裝SDK, Android 6.0 (API 23)

並且不要忘記將項目與Gradle文件同步


您需要將compileSdkVersion設置為23。

由於API 23 Android刪除了棄用的Apache Http包,因此如果您將它們用於服務器請求,則需要將useLibrary'org.apache.http.legacy 'org.apache.http.legacy'添加到build.gradle如以下鏈接所述:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

    //only if you use Apache packages
    useLibrary 'org.apache.http.legacy'
}

我同意以前的答案。 您的編譯SDK版本必須與支持庫匹配。 這是我做的。

  1. 您可以前往SDK Manager並在SDK Platform下安裝API 23級的Android 5.X。
  2. 在項目結構下,將編譯SDK版本更改為API 23,並將生成工具版本更改為23.0.0

那麼它應該沒有問題。


您的編譯SDK版本必須與支持庫的主要版本相匹配。

由於您使用的是支持庫的版本23,因此需要根據Android SDK的版本23進行編譯。

或者,您可以通過切換到最新的支持庫v22繼續編譯Android SDK的22版。


您應該使用最新版本編譯項目,以便從SDK中更新和安裝。 sync project with Gradle file按鈕同步您的項目和sync project with Gradle file
您也可以繼續使用現有版本,但請檢查它是否正確安裝在圖像下方,以便正確安裝。

並根據需要同步您的項目。

它可能有所幫助。


如果即使在下載最新的SDK和Android Studio後仍然收到錯誤,以下是我所做的:

  1. 下載最新的SDK
  2. 打開文件 - 項目結構( Ctrl + Alt + Shift + S
  3. 在模塊中,選擇應用程序
  4. 在屬性選項卡中:將編譯SDK版本更改為API 23 Android 6.0棉花糖(最新版)

我希望它能幫助別人,這樣他就不會像我這兩天那樣受苦了。


我找到了解決方案,問題在更新sdk時開始,之後我使用了不同的buildToolsVersion('22 .0.1'),並且我使用了不同的支持庫,例如compile'c​​om.android.support:appcompat-v7:23.0.0 ' ,在下面的圖片中顯示你

這引起了“ android.widget.Material ...”的問題。然後,我使用了相同版本的支持庫,如compile'c​​om.android.support:appcompat-v7:22.0.1'和它的DONE。 (在屏幕截圖中顯示你)


當你更新你的Android Studio時,它默認使用API​​版本23,這是它發生的主要原因。 所以,

首先,在build.gradle(Module:app)中檢查AppCompat版本。也就是說,

如果更改為23後出現錯誤,則只需下載

Compile Sdk Version to API 23, and Build Tools Version to 23.0.0

來自SDK管理器。 如果已經下載,則:

1. Go to SDK Manager and
2. Under Project Structure, change *Compile SDK Version* to API 23, and *Build Tools Version* to 23.0.0

點擊SDK管理器按鈕並打開對話框。

點擊SDK平台並檢查是否下載了Android 6.0。

如果沒有,那麼先下載。 完成下載後,單擊應用

現在您需要從設置中將更改應用於您的項目。 然後按Ctrl + Alt + Shift + S打開設置

  1. 點擊列表中的應用。
  2. 點擊屬性
  3. 將您的編譯SDK版本更改為API 23
  4. 將您的構建工具版本更改為23.0.0

不要忘記重建你的項目。

那麼你的錯誤將會消失。


一切都很好,但你們都沒有解釋下載SDK構建工具的位置


如果你正在使用phonegap(跨平台),並得到同樣的問題,只需使用下面的命令刪除android平台。

phonegap平台刪除android

並再次添加它。

phonegap平台添加android

然後問題解決了我。


我也遇到了同樣的問題。 我通過更新每個子模塊的gradle.build到最新的編譯器版本來解決我的問題。


如果您嘗試將目標更改為以前的GooglePlayServices或AppCompatv7版本,並且無法使用,請檢查您是否有任何項目庫依賴項,該項目將針對這些庫中的任何一個的最新版本。 Google Maps Utils Library項目發生在我身上:

更換:

compile 'com.google.android.gms:play-services:+'

compile 'com.google.android.gms:play-services:8.3.0'

然後,您可以繼續完整定位API 22

如果它仍然不能編譯,有時將compileSdkVersion API設置為23並將targetSdkVersion設置為22是有用的。


正如Tanis.7x指出的那樣,支持庫版本(23)與targetSdkVersion(22)不匹配,

您可以通過執行以下操作來解決此問題:

在應用程序模塊的build.grade文件中,更改以下代碼行

compile 'com.android.support:appcompat-v7:23.0.0'

compile 'com.android.support:appcompat-v7:22.+'

這將使用與SdkVersion 22兼容的最新版本的appcompat版本。


升級Android Studio。

我在Android Studio 1.3.1中遇到過這個問題,其他答案都沒有為我工作,但在更新到1.5.1之後沒有任何問題。


這對我有幫助: 添加特定的android平台

應該做什麼是以下...在我的情況下,它是cordova但同樣是ionicphonegap和其他框架,如這些相關:

  1. 列出為您的項目安裝的所有平台: cordova platform list 。 你會看到這樣的東西:

  1. 刪除android平台: cordova platform remove android

  2. 然後添加特定的android平台: cordova platform add [email protected]

祝你好運! :)


確保所有這些都是最新的。


另一種解決方案:導航到

\sdk\extras\android\m2repository\com\android\support\appcompat-v7\23.x.x

使用7-zip或winrar打開.aar文件,在res文件夾中刪除values-23文件夾並保存更改。


就我而言,這是Google-play-services的更高版本。 我將它們設置為7.0.0(不是8.x),一切正常。


發生這種情況是因為更新後Android Studio默認使用API版本23

以下為我工作:

Ctrl + Shift + Alt + S進入項目結構頁面。 轉至“屬性”選項卡,並在構建工具區域中將 23.0.0更改為22.0.1 (或等效於之前使用的內容)並重建項目。

如果這不起作用,請轉到gradle:app然後

compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.1'

如上所示編輯v7:23.0.0v7: 22.2.1並同步gradle。 這一定會奏效。







gradle