Android支持库Build v26.XX构建错误:已定义属性"font"

mco*_*mco 14 android gradle android-studio

我正在尝试从支持库的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 ...
Run Code Online (Sandbox Code Playgroud)

我尝试过清洁和重建.我也试过使缓存失效并重新启动Android Studio.

该应用程序可以使用25.3.1支持库的版本构建.我正在使用Android Studio 3.0 Beta 2和3.0.0-beta2Android Gradle插件版本.

stk*_*ent 23

由于此错误是:

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

我的猜测是你已经定义了一个font在你的应用程序代码中命名的自定义属性,它以某种方式与Android O中引入android-namespaced font属性冲突.尝试重命名或删除该自定义属性.


Sha*_*ami 13

您应该更改customView中使用的"font"属性名称

<declare-styleable name="AATextView">
    <attr name="font" format="string"/>
</declare-styleable>
Run Code Online (Sandbox Code Playgroud)

例如 :

<declare-styleable name="AATextView">
    <attr name="typeface" format="string"/>
</declare-styleable>
Run Code Online (Sandbox Code Playgroud)