Tool to update all app icons in flutter project
Project description
flutter_logo_updater
Tool to update all app icons in flutter project
Installing:
pip install flutter_logo_updater
Using:
flutter_logo_updater logo_file_path project_file_path
Exmple:
caojianfeng$ flutter_logo_updater msks/images/logo_lxb.png msks ================================================== PROJECT LOGO Updating... In /Users/caojianfeng/Documents/w/msks With /Users/caojianfeng/Documents/w/msks/images/logo_lxb.png -------------------------------------------------- [01/20]->(48*48) /Users/caojianfeng/Documents/w/msks/android/app/src/main/res/mipmap-mdpi/ic_launcher.png [02/20]->(72*72) /Users/caojianfeng/Documents/w/msks/android/app/src/main/res/mipmap-hdpi/ic_launcher.png [03/20]->(96*96) /Users/caojianfeng/Documents/w/msks/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png [04/20]->(144*144) /Users/caojianfeng/Documents/w/msks/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png [05/20]->(192*192) /Users/caojianfeng/Documents/w/msks/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png [06/20]->(20*20) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png [07/20]->(29*29) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png [08/20]->(40*40) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png [09/20]->(40*40) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png [10/20]->(58*58) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png [11/20]->(60*60) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png [12/20]->(76*76) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png [13/20]->(80*80) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png [14/20]->(87*87) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png [15/20]->(120*120) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png [16/20]->(120*120) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png [17/20]->(152*152) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png [18/20]->(167*167) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png [19/20]->(180*180) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png [20/20]->(1024*1024) /Users/caojianfeng/Documents/w/msks/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png ==================================================
How does it work:
1. Find a config
Find a config from your_flutter_project/flutter_logo_updater.json (TODO)
If no config found a default cfg while be use.
{ "ios": { "appiconset": "ios/Runner/Assets.xcassets/AppIcon.appiconset" }, "android": { "manifest": "android/app/src/main/AndroidManifest.xml" } }
2. Find icon infos
To kown which png shoud be replaced.
2.1 On iOS
2.1.1 Find icons by the AppIcon.appiconset/Contents.json
2.1.2 Get the image_filename and size info from the json.
{ "images" : [ { "size" : "20x20", "idiom" : "iphone", "filename" : "Icon-App-20x20@2x.png", "scale" : "2x" }, { "..." } ] }
2.2 On Android
2.2.1 Find the android:icon prop of manifest/application from AndroidManifest.xml
<manifest> <application android:icon="@mipmap/ic_launcher"> <!-- ... --> </application> </manifest>
2.2.2 Parse base_dir from android:icon
So flutter_logo_updater kown which dir to search, mipmap or drawble.
2.2.3 Search png files and read their size.
3. Resize you logo(1024*1024) to sizes of the icons and replace them.
4. TODO
- Find a config from your_flutter_project/flutter_logo_updater.json
- Cut down size of the icons by pngquant
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size flutter_logo_updater-0.0.1-py3.6.egg (10.2 kB) | File type Egg | Python version 3.6 | Upload date | Hashes View |
Filename, size flutter_logo_updater-0.0.1-py3-none-any.whl (6.5 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size flutter_logo_updater-0.0.1.tar.gz (4.9 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for flutter_logo_updater-0.0.1-py3.6.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40eb5f6ef8dd4cb42353fc4e32b7df13200dd33dbea14599f4c2e9a19bac038b |
|
MD5 | 61ae19c3a345bef69c6c6c74405f7cc6 |
|
BLAKE2-256 | c2ffc5bed0232b384f596f4065f78e8230adc1e5de0d62d2eb44d0663f26508a |
Close
Hashes for flutter_logo_updater-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af9e27afa6145a9054d007d439822403fd58916e3cb1684d1b79ad8a4a807852 |
|
MD5 | 16caa434e7b723ded423abb5d18bd71c |
|
BLAKE2-256 | 91e50d36d3c9b751ec95a5dce01840b6ef6ecfeec93a19d8006ffc21b227b5a9 |
Close
Hashes for flutter_logo_updater-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05abe17b5f673c215eaf9fee9a2fac94857cd2d9d4e552ba47c55b91106aa17c |
|
MD5 | 7f34b8b2d61079d83f78ec532dcd9c46 |
|
BLAKE2-256 | 7fb4c5a6cb3d544ed1e102af9c3af14b7083e5f32c8a2d641f2a065e4f7166c4 |