Ich habe Android immer mit Eclipse programmiert und beschlossen, zu Android Studio zu migrieren. Ich entschied mich für das gleiche SDK, das ich bereits für Eclipse hatte, und dann:
Nach wenigen Sekunden beendet Gradle den Build und es werden zwei Fehler mit den folgenden Meldungen in der Datei Teste4\app\build\intermediates/exploded-aar\com.Android.support\appcompat-v7\23.0.0\res\values ausgegeben -v23\values-v23.xml:
Fehler: (2) Fehler beim Abrufen des übergeordneten Elements für Element: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen "Android: TextAppearance.Material.Widget.Button.Inverse" übereinstimmt.
Fehler: (2) Fehler beim Abrufen des übergeordneten Elements für Element: Es wurde keine Ressource gefunden, die mit dem angegebenen Namen "Android: Widget.Material.Button.Colored" übereinstimmt.
Unter Datei -> Projektstruktur -> Module: App (linke Spalte) -> Registerkarte Eigenschaften habe ich folgende Versionen eingerichtet:
Was muss ich tun, um das zu beheben?
Ich habe bereits ausprobiert, was in der Stack Overflow-Frage appcompat-v7: 21.0.0 ') vorgeschlagen wurde. Es wurde keine Ressource gefunden, die mit dem angegebenen Namen übereinstimmt: attr' Android: actionModeShareDrawable ', aber es wurde nicht gefunden Arbeit.
Ihre Kompilierungs-SDK-Version muss mit der Hauptversion der Unterstützungsbibliothek übereinstimmen.
Da Sie Version 23 der Support-Bibliothek verwenden, müssen Sie die Version 23 des Android-SDKs verwenden.
Alternativ können Sie auch mit der Version 22 des Android SDK kompilieren, indem Sie zur neuesten Support-Bibliothek v22 wechseln.
Dies liegt daran, dass Android Studio nach Updates standardmäßig API-Version 2 verwendet.
Folgendes hat für mich funktioniert:
Drücken Sie Ctrl + Shift + Alt + S um zur Projektstrukturseite zu gelangen. Wechseln Sie zur Registerkarte "Eigenschaften" und ändern Sie 23.0. in 22.0.1 (oder ein Äquivalent zu dem, was Sie zuvor verwendet haben) im Werkzeugbereich "Erstellen" und erstellen Sie Ihr Projekt neu.
Wenn das nicht funktioniert, gehe zu gradle: app und dann
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:22.2.1'
Bearbeiten Sie v7: 23.0. zu v7: 22.2.1 wie oben gezeigt und synchronisieren Sie gradle. Das wird auf jeden Fall funktionieren.
Wenn Sie Ihr Android Studio aktualisieren, wird standardmäßig die API-Version 23 verwendet. Dies ist der Hauptgrund für das Auftreten. Also,
Überprüfen Sie zunächst Ihre AppCompat-Version in build.gradle (Modul: app).
Wenn nach dem Wechsel auf 23 ein Fehler auftritt, laden Sie ihn einfach herunter
Compile Sdk Version to API 23, and Build Tools Version to 23.0.0
vom SDK Manager. Wenn bereits heruntergeladen, dann:
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
Klicken Sie auf die Schaltfläche SDK-Manager und öffnen Sie den Dialog.
Klicken Sie auf SDK Platform und prüfen Sie, ob Android 6.0 heruntergeladen wurde oder nicht.
wenn nicht, dann lade das zuerst herunter. Klicken Sie nach Abschluss des Downloads auf Apply.
Jetzt müssen Sie die Änderungen von der Einstellung an auf Ihr Projekt anwenden. Dann drücken Sie Ctrl + Alt + Shift + S zum Öffnen der Einstellung
Vergessen Sie nicht, Ihr Projekt neu zu erstellen.
Dann ist Ihr Fehler behoben.
Wenn Sie versucht haben, das Ziel in eine frühere Version von GooglePlayServices oder AppCompatv7 zu ändern, und es nicht funktioniert, überprüfen Sie, ob eine Abhängigkeit von Projektbibliotheken besteht. In diesem Projekt wird die neueste Version dieser Bibliotheken verwendet. Es ist mir mit dem Google Maps Utils Library-Projekt passiert:
ersetzen:
compile 'com.google.Android.gms:play-services:+'
zu
compile 'com.google.Android.gms:play-services:8.3.0'
Dann können Sie die vollständige Targeting-API 22 fortsetzen
Wenn es immer noch nicht kompiliert werden kann, ist es manchmal nützlich, die CompileSdkVersion-API auf 23 und targetSdkVersion auf 22 zu setzen.
Ich stimme der vorherigen Antwort zu. Ihre Kompilierungs-SDK-Version muss mit der Unterstützungsbibliothek übereinstimmen. Hier ist was ich getan habe.
Dann sollte es ohne Probleme bauen.
Sie müssen compileSdkVersion auf 23 setzen.
Da API 23 Android die veralteten Apache Http-Pakete entfernt hat. Wenn Sie sie für Serveranforderungen verwenden, müssen Sie useLibrary 'org.Apache.http.legacy'
zu build.gradle
hinzufügen.
Android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
...
//only if you use Apache packages
useLibrary 'org.Apache.http.legacy'
}
Dieses Problem tritt auf, weil die Kompilierungs-SDK-Version jetzt mit der Hauptversion der Android Support-Bibliothek übereinstimmen muss.
In meinem Fall habe ich die Android Support Library
-Version 23, also musste ich gegen den Android SDK version 23
kompilieren, und ich musste dies in meiner build.gradle
-Datei ändern:
Einige von Ihnen müssen das SDK installieren, Android 6.0 (API 23)
und vergessen Sie nicht, Sync-Projekt mit Gradle-Dateien
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'
}
Sie sollten Ihr Projekt mit der neuesten Version kompilieren, also aktualisieren und von Ihrem SDK installieren. Synchronisieren Sie Ihr Projekt mit dem sync project with Gradle file
Button.
Sie können auch mit der vorhandenen Version fortfahren. Überprüfen Sie jedoch, ob die unter dem Image ordnungsgemäß installierte Version der API 22 korrekt ist.
Und synchronisieren Sie Ihr Projekt bei Bedarf.
es kann helfen.
Ich habe die Lösung gefunden. Das Problem wurde bei der Aktualisierung von sdk gestartet. Danach habe ich verschiedene buildToolsVersion ('22 .0.1 ') verwendet und verschiedene support -Bibliotheken wie compile' com.Android.support verwendet : appcompat-v7: 23.0.0 ', die Sie in der Abbildung unten zeigt
Dies führte zu einem Problem von "Android.widget.Material ..." Dann verwendete ich dieselbe Version für die Support-Bibliothek wie compile 'com.Android.support:appcompat-v7:22.0.1' und sein Fertig. (Zeigt euch in der Abbildung unten)
Wie von Tanis.7x hervorgehoben, stimmt die Version der Support Library (23) nicht mit der targetSdkVersion (22) überein.
Sie können dies beheben, indem Sie Folgendes tun:
Ändern Sie in der build.grade
-Datei Ihres App-Moduls die folgende Codezeile
compile 'com.Android.support:appcompat-v7:23.0.0'
Zu
compile 'com.Android.support:appcompat-v7:22.+'
Hierbei wird die neueste Version der appcompat-Version verwendet, die mit SdkVersion 22 kompatibel ist.
Ihre Kompilierungs-SDK-Version muss mit der Hauptversion der Unterstützungsbibliothek übereinstimmen. Dies ist die Lösung für Ihr Problem. Sie können dies leicht in Ihren Gradle-Skripts in der build.gradle
-Datei überprüfen Fx: Wenn Ihre compileSdkVersion
23 ist, muss Ihre Kompilierungsbibliothek bei 23 beginnen.
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'
}
Vergewissern Sie sich immer, dass Ihr Android-Studoi über die unterstützte API-Stufe verfügt. Sie können es in Ihrem Android-SDK wie folgt überprüfen:
In meinem Fall war es eine höhere Version von Google-Play-Diensten. Ich stellte sie auf 7.0.0 (nicht 8.x) und alles war in Ordnung.
Ich wollte von API 23 auf 22 herabstufen und erhielt diesen Fehler. Ich musste alle build.gradle
-Dateien in einem Projekt ändern, um kompilieren zu können.
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'
}
Das hat mir geholfen: Hinzufügen einer spezifischen Android-Plattform
Was zu tun ist, ist folgendes ... In meinem Fall war es cordova
, aber das gleiche ist für ionic
, phonegap
und andere Frameworks wie diese relevant:
cordova platform list
. Sie werden so etwas sehen:entfernen Sie die Android-Plattform: cordova platform remove Android
.
fügen Sie dann die spezifische Android-Plattform hinzu: cordova platform add [email protected]
.
Viel Glück! :)
Ich habe die gleichen Probleme. Ich habe mein Problem gelöst, indem ich gradle.build für jedes Submodul auf die neueste Compiler-Version aktualisiert habe.
am Modul: 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'
}
projekt: NameAppXXXX (Gradle)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:1.2.3'
}
}
allprojects {
repositories {
jcenter()
}
}
und bearbeiten Sie Ihre Aktivität von AppCompatActivity beispielsweise in 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);
}
}
Eine andere Lösung: Navigieren zu
\sdk\extras\Android\m2repository\com\Android\support\appcompat-v7\23.x.x
.aar
-Datei mit 7-Zip oder winrar öffnen, im res-Ordner values-23
-Ordner entfernen und Änderungen speichern.
Aktualisieren Sie Android Studio.
Ich hatte dieses Problem mit Android Studio 1.3.1 und keine der anderen Antworten funktionierte für mich, aber nach dem Update auf 1.5.1 gab es keine Probleme.
Wenn Sie phonegap (plattformübergreifend) verwenden und dasselbe Problem wie oben beschrieben erhalten haben, entfernen Sie einfach die Android-Plattform mit dem folgenden Befehl.
Phonegap-Plattform entfernen Android
Und füge es noch einmal hinzu.
phonegap platform add Android
Dann Problem gelöst für mich.
Wie bereits erwähnt, muss Ihr compile sdk version
mit Ihrer support library's
-Hauptversion übereinstimmen. Dies ist jedoch auch für subprojects
relevant, falls Sie welche haben.
In diesem Fall können Sie Ihre subprojects
-Version von sdk-Versionen mit dem folgenden Skript festlegen:
subprojects { subproject ->
afterEvaluate{
if((subproject.plugins.hasPlugin('Android') || subproject.plugins.hasPlugin('Android-library'))) {
Android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
}
}
}
}
Fügen Sie dieses Skript Ihrer build.gradle
-Stammdatei hinzu.