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.
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
gpgygit, que en Android no existen. Quedan la copia de seguridad cifrada con contraseña y sincronizar con otro Caudal. - Un nodo con dirección
.onionnecesita 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).