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.
Source Distribution
Built Distributions
Close
Hashes for flutter_logo_updater-0.0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 05abe17b5f673c215eaf9fee9a2fac94857cd2d9d4e552ba47c55b91106aa17c |
|
MD5 | 7f34b8b2d61079d83f78ec532dcd9c46 |
|
BLAKE2b-256 | 7fb4c5a6cb3d544ed1e102af9c3af14b7083e5f32c8a2d641f2a065e4f7166c4 |
Close
Hashes for flutter_logo_updater-0.0.1-py3.6.egg
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40eb5f6ef8dd4cb42353fc4e32b7df13200dd33dbea14599f4c2e9a19bac038b |
|
MD5 | 61ae19c3a345bef69c6c6c74405f7cc6 |
|
BLAKE2b-256 | c2ffc5bed0232b384f596f4065f78e8230adc1e5de0d62d2eb44d0663f26508a |
Close
Hashes for flutter_logo_updater-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af9e27afa6145a9054d007d439822403fd58916e3cb1684d1b79ad8a4a807852 |
|
MD5 | 16caa434e7b723ded423abb5d18bd71c |
|
BLAKE2b-256 | 91e50d36d3c9b751ec95a5dce01840b6ef6ecfeec93a19d8006ffc21b227b5a9 |