I’m working with Android beta releases and want to understand the best way to manage APK files and version updates in Bitbucket. For example, projects such as ff Testing APK may have multiple beta versions and relatively large release files.
Should APK builds be stored directly in Bitbucket, or is it better to use Bitbucket Downloads or an external release-storage service? I’d also like to know the recommended workflow for keeping beta versions organized and easy for testers to access.
Hi @Roger Cox
I’d avoid committing APKs directly to the Git repository. Each build becomes permanent Git history as clones, fetches, and repository maintenance get steadily heavier.
Git LFS is better for large files. For a small private project, Bitbucket Downloads can be a reasonable to publish APKs produced by CI. Upload only the finished builds there and keep source, build scripts, changelogs, and release tags in the repository.
For beta program, use a distribution service such as Google Play or Firebase so testers get one reliable place to install and update, while the repository stays fast and clean.
Hi Roger - Welcome to the Atlassian Community!
For APKs and other generated release binaries, I would avoid storing them directly in the normal Git history whenever possible. APK files are binary and can grow quickly, so committing every beta build can make the repository unnecessarily large over time.
I’d consider three approaches:
Bitbucket Downloads if the goal is simply to make beta APKs available to testers. Files uploaded there are separate from the source repository and can also be downloaded through the Bitbucket Cloud API.
Git LFS if you really need the APK to remain versioned alongside the repository. Bitbucket Cloud supports Git LFS specifically for large files, storing pointers in Git while keeping the actual binary in LFS storage.
External artifact/release storage if you are generating many builds or need retention rules, release promotion, tester distribution, or larger-scale artifact management.
For beta releases, my preferred workflow would usually be:
source code in Git → Pipeline builds APK → APK published as an artifact/release asset → Git tag identifies the corresponding version
For example:
v1.4.0-beta.3
That keeps the repository clean while still giving you a clear relationship between the source commit and the APK testers receive.
If you choose Git LFS, note that storage depends on your Bitbucket plan and there are some LFS-specific limitations, so I would use it only when versioning the binary inside the repository is actually important.
So for your specific case, I would probably use Bitbucket Downloads or an external artifact repository for the APKs, and use Git tags/releases to organize the beta versions rather than committing the APK files directly to Git.
Hope this helps!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.