Skip to content

Conversation

Ant1r
Copy link
Contributor

@Ant1r Ant1r commented Jul 14, 2025

This PR includes:

  • commits from my recent PRs, mainly the Midi updates (get rid of com.noisepages.nettoyeur:midi) and other fixes
  • updates on the build system and afferent fixes
  • the modernization of native code management

The latter allows to fix the CI build, as well as long standing issues about adding native code externals to Pd in Android apps.
Here is a quick description of the changes:

  • PdCore now exports "prefab" directory with headers and libs, so externals can compile and link to libpd.
  • apps that include externals (ScenePlayer and PdTest) are now built using the pd-core prefab.
  • for this to work, it has been necessary to split PdCore as a separate library, and to "includeBuild" it, making pd-for-android a so-called Composite project.
    This has the benefit that now, pd-core dependency is declared by the apps the same way as if they were standalone; so they can safely be taken as examples.

Note: 2 small issues remain:

  • pd-core exports all Pd source files in prefab, not only the needed .h files. This could be fixed with copying the only needed files to a temporary include/ dir before building.
    Anyway this issue doesn't harm much, because final apps don't include the prefab dir.
  • pd-core version (which has been bumped to 1.3.0 for now, to be discussed) is present at 2 distinct places: build.gradle and PdCore/build.gradle, and both need to be kept in sync.
    I couldn't find a way to merge them both.

Fixes #127.
Fixes #157.
Closes #75.

@joebowbeer
Copy link
Contributor

Fixes #157 ?

@Ant1r
Copy link
Contributor Author

Ant1r commented Sep 25, 2025

Yes it fixes #157!
And with the latest commit 4c74215 it also complies to the 16KB Google requirement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Can no longer build .aar using current build.gradle Issue linking externals? Include header files in AAR required for building custom externals
2 participants