J'utilise Android studio pour créer une application. J'utilise les dépendances suivantes:
compile 'com.google.Android.gms:play-services:5.2.08'
compile 'com.Android.support:appcompat-v7:21.0.0'
compile 'com.Android.support:cardview-v7:21.0.0'
compile 'com.Android.support:recyclerview-v7:21.0.0'
Je reçois l'erreur suivante lors de la création de mon application:
app/build/intermediates/exploded-aar/com.google.Android.gms/play-services/5.2.08/res/values/wallet_attrs.xml
Error:Attribute "theme" has already been defined
Code Styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>
</resources>
Code wallet_attrs.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2014 Google Inc. All Rights Reserved. -->
<resources>
<!-- Attributes for the WalletFragment <fragment> tag -->
<declare-styleable name="WalletFragmentOptions">
<!-- Theme to be used for the Wallet selector -->
<attr name="theme" format="enum">
<enum name="holo_dark" value="0"/>
<enum name="holo_light" value="1"/>
</attr>
<!-- Google Wallet environment to use -->
<attr name="environment" format="enum">
<enum name="production" value="1"/>
<enum name="sandbox" value="0"/>
<enum name="strict_sandbox" value="2"/>
</attr>
<!-- A style resource specifing attributes to customize the look and feel of WalletFragment -->
<attr name="fragmentStyle" format="reference"/>
<!-- Fragment mode -->
<attr name="fragmentMode" format="enum">
<enum name="buyButton" value="1"/>
<enum name="selectionDetails" value="2"/>
</attr>
</declare-styleable>
<!-- Attributes that may be specified in a style resource to customize the look and feel of
WalletFragment -->
<declare-styleable name="WalletFragmentStyle">
<!-- Height of the buy button. This includes an 8dp padding (4dp on each side) used for
pressed and focused states of the button. The value can be a specific height, e.g.
"48dp", or special values "match_parent" and "wrap_content". -->
<attr name="buyButtonHeight" format="dimension">
<enum name="match_parent" value="-1" />
<enum name="wrap_content" value="-2" />
</attr>
<!-- Width of the buy button. This includes an 8dp padding (4dp on each side) used for
pressed and focused states of the button. The value can be a specific width, e.g.
"300dp", or special values "match_parent" and "wrap_content". -->
<attr name="buyButtonWidth" format="dimension">
<enum name="match_parent" value="-1" />
<enum name="wrap_content" value="-2" />
</attr>
<!-- Text on the buy button. Must be one of "buy_with_google", "buy_now" and "book_now" -->
<attr name="buyButtonText" format="enum">
<enum name="buy_with_google" value="1"/>
<enum name="buy_now" value="2"/>
<enum name="book_now" value="3"/>
</attr>
<!-- Appearance of the buy button. Must be one of "classic", "grayscale" and "monochrome" -->
<attr name="buyButtonAppearance" format="enum">
<enum name="classic" value="1"/>
<enum name="grayscale" value="2"/>
<enum name="monochrome" value="3"/>
</attr>
<!-- TextAppearance for masked wallet details -->
<attr name="maskedWalletDetailsTextAppearance" format="reference"/>
<!-- TextAppearance for headers describing masked wallet details -->
<attr name="maskedWalletDetailsHeaderTextAppearance" format="reference"/>
<!-- Masked wallet details background -->
<attr name="maskedWalletDetailsBackground" format="reference|color"/>
<!-- TextAppearance for the "Change" button in masked wallet details view -->
<attr name="maskedWalletDetailsButtonTextAppearance" format="reference"/>
<!-- "Change" button background in masked wallet details view -->
<attr name="maskedWalletDetailsButtonBackground" format="reference|color"/>
<!-- Color of the Google Wallet logo text in masked wallet details view -->
<attr name="maskedWalletDetailsLogoTextColor" format="color"/>
<!-- Type of the wallet logo image in masked wallet details view -->
<attr name="maskedWalletDetailsLogoImageType" format="enum">
<enum name="classic" value="1"/>
<enum name="monochrome" value="2"/>
</attr>
</declare-styleable>
</resources>
il suffit d'utiliser la dernière (21)
appCompat et
bibliothèque des services google play
Par exemple:
compile 'com.Android.support:support-v4:21.0.0'
compile 'com.Android.support:appcompat-v7:21.0.0'
compile 'com.Android.support:recyclerview-v7:21.0.0'
compile 'com.Android.support:cardview-v7:21.0.0'
compile 'com.google.Android.gms:play-services:6.1.11'
alors tout fonctionne :)
Vérifiez simplement si vous avez un fichier nommé attrs.xml. Dans ce fichier, remplacez la ligne suivante
<attr name="theme" format="reference" />
avec
<attr name="apptheme" format="reference" />
Autrement dit, renommez le nom du thème. Maintenant, nettoyez le projet. Cela a résolu mon problème.
J'ai eu le même problème de développement dans Eclipse après la mise à jour du contenu via le gestionnaire du SDK.
J'ai dû supprimer complètement la bibliothèque des services Google Play de l'espace de travail, puis copier et importer la version mise à jour en suivant les instructions ici .
Aucune mise à jour des pots référencés ne m'a aidé - Seulement une nouvelle importation complète. Cela comprenait la mise à jour de l'importation Android-support-v7-appcompat.
Si vous souhaitez continuer à prendre en charge les anciennes versions Android (2.3.x, 3.xx, 4.0), utilisez une version modifiée de votre bibliothèque en supprimant les classes et les ressources de portefeuille (étant donné que vous n'avez pas besoin de portefeuille) fonctionnalité.) Cela évite ce problème d'attr "thème". J'utilise play-services-5.0.89.arr
sans problème.
En particulier, supprimez com.google.Android.gms.wallet.*
classes et wallet_*.xml
ressources et vous avez terminé.