android - toolbar教學 - toolbar使用




檢索項目的父項時出錯:升級到AppCompat v23後找不到與給定名稱匹配的資源 (16)

一切都很棒,但沒有人解釋在哪裡下載SDK構建工具

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

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

幾秒鐘後,Gradle完成構建,並在文件Teste4 \ app \ build \ intermediates / explosion-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

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

我已經嘗試過Stack Overflow問題 appcompat-v7:21.0.0中的建議:找不到與給定名稱匹配的資源:attr'android:actionModeShareDrawable' ,但它不起作用。


升級Android Studio。

我有Android Studio 1.3.1的這個問題,其他答案都沒有對我有用,但在更新到1.5.1之後沒有任何問題。


在模塊:app(Gradle)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        applicationId "com.namepack.nameappxxxxx"
        minSdkVersion 16
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

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

項目:nameAppXXXX(Gradle)

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

    }
}

allprojects {
    repositories {
        jcenter()
    }
}

並將您的AppCompatActivity活動編輯為例如Activity:

package com.namepack.nameappxxxxx;


import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;

public class NameClass extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);
    }


}

如果您嘗試將目標更改為以前的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是有用的。


如果您正在使用phonegap(跨平台)並且遇到上述相同問題,請使用以下命令刪除android平台。

phonegap平台刪除android

然後再添加一次。

phonegap平台添加android

然後問題解決了我。


就我而言,它是更高版本的Google播放服務。 我將它們設置為7.0.0(而不是8.x),一切正常。


您的編譯SDK版本必須與支持庫主要版本匹配。 這是您的問題的解決方案。 您可以在 build.gradle 文件中的Gradle Scripts中 build.gradle 查看。 Fx:如果您的 compileSdkVersion 為23,則您的編譯庫必須從23開始。

  compileSdkVersion 23
    buildToolsVersion "23.0.0"
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 340
        versionName "3.4.0"
    }
dependencies {
    compile 'com.android.support:appcompat-v7:23.1.0'
    compile 'com.android.support:recyclerview-v7:23.0.1'
}

並始終檢查您的Android Studoi是否具有支持的API級別。 您可以在Android SDK中查看它,如下所示:


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

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

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


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

  1. 您可以轉到SDK Manager並在SDK Platform下安裝API級別為23的Android 5.X.
  2. 在“項目結構”下,將“編譯SDK版本”更改為API 23,將“構建工具版本”更改為23.0.0

那麼它應該沒有問題。


我想從API 23降級到22並得到此錯誤。 我必須更改項目中的 所有 build.gradle 文件才能進行編譯。

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.yourapp.app"
        minSdkVersion 14
        targetSdkVersion 22
    }
...
dependencies {
    compile 'com.android.support:appcompat-v7:22.2.1'
    compile 'com.android.support:support-v4:22.2.1'
    compile 'com.android.support:design:22.2.1'
    compile 'com.google.android.gms:play-services-gcm:10.0.1'
}

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


正如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平台

應該做的是以下......在我的情況下它是 cordova 但同樣與 ionicphonegap 和其他框架相關:

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

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

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

祝好運! :)


這是因為更新後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.0 v7: 22.2.1並同步gradle。 這肯定會奏效。


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

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

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

並且不要忘記 使用gradle文件同步項目


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

首先,檢查build.gradle中的AppCompat版本(模塊:app)即

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

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

來自SDK Manager。 如果已下載,則:

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 Manager按鈕並打開對話框。

單擊SDK Platform並檢查是否已下載Android 6.0。

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

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

  1. 點擊列表中的應用。
  2. 單擊屬性
  3. Compile SDK版本 更改為API 23
  4. Build Tools版本 更改為23.0.0

不要忘記重建您的項目。

然後你的錯誤就會消失。







gradle