How to create configuration for app that supports split APKs

hi, I am trying to add a new app at New App: com.github.arcanechat (!15640) · Merge requests · F-Droid / Data · GitLab

the problem is that this app already builds split APKs as part of the normal building process with gradle, that is, with a single gradle command all APKs are generated for all ABI, I am struggling to figure it out how to properly define the configuration in that case since then the CI complains:

2024-08-26 15:42:59,864 ERROR: Could not build app com.github.arcanechat: More than one resulting apks found in build/com.github.arcanechat/build/outputs/apk/foss/release

I am trying to avoid problematic hacks like done for other configurations where sed command is used to alter the content of build.gradle to force building for a single ABI

thanks in advance!

You can use gradleprops. See metadata/com.junkfood.seal.yml for example.

2 Likes

used that approach and now the CI passes! thanks a lot for your help! :heart:

Another solution that worked for me is to use the output attribute/value like so

Build:
  output: build/outputs/apk/release/app-universal-release-unsigned.apk

https://f-droid.org/docs/Build_Metadata_Reference/#build_output

that is for a single universal output, the problem is that in a single step I can generate all outputs (for x68, armv7 etc) at once and could return them all in a single config declaration but it seems just not supported by f-droid CI

There’s the answer above your post… so it’s supported just fine.

But, you need to have a different versionCode for each APK.

Eg. metadata/eu.siacs.conversations.yml · master · F-Droid / Data · GitLab

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