I’ve downloaded two icons from the web as I’m testing a repo but every single time I do fdroid update I get:
root@server:/fdroid_repo# fdroid update
2024-01-06 03:48:24,078 WARNING: repo_icon "repo/icons/icon.png" does not exist! Check "config.yml".
2024-01-06 03:48:26,563 INFO: Creating signed index with this key (SHA256):
2024-01-06 03:48:26,563 INFO: REDACTED?
2024-01-06 03:48:27,572 WARNING: repo_icon "repo/icons/icon.png" does not exist, generating placeholder.
2024-01-06 03:48:28,628 INFO: Creating signed index with this key (SHA256):
2024-01-06 03:48:28,628 INFO: REDACTED?
2024-01-06 03:48:29,436 WARNING: repo_icon "repo/icons/icon.png" does not exist, generating placeholder.
2024-01-06 03:48:30,076 INFO: Finished
I don’t understand why it says that the icons don’t exist when they are right there, even if I rerun fdroid update I get the same message even when the placeholder icons are there. This can’t be a permission error as I’m running all this as root as you can see.
Also, I get this too:
WARNING: Using Java's jarsigner, not recommended for verifying APKs! Use apksigner
How do I set apksigner to be used? Couldn’t find anything about that on the docs.
Yes, that file exists, that’s even the file F-droid at some point created automatically when it didn’t detected the icons the first time fdroid update was executed
It’s not in path but it’s downloaded when setting up the SDK, I thought that if we are setting the SDK in $ANDROID_HOME that will be used for all operations. Will add it to path
Btw I first had the icon names configured in the config.yml file with something else but was receiving these messages so I commented out the lines just in case.
I recently dived into the F-Droid server’s code and noticed an issue that might be causing your problem with the icons. Even though you’ve placed the placeholder icons in the root/repo directory, you also need to put the same icons in the root directory of your repo. It looks like there’s a bit of a mix-up in the code where it’s actually checking for the icons in the root directory as well. So, try placing those icons in the root and it should work out.
Also, about the warning with Java’s jarsigner and switching to apksigner, you’re right to want to make that change. apksigner is more secure and suitable for modern APKs. However, setting apksigner as the default isn’t straightforwardly documented in F-Droid. You’ll need to have apksigner installed (part of Android SDK build tools), and then tweak the F-Droid server configurations to use it. This might require some trial and error or consulting the community, as the official docs don’t seem to cover this.