beeware / beeware/briefcase

Add code signing for Android release artefacts

Open
#1,268 5 comments 0 reactions 0 assignees View on GitHub
android enhancement
Dominant language
Python
Stars
3.3k
Forks
549
Avg merge
1d 4h
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Briefcase currently supports code signing on macOS and Windows. Code signing is also required for Android release artefacts.

### Describe the solution you'd like

`briefcase package android --identity ` should accept a path to a keystore, and use that keystore to sign the app.

`briefcase package android` should prompt the user to do one of:
1. Ad-hoc sign the app (i.e., do nothing explicit with signatures, as is done currently)
2. Look for any file named `*.jks` in the project folder, the `.android` subfolder of the project folder, or the user's `~/.android` folder, and provide those files as candidate keystores to use.
3. Create a new keystore named `org.example.myapp.jks` in a `.android` folder of the project directory, and use that keystore.

### Describe alternatives you've considered

Continue to require manual signing. The process of [generating a keystore](https://briefcase.readthedocs.io/en/latest/how-to/code-signing/android.html) and [signing the app](https://briefcase.readthedocs.io/en/latest/how-to/publishing/android.html); this is a simplification process.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the `briefcase package android` entry point and compare the existing macOS and Windows code-signing behavior. Read the linked Android code-signing and publishing documentation to understand the current manual workflow. Done means Android packaging accepts a keystore via `--identity`, offers the described discovery and creation choices, and preserves ad-hoc signing.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, python
Domain
mobile, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.