App with native lib provided

Hello,

I am interested in publishing my app in F-Droid, but there is one issue that I would like to discuss about.

My app is located in GitHub and it has 2 parts; a Java part that implements handling of all the user interactions and a Rust part that communicates with a library that I maintain as well.
I have forked the fdroiddata and prepared all the needed scripts that build everything from the sources (Rust plus Java), so that the project can be built for F-Droid.

The issue is that in order to cross compile Rust, I need a standalone toolchain. More specificaly, I need the path of it, in order to set it in a config file for Rust build. Under normal situations, I would create the toolchain by issuing:

sh $ANDROID_NDK/build/tools/make-standalone-toolchain.sh --platform=android-16 --arch=arm --install-dir=android-toolchain

but having that in the build of my project metadata, I get errors when scanning for common problems:

INFO: Scanning source for common problems…
ERROR: Found static library at android-toolchain/lib/libarm-linux-android-sim.a
ERROR: Found shared library at android-toolchain/lib/python2.7/lib-dynload/_json.so
ERROR: Found shared library at android-toolchain/lib/python2.7/lib-dynload/_codecs_kr.so
ERROR: Found shared library at android-toolchain/lib/python2.7/lib-dynload/parser.so
ERROR: Found shared library at android-toolchain/lib/python2.7/lib-dynload/pyexpat.so
ERROR: Found shared library at android-toolchain/lib/python2.7/lib-dynload/spwd.so
…
…
…

This means that I cannot build my toolchain I guess… Is there some way to build and have the path of a specified toolchain (16 in my case)?

You can use scandelete= and scanignore= settings, but most likely
we just need to do the preparation in a different stage. I think its
best to open a merge request with whatever you have right now and add
the WIP label to it. This way I can test more easily and can comment
in-line.

Merge request created.

Thank you.

1 Like