Can't update fdroid repo correctly

Dear Community

For 2 months now, I try to install the fdroid server on my fedora 38 server, without any chances.
I followed this manual Setup an F-Droid App Repo | F-Droid - Free and Open Source Android App Repository

First error was, that there was no apksigner. After 2 weeks of searching I found one and placed it inside the root directory. Now, when I want to update via fdroid update the following errors shows up:

2023-05-17 10:31:48,213 CRITICAL: Unknown exception found! Traceback (most recent call last): File "/root/fdroid-build/.env/bin/fdroid", line 8, in <module> sys.exit(main()) ^^^^^^ File "/root/fdroid-build/.env/lib64/python3.11/site-packages/fdroidserver/__main__.py", line 230, in main raise e File "/root/fdroid-build/.env/lib64/python3.11/site-packages/fdroidserver/__main__.py", line 211, in main mod.main() File "/root/fdroid-build/.env/lib64/python3.11/site-packages/fdroidserver/update.py", line 2355, in main index.make(repoapps, apks, repodirs[0], False) File "/root/fdroid-build/.env/lib64/python3.11/site-packages/fdroidserver/index.py", line 124, in make make_v2(sortedapps, apks, repodir, repodict, requestsdict, File "/root/fdroid-build/.env/lib64/python3.11/site-packages/fdroidserver/index.py", line 809, in make_v2 signindex.sign_index(repodir, json_name) File "/root/fdroid-build/.env/lib64/python3.11/site-packages/fdroidserver/signindex.py", line 165, in sign_index sign_jar(jar_file) File "/root/fdroid-build/.env/lib64/python3.11/site-packages/fdroidserver/signindex.py", line 81, in sign_jar config['apksigner'], ~~~~~~^^^^^^^^^^^^^ KeyError: 'apksigner'

I also tried to solve this error with chatGPT and reinstalled the fdroid server via pip install git+https://gitlab.com/fdroid/fdroidserver

During all this time, I am in the fdroid environment created via with python3 -m venv .env

Please, can someone help me to finally finish this setup? I fought for many weeks now and as a last hope, I got to this forum here. Many thanks for every little hint.
Leon

@SkewedZeppelin Fedora? Can you help a normie here? :slight_smile:

try to start fresh:

#setup the android junk
mkdir android android-ndk #setup directories
wget https://dl.google.com/android/repository/tools_r25.2.3-linux.zip #download the tools
unzip tools_r*-linux.zip -d android/ #extract the tools
echo 'export ANDROID_HOME=~/android' >> .bashrc #define your android directory
echo 'export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools' >> .bashrc #add it to your path
source .bashrc #activate the new path
android update sdk --no-ui #install the tools

#setup fdroid
git clone https://gitlab.com/fdroid/fdroidserver.git #download the source
cd fdroidserver
python3 -m venv env #create a new virtual environment
source env/bin/activate #activate the virtual environment
pip install -e . #install the dependencies

in the future when you want to run fdroidserver commands first:

#activate the virtual environment
cd fdroidserver
source env/bin/activate

then fdroid tool should be available to you, and you can make/manage a repository directory

1 Like

Thank you for your answer. Everything worked perfect except the command
android update sdk --no-ui #install the tools

=> -bash: android: command not found
Can you help me with this?

I tested it the first time and just tested it again working.
Did you type it out or copy/paste it? (you can copy/paste the entire thing all at once and it will work)

edit: a video of the process:

Thank you so much, it worked so far.
Very nice. Now I have a fdroid/repo folder in which the signed apk file should go and a keystore.p12 file.

I would like to sign this apk file with that keystore on my Ubuntu laptop, but I get the following error while using the following command:
./apksigner sign --ks keystore.p12 --ks-key-alias my_alias --out signed.apk app-release.apk
apksigner: can't find apksigner.jar

I have a executable file “apksigner” in the same folder, which I used.

A post was split to a new topic: Can’t install F-Droid APK

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.