KhronosGroup / KhronosGroup/Vulkan-ValidationLayers

[FR] build AAR for android binaries, publish to github pacakges?

Open
#8,167 8 comments 0 reactions 0 assignees View on GitHub
Android Build
Dominant language
C++
Stars
1k
Forks
504
Avg merge
11h 35m
Merged PRs (30d)
224

Description

Not a bug, so neither template seems to apply.

Using the validation layers on Android requires jumping through a few hoops: https://developer.android.com/ndk/guides/graphics/validation-layer

This repo does already publish prebuilt libraries (thank you, that does simplify their use a lot), but just as a bare zip/tarball of libraries (and chrome flags the download as malware). Users have to vendor these libraries into their repo and remember to keep them up to date.

If they were instead an AAR and published to https://docs.github.com/en/packages ([free for public repos](https://github.com/features/packages#pricing)), those instructions reduce down to just defining the repo and declaring the dependency as described in https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry#using-a-published-package. Android Studio would also highlight the dependency as out of date whenever a new version was available (I think so, anyway, maybe it only does that for specific libraries).

Is that something the maintainers here would be open to? Looking at https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/main/scripts/android.py and https://github.com/KhronosGroup/Vulkan-ValidationLayers/blob/main/.github/workflows/sdk_android_build.yml, it's not a whole lot of work to produce the AAR, and I can volunteer to do that part, but an owner here would need to enable the github package repo.

Contributor guide

Open the contributing guide

Research direction

Start with scripts/android.py and .github/workflows/sdk_android_build.yml, which the issue identifies as the existing Android build path. Determine how to produce an AAR and publish it through GitHub Packages; done means Android users can declare the published dependency instead of downloading and vendoring a bare archive.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, github
Domain
build-system, mobile, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.