10

Android Studio で最初の「Hello World」のようなアプリケーションを試しています。新しいアクティビティを追加しようとしました (最初に [新規] -> [Android コンポーネント] を介して、結果が気に入らなかったので削除し、次に [新規] -> [アクティビティ] -> [選択したフルスクリーン アクティビティ] を介して)。今、私はこれらのエラーを受け取ります:

  Gradle: Execution failed for task ':LanguagesMemorizer:processDebugResources'.
  > Could not call IncrementalTask.taskAction() on task ':LanguagesMemorizer:processDebugResources'
  C:\...\src\main\res\values\attrs.xml
    Gradle: Attribute "buttonBarStyle" has already been defined
    Gradle: Attribute "buttonBarButtonStyle" has already been defined

プロジェクトで buttonBarStyle を検索してみました。次の場所で見つかりました。

  • build フォルダ (無視するべきだと思いますよね?)
  • 新しいアクティビティのレイアウト ファイル (style="?buttonBarStyle")
  • values\attrs.xml 自体 ( <declare-styleable ...> <attr name="buttonBarStyle" format="reference" /> ...)
  • 値\styles.xml ( <style...>... <item name="buttonBarStyle">@style/ButtonBar</item>...)
  • values-v11\styles.xml ( <style...>...<item name="buttonBarStyle">?android:attr/buttonBarStyle</item>...)

すべて自動生成されました。このエラーを修正するにはどうすればよいですか?

更新: attrs.xml にコメントがあります。

<!-- Declare custom theme attributes that allow changing which styles are
         used for button bars depending on the API level.
         ?android:attr/buttonBarStyle is new as of API 11 so this is
         necessary to support previous API levels. -->

したがって、これらの属性は古い Android に必要なようですが、API 11 で宣言された属性とこれらの手動属性の間に何らかの競合があると思います。どうすれば修正できますか?

4

1 に答える 1

25

これは、com.android.support:appcompat-v7:18.0.0すでにこの属性を持っているためです。したがって、このサポート ライブラリを使用する予定がある場合 (使用する必要がある場合) は、プロジェクトからこの属性の宣言を削除するだけで安全です\src\main\res\values\attrs.xml。この重複は、AndroidStudio の新しいアクティビティ ウィザードが、サポート ライブラリを使用できると想定していないため、すべてのコードが自動的に生成されるためだと思います。

于 2013-10-28T10:53:52.933 に答える