webentwicklung-frage-antwort-db.com.de

fehler: Attribut "***" wurde bereits definiert, wenn zwei Bibliotheksprojekte in Android verwendet werden

Ich benutze Android-support-v7-appcompat als Bibliothek in meinem Android-Projekt. Jetzt möchte ich actionbarsherlock als ein anderes Bibliotheksprojekt einschließen. Wenn ich die zweite Bibliothek hinzufüge, gibt es so viele Fehler wie unten

Android-support-v7-appcompat\res\values\attrs.xml:476: error: Attribute "attributeName" has already been defined

Durch das Ändern eines Attributwerts und des zugehörigen Codeausschnitts wird eine Lösung versucht, die ich bereits ausprobiert habe. Aber wenn es fast 80 Zeilen wie oben gibt, wird es unordentlich. Gibt es eine andere Möglichkeit, dieses Problem zu lösen?

18
AnujAroshA

Der richtige Weg, dieses Problem zu lösen, besteht in der Aktualisierung von Android-Support-Bibliotheken in allen relevanten Projekten und Bibliotheksprojekten. In meinem Fall habe ich Android-Unterstützungsbibliothek und auch ein Bibliotheksprojekt verwendet, um meine Anwendung zu implementieren. Wenn ich beide Bibliotheken aktualisiere, wurde das Problem behoben. Die Aktualisierung der Android-Support-Bibliothek erfolgt auf folgende Weise:

  • Klicken Sie mit der rechten Maustaste auf das Projekt
  • Wählen Sie Android Tools aus dem Popup-Fenster
  • Wählen Sie Support Library hinzufügen  
9
AnujAroshA

Entfernen Sie das appcompat-Support-Bibliotheksprojekt aus Eigenschaften => Android .

3
HimalayanCoder

Gradle Resource Merger führt alle Ressourcenordner aus allen Abhängigkeiten zusammen und legt sie in einem einzigen Ordner ab. Bei Duplikaten schlägt der Build-Prozess fehl.

Wenn Sie unter Ausgabe: label nach unten schauen, finden Sie zum Glück den richtigen Weg zum Problem.

Hier ist ein Beispiel 

enter image description here

in Ihrem Fall ist es Android-support-v7-appcompat\res\values\attrs.xml:476: error: Attribute "attributeName" has already been defined

Sie können Ihr Projekt auch über die Befehlszeile erstellen und erhalten den richtigen Pfad. Attributname In values\attrs.xml-Datei in Zeile 476 finden Sie eine Eigenschaft mit dem Namen "attributname". Höchstwahrscheinlich ist es Ihr eigener Stil, den Sie ändern müssen, um das Duplikat zu entfernen. 

Wenn Sie nun den Grund kennen, können Sie diese Eigenschaft in Ihrem Projektmodul finden und durch einen anderen Namen ersetzen. 

3
dmSherazi

Ich löste das Problem, indem ich appcompact aus dem Projekt entfernte und die Formatvorlagen in änderte

<style name="AppBaseTheme" parent="Theme.Sherlock">
1
Penzzz

Ich habe die Build-Tools-Version aktualisiert und erneut synchronisiert, es hat gut funktioniert.

0
Amit Garg