私はいつもEclipseを使ってAndroidをプログラムしており、 Android Studio への移行を開始することにしました。私はすでにEclipse用に持っていたのと同じSDKを使うことにしました。
数秒後にGradleはビルドを終了し、ファイルTeste4\app\build\middleates /展開された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'に一致するリソースが見つかりませんでした。
[ファイル] - > [プロジェクト構造] - > [モジュール]:[app](左側の列) - > [プロパティ]タブの下に、次のバージョンが設定されています。
これを修正するために私は何をすべきですか?
Stack Overflow question APPCOMPAT-V7:21.0.0 ':指定された名前に一致するリソースが見つかりませんでした:ATTR' ANDROID:ACTIONMODESHAREDRAWABLE 'で提案されていることを既に試しましたが、そうではありません作業。
コンパイルSDKのバージョンは、サポートライブラリのメジャーバージョンと一致している必要があります。
サポートライブラリのバージョン23を使用しているので、Android SDKのバージョン23に対してコンパイルする必要があります。
あるいは、最新のサポートライブラリv22に切り替えることで、Android SDKのバージョン22に対してコンパイルを続けることができます。
これは、アップデート後にAndroid StudioがデフォルトでAPI version 2を使用するために発生します。
以下は私のために働いた:
押す Ctrl + Shift + Alt + S プロジェクト構造ページに移動します。プロパティタブを開き、ビルドツールエリアで23.0.を22.0.1(または以前に使用していたものと同等)に変更して、プロジェクトを再ビルドします。
それでもうまくいかない場合は、gradle:appに進んでください。
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:22.2.1'
上記のようにv7:23.0.をv7:22.2.1に編集し、gradleを同期します。これは間違いなくうまくいきます。
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 Platform]をクリックして、Android 6.0がダウンロードされているかどうかを確認します。
そうでなければ、それからそれを最初にダウンロードしてください。ダウンロードが完了したら、をクリックします Apply。
今度は設定からあなたのプロジェクトに変更を加える必要があります。次にを押しますCtrl + Alt + Shift + S設定を開く
あなたのプロジェクトを再構築することを忘れないでください。
その後、あなたのエラーがなくなります。
ターゲットを以前のバージョンの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に設定すると便利なことがあります。
私は前の答えに同意します。コンパイルSDKのバージョンはサポートライブラリと一致する必要があります。これが私がしたことです。
それからそれは問題なく造るべきです。
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'
}
Android {
compileSdkVersion 23
buildToolsVersion '23.0.1'
defaultConfig {
applicationId ""
minSdkVersion 14
targetSdkVersion 22
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.google.code.gson:gson:2.3.1'
compile 'com.Android.support:recyclerview-v7:23.0.0'
compile 'com.Android.support:appcompat-v7:23.0.1'
}
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を使用します。
コンパイルSDKのバージョンは、サポートライブラリのメジャーバージョンと一致している必要があります。これはあなたの問題に対する解決策です。 Gradleスクリプトの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でそれをチェックすることができます:
私の場合、それはグーグルプレイサービスのより高いバージョンでした。私はそれらを7.0.0(8.xではない)に設定しましたが、すべて問題ありませんでした。
私はAPI 23から22にダウングレードしたいと思い、このエラーを得ました。コンパイルするためにプロジェクトの all 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プラットフォームを追加する
すべきことは次のとおりです。私の場合はcordova
でしたが、ionic
、phonegap
、およびその他のフレームワークについても同様です。
cordova platform list
。あなたはこのようなものを見るでしょう:androidプラットフォームを削除します:cordova platform remove Android
。
それから特定のAndroidプラットフォームを追加します:cordova platform add [email protected]
。
がんばろう! :)
私は同じ問題を抱えています。各サブモジュールのgradle.buildを最新のコンパイラバージョンに更新することで問題を解決しました。
モジュール上: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);
}
}
別の解決策:に移動します
\sdk\extras\Android\m2repository\com\Android\support\appcompat-v7\23.x.x
7-Zipまたはwinrarで.aar
ファイルを開き、resフォルダでvalues-23
フォルダを削除して変更を保存します。
Android Studioをアップグレードします。
私はAndroid Studio 1.3.1でこの問題を抱えていて他の答えのどれも私のために働きませんでした、しかし1.5.1にアップデートした後問題がなかったです。
PhoneGap(クロスプラットフォーム)を使用していて、上記と同じ問題が発生した場合は、以下のコマンドを使用してAndroidプラットフォームを削除してください。
phonegap platform Androidを削除します
そしてもう一度追加してください。
phonegapプラットフォームでAndroidを追加
それから問題は私のために解決しました。
他の人がすでに述べたように、あなたのcompile sdk version
はあなたのsupport library's
メジャーバージョンと一致する必要があります。ただし、これはsubprojects
にも当てはまります。
その場合は、次のスクリプトを使用してsubprojects
compile 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
ファイルに追加してください。