https://github.com/eitanliu/svg2vector
Android SVG to VectorDrawable's XML Converts
https://github.com/eitanliu/svg2vector
android drawable svg vector
Last synced: 2 months ago
JSON representation
Android SVG to VectorDrawable's XML Converts
- Host: GitHub
- URL: https://github.com/eitanliu/svg2vector
- Owner: eitanliu
- Created: 2024-05-24T10:24:53.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2026-04-16T05:23:12.000Z (2 months ago)
- Last Synced: 2026-04-16T07:27:42.540Z (2 months ago)
- Topics: android, drawable, svg, vector
- Language: Java
- Homepage:
- Size: 295 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Android Converts SVG to VectorDrawable's XML
## Use
Add `svg2vertor/bin` to Path.
JVM
```shell
java -jar svg2vector-1.0.3.jar -d ./
```
Linux/Mac
```shell
svg2vector -d ./input_dir -o ./output_dir
```
Windows
```cmd
svg2vector.bat -d .\input_dir -o .\output_dir
```
### Options
```text
-d,--dir the target svg directory
-f,--file the target svg file
-o,--output the output vector file or directory
-w,--width the width needs to be overridden.
-h,--height the height needs to be overridden.
-a,--alpha the alpha needs to be overridden. (0.0 ~ 1.0)
-t,--tint the RGB value of the tint. (000000 ~ ffffff)
-m,--autoMirrored auto mirroring for RTL layout (default ture)
```
## Build
```shell
./gradlew installDist
# build Tar and Zip
# build Tar ./gradlew distTar
# build Zip ./gradlew distZip
./gradlew assembleDist
# build jar
./gradlew jarPackage
```
## Sources
[tools/base](https://android.googlesource.com/platform/tools/base/), [Branches/Tags](https://android.googlesource.com/platform/tools/base/+refs)
### Find the latest tag
```shell
curl -s "https://android.googlesource.com/platform/tools/base/+refs" \
| grep -oE 'studio-[0-9]{4}\.[0-9.]*(-patch[0-9]*)?' | sort -u | tail -10
```
### Download by tag
Replace `{tag}` with the target tag (e.g. `studio-2025.3.3`):
```text
https://android.googlesource.com/platform/tools/base/+archive/refs/tags/{tag}/sdk-common/src/main/java/com/android/ide/common/vectordrawable.tar.gz
https://android.googlesource.com/platform/tools/base/+archive/refs/tags/{tag}/common/src/main/java/com/android/ide/common/blame.tar.gz
https://android.googlesource.com/platform/tools/base/+archive/refs/tags/{tag}/common/src/main/java/com/android/utils.tar.gz
https://android.googlesource.com/platform/tools/base/+/refs/tags/{tag}/sdk-common/src/main/java/com/android/ide/common/util/AssetUtil.java
https://android.googlesource.com/platform/tools/base/+/refs/tags/{tag}/common/src/main/java/com/android/SdkConstants.java
```
### Download from main branch
```text
https://android.googlesource.com/platform/tools/base/+archive/refs/heads/main/sdk-common/src/main/java/com/android/ide/common/vectordrawable.tar.gz
https://android.googlesource.com/platform/tools/base/+archive/refs/heads/main/common/src/main/java/com/android/ide/common/blame.tar.gz
https://android.googlesource.com/platform/tools/base/+archive/refs/heads/main/common/src/main/java/com/android/utils.tar.gz
https://android.googlesource.com/platform/tools/base/+/refs/heads/main/sdk-common/src/main/java/com/android/ide/common/util/AssetUtil.java
https://android.googlesource.com/platform/tools/base/+/refs/heads/main/common/src/main/java/com/android/SdkConstants.java
```
> Notes:
> - `SdkConstants.java`: comment out `import com.android.sdklib.AndroidVersion` and fields that depend on `AndroidVersion`/`Version`.
> - `SvgTree.java`: keep local `autoMirrored` customization, do not overwrite.
[Guava](https://android.googlesource.com/platform/external/guava/)