kolibri-installer-android icon indicating copy to clipboard operation
kolibri-installer-android copied to clipboard

Tracking Issue: Migrate App to use chaquopy

Open rtibbles opened this issue 1 year ago • 0 comments

Overview

Migrate from Python for Android to Chaquopy.

Python for Android has numerous issues that we have had to work around and supplement in order to try to reliably manage Python on Android, so much so that we have our own fork that has a considerable number of commits. In addition, their strategy of having bootstrapped/templated Java code is such a pain in the backside that we have instead committed their bootstrap and now edit the project directly rather than relying on bootstrapped code. Chaquopy appears to be as mature as Python for Android, and eminently more stable, as well as providing first class support for using Python within multiple Java threads running in the same process (something that we've had to make numerous patches to Python for Android to support). Lastly, the Endless fork of our Android App has already made this migration: https://github.com/endlessm/kolibri-installer-android showing that this is in fact completely possible and feasible.

Contributors

  • Technical lead: @rtibbles
  • Individual contributors: @bjester, @ozer550

Goals

This feature should:

  • Increase the stability of our Android App
  • Increase dev velocity of developing our Android App
  • Reduce workarounds for interacting directly with Python from Java and vice versa

Target Quarter and Due date

We should aim to complete this by the beginning of Q3.

### Prerequisites
- [x] Create feature branch for migration to Chaquopy
- [ ] Move Android project to root of repository
- [ ] Migrate all Python code into project src directory
- [ ] https://github.com/learningequality/kolibri-installer-android/issues/211
### Tasks
- [ ] https://github.com/learningequality/kolibri-installer-android/issues/212
- [ ] https://github.com/learningequality/kolibri-installer-android/issues/213
- [ ] https://github.com/learningequality/kolibri-installer-android/issues/214
- [ ] Update task running to use chaquopy rather than p4a

rtibbles avatar Jan 24 '24 17:01 rtibbles