2017-11-22 5 views
3

Ich habe gerade Visual Studio für Mac aktualisiert, um Android 8/API 26 zu unterstützen. Ich habe die AppCompat-Bibliothek auf 26.1 aktualisiert, um den neuen Schriftartordner im Ressourcenverzeichnis meines Android-Projekts zu verwenden. Jetzt, wenn ich versuche zu kompilieren, bekomme ich "Ungültige Ressource Verzeichnis Name" für Pfad "obj/Debug/res/font" APT0000.Ungültiger Ressourcenverzeichnisname "Schriftart" Xamarin Android

Error message

Resources folder

Xamarin android version

+0

Wie über Schriftarten im Assets/Font-Verzeichnis hinzuzufügen? – MilanG

+0

@MilanG So war es ursprünglich, aber seit appcompat Version 26 ist es möglich, sie als Ressource hinzuzufügen. So möchte ich es machen. https://developer.xamarin.com/guides/android/application_fundamentals/resources_in_android/part_7_-_fonts/#Fonts_as_a_Resource – BrunoVT

+0

Bitte stellen Sie sicher, dass Ihre 'build-tools' mit der API-Ebene übereinstimmen, mit der Sie kompilieren. In diesem Fall müssen Sie "Build-Tools" 26 oder höher verwenden, wenn Sie auf Oreo ausgerichtet sind. –

Antwort

1

zunächst immer die neueste Xamarin Dokumentation über die neuen Funktionen überprüfen. https://developer.xamarin.com/guides/android/platform_features/introduction-to-oreo/

Ich habe schnell ein neues Xamarin android Projekt und fügte zwei Textviews mit diffrent Fonts:

Test App

Meine Lösung wie folgt aussieht:

Solution

ich in der Regel versuchen, um Großbuchstaben in Ressourcennamen zu vermeiden, da sich das Android-Studio darüber beschwert.

Haupt Layout:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <TextView 
    android:text="Pacifico example text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:fontFamily="@font/pacifico" /> 

    <TextView 
    android:text="Roboto light example text" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:fontFamily="@font/roboto_light" /> 

</LinearLayout> 

Ich denke, dass Sie nicht über die neueste Plattform nutzen, zu bauen. Überprüfen Sie, ob Sie die neueste Plattform (Oreo) zum Erstellen der Anwendung verwenden.

4

Für mich war die Lösung, alle alten Android SDK Build Tools aus dem SDK Manager zu entfernen. Jetzt habe ich nur für api Level 26 und 27 installiert und es funktioniert.

enter image description here

+0

Arbeitete für mich, musste keine neuen Tools-Versionen hinzufügen, sondern musste alle alten löschen (<26) – Huby

Verwandte Themen