已在Android Gradle构建中使用不兼容的格式定义字体

时间:2017-12-12 14:32:51

标签: android gradle

尝试使用Gradle构建我的Android项目时,我收到以下2个错误:

错误:(598)属性"字体"已经用不兼容的格式定义。

错误:(2209,39)不允许字符串类型(在' android:字体'值为' roboto_medium')。

我已在其他地方在线浏览,但无法找到这些问题的答案,我们非常感谢任何澄清或帮助。

更新

这是stacktrace:

AGPBI: {"kind":"error","text":"Attribute \"font\" already defined with incompatible format.","sources":[{"file":"/Users/johnbyrne/Documents/myapp-android/MyApp/app/build/intermediates/res/merged/development/debug/values/values.xml","position":{"startLine":597}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"Original attribute defined here.","sources":[{"file":"/Users/johnbyrne/Documents/myapp-android/MyApp/app/build/intermediates/res/merged/development/debug/values/values.xml","position":{"startLine":417}}],"original":"","tool":"AAPT"}
AGPBI: {"kind":"error","text":"String types not allowed (at \u0027android:typeface\u0027 with value \u0027roboto_medium\u0027).","sources":[{"file":"/Users/johnbyrne/Documents/myapp-android/MyApp/app/build/intermediates/res/merged/development/debug/values/values.xml","position":{"startLine":2208,"startColumn":38,"startOffset":158093,"endColumn":51,"endOffset":158106}}],"original":"","tool":"AAPT"}
Failed to generate resource table for split ''
/Users/johnbyrne/Documents/myapp-android/MyApp/app/build/intermediates/res/merged/development/debug/values/values.xml:598: error: Attribute "font" already defined with incompatible format.
/Users/johnbyrne/Documents/myapp-android/MyApp/app/build/intermediates/res/merged/development/debug/values/values.xml:418: Original attribute defined here.
/Users/johnbyrne/Documents/myapp-android/MyApp/app/build/intermediates/res/merged/development/debug/values/values.xml:2209: error: Error: String types not allowed (at 'android:typeface' with value 'roboto_medium').

我的styles.xml如下所示:

<resources>

    <style name="ButtonLight">
        <item name="android:typeface">roboto_medium</item>
        <item name="android:textSize">@dimen/text_size_button</item>
        <item name="android:textColor">@color/black_87</item>
        <item name="colorAccent">@color/white</item>
        <item name="android:lineSpacingExtra">-2sp</item>
        <item name="android:gravity">center_vertical</item>
    </style>

</resources>

1 个答案:

答案 0 :(得分:0)

如果您在应用中使用自定义字体,请检查一次字体或字体是否正确实现。

android:fontFamily="sans-serif"           // roboto regular 
android:fontFamily="sans-serif-light"     // roboto light 
android:fontFamily="sans-serif-condensed" // roboto condensed 
android:fontFamily="sans-serif-black"     // roboto black 
android:fontFamily="sans-serif-thin"      // roboto thin (android 4.2) 
android:fontFamily="sans-serif-medium"    // roboto medium (android 5.0)




     <style name="ButtonLight">
           <item name="android:fontFamily">sans-serif-medium</item>
            <item name="android:textSize">@dimen/text_size_button</item>
            <item name="android:textColor">@color/black_87</item>
            <item name="colorAccent">@color/white</item>
            <item name="android:lineSpacingExtra">-2sp</item>
            <item name="android:gravity">center_vertical</item>
        </style>

试试这个。