【问题标题】:Android Support Library Build v26.X.X Build Error: Attribute "font" already definedAndroid Support Library Build v26.X.X Build Error: Attribute "font" already defined
【发布时间】:2018-01-20 14:45:33
【问题描述】:

我正在尝试将支持库的版本 25.3.1 升级到版本 26.X.X,但每次我使用较新版本构建项目时都会收到此错误:

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。

【问题讨论】:

    标签: android android-studio gradle


    【解决方案1】:

    当我将支持库更新到最新版本时,我遇到了同样的问题。

    之后,我已将所有支持库更新到最新版本,例如播放服务库和 firebase 库以及其他第三方库到最新版本。

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题并通过以下方式修复。

      当您升级项目以支持 Android 'O' 时会出现此问题。 您可以通过以下步骤解决问题。 1.检查所有支持库必须有一些版本。 2.检查所有“外部依赖”的res文件夹。你会找到真正造成问题的罪魁祸首依赖资源文件。check this image for reference

      【讨论】:

        【解决方案3】:

        您应该更改 customView 中使用的“字体”属性名称

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

        例如:

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

        【讨论】:

          【解决方案4】:

          因为这个错误是:

          • 特定于 Android O,
          • font 属性相关,并且
          • aapt 抛出的错误,

          我的猜测是您在应用程序代码中定义了一个名为 font 的自定义属性,该属性在某种程度上与 android-namespaced font attribute introduced in Android O 冲突。尝试重命名或删除该自定义属性。

          【讨论】:

            猜你喜欢
            • 2019-05-15
            • 2021-01-30
            • 2018-10-27
            • 1970-01-01
            • 1970-01-01
            • 2018-11-16
            • 2015-11-26
            • 1970-01-01
            • 2014-04-30
            相关资源
            最近更新 更多