2017-08-12 15 views
10

バージョン25.3.1からサポートライブラリのバージョン26.X.Xにアップグレードしようとしていますが、新しいバージョンを使用してプロジェクトをビルドするたびに、エラー:AndroidサポートライブラリBuild v26.XXビルドエラー:属性「font」が既に定義されています

Error:(357) Attribute "font" already defined with incompatible format. 
Error:(343) Original attribute defined here. 

Error:java.util.concurrent.ExecutionException: 
com.android.ide.common.process.ProcessException: Error while executing 
process /Users/johnsmith/Library/Android/sdk/build-tools/26.0.1/aapt 
with arguments {package -f --no-crunch -I ... 

私が掃除して再建を試してみました。キャッシュを無効にしてAndroid Studioを再起動してみました。

アプリはサポートライブラリのバージョン25.3.1で正常に構築されます。 Android Gradleプラグインの3.0.0-beta2バージョンのAndroid Studio 3.0 Beta 2を使用しています。

答えて

18

このエラーがあるので:特定

  • アンドロイドOは、font属性に関連
  • 、および
  • aaptによってスローされたエラー、

私の推測では、あなたが持っているということですandroid-namespaced font attribute introduced in Android Oと何らかの形で矛盾するアプリケーションコード内にfontという名前のカスタム属性が定義されました。そのカスタム属性の名前を変更または削除してみてください。

<declare-styleable name="AATextView"> 
    <attr name="typeface" format="string"/> 
</declare-styleable> 
8

あなたはたとえばのCustomView

<declare-styleable name="AATextView"> 
    <attr name="font" format="string"/> 
</declare-styleable> 

で使用される「フォント」属性の名前を変更する必要があります。

これは、Android 'O'をサポートするようにプロジェクトをアップグレードするときに発生します。 以下の手順で問題を解決できます。 1.すべてのサポートライブラリにいくつかのバージョンが必要であることを確認します。 2.すべての "外部依存関係"のresフォルダを確認します。実際に問題を作成する犯人依存リソースファイルが見つかります。 check this image for reference

-1

私は同じ問題を取得し、方法を以下に修正されました:

関連する問題