Android: Utilisation de SVG dans res conduit à l'erreur: “Le nom du fichier doit se terminer par .xml ou .png”
Je viens de mettre à jour Android Studio 1.2.1.1 et maintenant gradle eu des problèmes avec svg dans mon dossier de ressources. J'ai toujours été à l'aide de SVGs sans problème et j'espère qu'ils seront "autorisés" à l'avenir.
:app:mergeDebugResources
:app:mergeDebugResources FAILED
/home/petergriffin/folder1/another-app/MyAwesome-App/app/src/main/res/drawable-hdpi/logo.svg
Error:Error: The file name must end with .xml or .png
Error:Execution failed for task ':app:mergeDebugResources'.
> /home/petergriffin/folder1/another-app/MyAwesome-App/app/src/main/res/drawable-hdpi/logo.svg: Error: The file name must end with .xml or .png
Information:BUILD FAILED
Toutes les idées comment résoudre ce problème ?
Alors que SVGs comme base pour drawable ressources a été annoncé à la Google I|O 2015 hier, autant que je sache, il nécessite Android Studio 1.3. Il y a des tiers Gradle plugins qui offre la conversion de SVGs à un drawable. Au-delà de ça, je ne suis pas au courant que SVGs ont jamais juridiques drawable fichiers de ressources.
Merci, mais je l'ai essayé avec Android Studio 1.3+, mais il n'a pas aidé. J'ai des cours de nettoyer le projet à quelques reprises, rien. Je n'ai jamais eu de problèmes avec l'aide de SVGs, même dans les premiers jours de Android Studio.
Merci, mais je l'ai essayé avec Android Studio 1.3+, mais il n'a pas aidé. J'ai des cours de nettoyer le projet à quelques reprises, rien. Je n'ai jamais eu de problèmes avec l'aide de SVGs, même dans les premiers jours de Android Studio.
OriginalL'auteur Rob Anderson | 2015-05-29
Vous devez vous connecter pour publier un commentaire.
Même problème avec les fichiers webp dans le drawable répertoire de ressources.
Le dernier plugin gradle (v1.2.3) est de ne pas reconnaître certains des formats d'image qui marchait avant. Je n'ai pas ce problème lorsque je passe de v1.2.2
Mise à JOUR: étant Donné que cette fonctionnalité a été résolu, vous devez mettre à niveau vers la dernière plugin gradle publication au lieu de revenir en arrière.
Vous pouvez changer la version dans votre construction.gradle en définissant:
OriginalL'auteur afrank
SVG fichiers ne sont pas pris en charge par Android comme un drawable. Même si vous les mettre là, le système ne peut décoder que vous attendez. Au lieu d'essayer de les mettre dans
src/main/res/raw
ousrc/main/assets
dossier et de les charger de manière appropriée (par l'intermédiaire d'une bibliothèque externe). La plupart des gens confondent le SVG et le Vecteur-un drawable, ils ne sont pas la même chose. Vecteur-un drawable utiliser SVG-compatible chemin de mini-langage, mais c'est tout.L'actuel accepté la solution est de revenir à une version archaïque de la Gradle plugin, qui est contre-productif dans la plupart des cas. Les outils de l'équipe investit beaucoup d'efforts dans la prise de construire beaucoup mieux (c'est vraiment notable).
Au lieu de revenir, vous devez tirer vers l'avant pour
1.5.0
(a été stable pendant un certain temps maintenant) et ajouterandroid.disableResourceValidation=true
dans votregradle.properties
fichier (généralement situé à la racine du projet en regard desettings.gradle
) pour permettre le pré-1.2.2 comportement.Pour plus d'info voir http://b.android.com/192493
Comment faire pour ajouter cette propriété,Dans mon projet, il n'y a pas de nom de fichier appelé "gradle.les propriétés"?
href="https://docs.gradle.org/current/userguide/build_environment.html" >créer le fichier?! 😉
excellente solution. Il me permet d'utiliser Gradle 2.10, j'ai un autre problème après la mise à jour stackoverflow.com/questions/36787855/...
OriginalL'auteur TWiStErRob
Dans Android, vous devriez être en utilisant XML () Vecteur Dessiné de fichiers (ils contiennent les SVG d'informations à l'intérieur de l'XML, détails: https://developer.android.com/training/material/drawables.html#VectorDrawables).
Vecteur un drawable peut être téléchargé à partir de ce référentiel: https://github.com/google/material-design-icons. Recherchez les dossiers appelés drawable-anydpi-v21 à l'intérieur de l'icône de répertoire. Ce dossier comprend le Vecteur Dessiné seront placés les fichiers dans le drawable répertoire de votre application.
Remarque que la collaboration avec le Vecteur Dessiné fichiers est pris en charge uniquement pour Android 5.0 et supérieur. Dans le cas où vous avez besoin pour être compatible avec les <5.0 version d'Android, je recommanderais de faire usage de cette bibliothèque: https://github.com/trello/victor
Cette bibliothèque peut être utilisée pour convertir les fichiers SVG pour un drawable dans différents formats lors de la compilation de votre application. Ce qui vous évite d'avoir à créer et mantain mdpi/hdpi/xhdpi/xxhdpi dossiers manuellement.
Dans le cas où vous nom le Vecteur dessiné de fichiers et les fichiers SVG de même, vous pouvez utiliser les deux approches, les uns à côté des autres.
Ce n'est pas encore disponible (mais a été prononcée lors de la Google I/O 2015). Je suis en utilisant la solution que j'ai décrit ci-dessus et de passer à la solution finale, une fois que c'est disponible.
Je ne pense pas que doit est une bonne suggestion. Il existe de nombreux avantages à l'utilisation de la 3ème partie SVG bibliothèques, notamment, la compatibilité descendante.
OriginalL'auteur Peter
le problème reste toujours sur gradle 1.5.
Il semble que la seule option pour l'avenir est de convertir le svg fichiers xml à l'aide de "créer un vecteur actif" puis sélectionnez le fichier svg option.
raw
ouassets
.OriginalL'auteur Noam a
Ajouter les éléments suivants à votre gradle.propriétés :
OriginalL'auteur atitpatel
il y a un problème dans android studio 1.5.1 lors de l'utilisation de construire:gradle:1.5.0.merci de donner la solution.
Je viens de mettre à jour Android Studio 1.5.1 et maintenant gradle eu des problèmes avec svg dans mon dossier de ressources. J'ai toujours été à l'aide de SVGs sans problème et j'espère qu'ils seront "autorisés" à l'avenir.
OriginalL'auteur bismimariajose