android - 解除 - 保護 者 向け google ファミリー リンク




アイテムの親の取得エラー:AppCompat v23にアップグレードした後、指定された名前に一致するリソースが見つかりませんでした (16)

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'
}

私は常にAndroidをEclipseでプログラミングしており、 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に次のメッセージを含む2つのエラーをスローします-v23 \ values-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にアップデートした後は問題はありませんでした。


compileSdkVersionを23に設定する必要があります。

API 23 Androidは非推奨のApache Httpパッケージを削除したため、サーバーリクエストに使用する場合、次のリンクに記載されているようにuseLibrary 'org.apache.http.legacy'build.gradle に追加する必要があります。

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"
    ...

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

phonegap(クロスプラットフォーム)を使用していて、上記と同じ問題が発生した場合は、以下のコマンドを使用してAndroidプラットフォームを削除してください。

phonegap platform remove android

そして再び追加します。

phonegapプラットフォームはアンドロイドを追加します

その後、問題は解決しました。


これは、更新後に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ビルドツールをダウンロードする場所を説明した人はいませんでした


コンパイルSDKのバージョンは、サポートライブラリのメジャーバージョンと一致する必要があります。

サポートライブラリのバージョン23を使用しているため、Android SDKのバージョン23に対してコンパイルする必要があります。

または、最新のサポートライブラリv22に切り替えて、Android SDKのバージョン22に対するコンパイルを続行できます。


ターゲットを以前の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に設定すると便利な場合があります。


モジュール上: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のアクティビティを、たとえばアクティビティに編集します。

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);
    }


}

他の人がすでに述べたように、 compile sdk versionsupport library's メジャーバージョンと一致する必要があります。 ただし、これは subprojects にも関係します。

その場合、次のスクリプトを使用して subprojects SDKバージョンをコンパイルするように設定できます。

subprojects { subproject ->
afterEvaluate{
    if((subproject.plugins.hasPlugin('android') || subproject.plugins.hasPlugin('android-library'))) {
        android {
            compileSdkVersion rootProject.ext.compileSdkVersion
            buildToolsVersion rootProject.ext.buildToolsVersion
        }
      }
   }
}

このスクリプトをルート build.gradle ファイルに追加します。


前の答えに同意します。 コンパイルSDKバージョンは、サポートライブラリと一致する必要があります。 これが私がしたことです。

  1. SDKマネージャーに移動し、SDKプラットフォームで、APIレベル23のAndroid 5.Xをインストールできます。
  2. プロジェクト構造で、コンパイルSDKバージョンをAPI 23に変更し、ビルドツールバージョンを23.0.0に変更します。

その後、問題なくビルドされるはずです。


同じ問題が発生しました。 各サブモジュールのgradle.buildを最新のコンパイラバージョンに更新することで問題を解決しました。


私の場合、それはGoogle-play-servicesの上位バージョンでした。 私はそれらを7.0.0(8.xではなく)に設定しましたが、すべて大丈夫でした。


私は解決策を見つけました、問題はsdkを更新したときに開始し、その後異なる buildToolsVersion(「22.0.1」) を使用し、 compile 'com.android.support:appcompat-v7:23.0.0'の ような異なる サポート ライブラリを使用していました下の画像であなたを示しています

これは、「 android.widget.Material ...」の問題を 引き起こし ていました。それから、 コンパイル 'com.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のコンパイルバージョンがAndroidサポートライブラリのメジャーバージョンと一致する必要があるために発生します。

私の場合、 Android Support Library バージョン23があるため、 Android SDK version 23 に対してコンパイルする必要があり、 build.gradle ファイルでこれを変更する必要がありました。

さて、 Android 6.0 (API 23) SDKをインストールする必要があります

プロジェクトをgradleファイル 同期する ことを忘れないでください





gradle