caudal/empaquetado/android/LEEME.md
esetheyers 4b158e662d Caudal 0.3.0
Link another Caudal (phone, USB) with a code or a QR instead of the password, choosing the server's root certificate as a file; read Bitcoin straight from Bitcoin Core or Knots, without an Electrum server; Android app (beta) and a Windows build script. Fixed: Save did nothing for expenses, refunds and dividends entered by hand.
2026-10-16 18:12:09 -05:00

2.8 KiB

Caudal para Android

Estado: en pruebas. Se construye (0.3.0) y la parte de Python se ha probado en un ordenador tal como la arranca la aplicación; falta probarla en un teléfono de verdad.

Qué es

La misma aplicación que en un ordenador, sin reescribir nada: el programa de Python (programa/cartera) va dentro de la aplicación gracias a Chaquopy, atiende solo en el propio teléfono (127.0.0.1) y se enseña en una ventana web. Los datos viven en la carpeta privada de la aplicación.

  • app/build.gradle.kts: versiones, dependencias de Python y la copia del programa (sin la carpeta de entidades concretas) antes de empaquetar.
  • app/src/main/python/caudal_android.py: arranca el servidor de Caudal.
  • app/src/main/java/com/huveme/caudal/MainActivity.kt: pide la huella o el PIN, enseña la página, elige ficheros para ella y guarda los que descarga.

En qué se diferencia de las otras versiones

  • Se entra con la huella o el PIN del teléfono, cada vez que la aplicación vuelve a primer plano.
  • No hay «copia cifrada en tu servidor git»: usa los programas gpg y git, que en Android no existen. Quedan la copia de seguridad cifrada con contraseña y sincronizar con otro Caudal.
  • Un nodo con dirección .onion necesita Orbot en el teléfono.
  • Las copias automáticas del sistema (nube del fabricante, traspaso a otro teléfono) están desactivadas: las copias las hace Caudal, cifradas.

Enlazar con tu Caudal del servidor

En «Sincronizar con otro Caudal», el botón «Leer el QR del servidor con la cámara» rellena la dirección y el código (lector ZXing, sin servicios de Google; pide permiso de cámara la primera vez). Si el servidor usa su propia autoridad (StartOS), elige su certificado raíz como fichero: se guarda junto a los datos de la aplicación.

Pendiente

  • Probarlo en un teléfono: arranque, ficheros, descargas, bloqueo, giro de pantalla, QR y enlace con StartOS por la red de casa y por .onion (Orbot).
  • Icono adaptable.

Construir

Hace falta el SDK de Android (plataforma 35), Java 17 y, para Chaquopy, un python3.12 en el PATH del equipo que construye.

cd empaquetado/android
gradle wrapper            # una vez, crea ./gradlew
./gradlew assembleDebug   # la de pruebas: app/build/outputs/apk/debug/

Para una versión firmada, crea firma.properties junto a este fichero (no se versiona) y ./gradlew assembleRelease:

storeFile=/ruta/a/tu/almacen.jks
storePassword=…
keyAlias=caudal
keyPassword=…

La clave de firma de Android es para siempre: quien instale una versión solo podrá actualizar a otra firmada con la misma. Guárdala como la clave PGP. El APK se publica además con su manifiesto y firma PGP (empaquetado/firmar-version.sh, ver VERIFICAR.md).