Skip to content

Conversation

@timrid
Copy link
Contributor

@timrid timrid commented Jun 24, 2025

This PR adds debugger support for Android.

This PR is based on #2173 to have a working example for it. At first #2173 should be merged, then this PR.

This requires beeware/briefcase-android-gradle-template#97

briefcase-template-repo: https://github.com/timrid/briefcase-template
briefcase-template-ref: dynamic-extract-packages

PR Checklist:

  • All new features have been tested
  • All new features have been documented
  • I have read the CONTRIBUTING.md file
  • I will abide by the code of conduct

This was referenced Jun 24, 2025
@timrid timrid force-pushed the feature/debugger-support-android branch from dc6b3e8 to 0513eeb Compare August 17, 2025 21:03
@timrid timrid force-pushed the feature/debugger-support-android branch from 0513eeb to a38f818 Compare November 11, 2025 21:35
@timrid timrid force-pushed the feature/debugger-support-android branch from a38f818 to 371409a Compare November 11, 2025 21:36
@timrid
Copy link
Contributor Author

timrid commented Nov 16, 2025

This PR is waiting for the following two patches to get merged. With these patches this PR is fully working:

@mhsmith
Copy link
Member

mhsmith commented Dec 1, 2025

Does this PR need any documentation updates? I guess at least some of the 4 places that say "only supported on Windows, macOS and iOS" will need to be updated.

@freakboy3742: I don't know if this was mentioned somewhere in the gigantic discussion of #2173, but at what point are we going to stop calling this "experimental"? If we can do that now, then I think we can remove those paragraphs from the build and dev pages, and let the pdb and vscode pages be the single source of truth about which platforms they support.

@mhsmith
Copy link
Member

mhsmith commented Dec 1, 2025

One unit test is failing because of the template target version change, but the test comment says it creates an empty folder "to mock a created project", which suggests it wasn't intended to actually expand a real template.

If I understand correctly, the the idea is that the unit tests shouldn't depend on the template repository at all, and the briefcase-template-repo and ref, which I've just added to the top comment of this PR, should allow it to pass the later "build app" jobs even before beeware/briefcase-android-gradle-template#106 is merged.

@timrid
Copy link
Contributor Author

timrid commented Dec 5, 2025

Does this PR need any documentation updates? I guess at least some of the 4 places that say "only supported on Windows, macOS and iOS" will need to be updated.

I added Android to the list of supported platforms in the docs.

One unit test is failing because of the template target version change, but the test comment says it creates an empty folder "to mock a created project", which suggests it wasn't intended to actually expand a real template.

I fixed this by updating the target version constant in the unit tests.

and the briefcase-template-repo and ref, which I've just added to the top comment of this PR, should allow it to pass the later "build app" jobs even before beeware/briefcase-android-gradle-template#106 is merged.

Wow, I did not know about this feature with briefcase-template-repo and briefcase-template-ref. This seems completly undocumented. It took me a while to understand how this is working and to find the code where the PR body is parsed. briefcase-template-repo will be passed to --template in briefcase new. But that has to be a template for an app based on briefcase-template and not an platform specific template like the briefcase-android-gradle-template repo. So I forked the briefcase-template and set the correct android template. See here. Now the CI is passing.

@mhsmith
Copy link
Member

mhsmith commented Dec 13, 2025

Thanks, I'll look at this next week.

Copy link
Member

@mhsmith mhsmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works fine for me in both PDB and VS Code, thanks! I have a few issues with the documentation, but they're not specific to Android, so I'll put them in a separate issue (#2621).

@mhsmith mhsmith merged commit 60632e9 into beeware:main Dec 24, 2025
58 checks passed
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.

2 participants