3 votos

Habilitar la entrada gestual (swipe) (en Fairphone 2) sin el teclado de Google

Tengo el Fairphone 2 con Fairphone Open OS, y estoy haciendo un esfuerzo quijotesco para evitar la instalación de software no libre (como en libertad) en él y para optimizar la privacidad.

Quiero swipe input, pero no quiero instalar el teclado de Google, (LatimeImeGoogle.apk) Por defecto, el SO tiene el teclado AOSP. También he instalado el maravilloso código amigable AnySoftKeyboard (que también tiene temas impresionantes) y el teclado de Hacker de F-Droid, pero aunque son útiles para mí, no tienen entrada de deslizamiento.

He leído este puesto lo que me hace pensar que tengo que conseguir la fuente y compilar el teclado. De momento no sé cómo hacerlo, pero estoy dispuesto a aprender. Intenté solo reemplazar la librería (haciendo trampa y tomando la librería correcta del apk de Google) mencionada en el post, y nada cambió (si borro la librería el teclado deja de funcionar completamente, así que claramente estoy haciendo un cambio en el sistema al reemplazarla - simplemente no hace lo que quiero).

Me gustaría cualquiera de los siguientes, por orden de preferencia

  1. un bonito teclado FOSS de código fácil con entrada gestual
  2. una forma sencilla* de habilitar la entrada gestual para AOSP
  3. confirmación de que, de hecho, necesito construir AOSP yo mismo para hacer lo que quiero
  4. cualquier otro consejo pertinente (!)

Obviamente, tengo Root :)

*Tengo un sistema Ubuntu para jugar en mi portátil si ayuda...

4voto

rugk Puntos 121

El problema

El teclado AOSP por defecto no viene con swipe. No aparece en los ajustes. La razón fácil (pero incómoda) es que Google consideró que esta característica era demasiado "secreta" o así para liberarla en el código fuente abierto y por lo tanto la envían en una biblioteca propietaria.

La solución

Si lo deseas, puedes empujar esa biblioteca a tu dispositivo después de la instalación de la ROM (¡y de cada actualización!). Se llama libjni_latinimegoogle.so y necesita ser puesto en /system/lib .

Para mí (Android 7.1, ARM) esta lib era una cosa realmente pequeña (944 kB) y antigua (actualizada en 2008). (sha256sum: 442a2a8bfcb25489564bc9433a916fa4dc0dba9000fe6f6f03f5939b985091e6 )

Guía detallada

  1. Descargue el Google Apps correcto desde http://opengapps.org/ . (aunque supongo que la lib puede ser la misma para algunas versiones, pero bueno sólo hay que descargar la correcta)
  2. Ahora entra en el ZIP y lo extrae respectivamente. En el Optional dir encontrará otro archivo swypelibs-lib-arm.tar.lz . Extraiga eso y obtendrá el libjni_latinimegoogle.so archivo.
  3. Ahora tenga su teléfono/dispositivo listo en modo de recuperación. Asegúrese de montar el /system partición de forma escribible. En TWRP tienes que ir a "Mount" -> (si es necesario, desmarcar) "montar /system en sólo lectura" y luego montarlo marcando la casilla de "/system".
  4. Ahora sólo tienes que empujar el archivo a tu teléfono ( adb push /path/to/libjni_latinimegoogle.so /system/lib ) y reiniciar.

Debería funcionar.

Supervivencia de la OTA

He dicho que tienes que hacer esto para cada actualización. Sin embargo, también puedes crear un pequeño OTA survival script, que respalde el archivo cuando se actualice el sistema.

Esta es mi propuesta (de momento, experimental):

#!/sbin/sh
# 
# /system/addon.d/95-latinimegoogle.sh
# During an OS upgrade, this script backs up /system/lib/libjni_latinimegoogle.so,
# /system is formatted and reinstalled, then the file is restored.
#

. /tmp/backuptool.functions

list_files() {
cat <<EOF
lib/libjni_latinimegoogle.so
EOF
}

case "$1" in
  backup)
    list_files | while read FILE DUMMY; do
      backup_file $S/"$FILE"
    done
  ;;
  restore)
    list_files | while read FILE REPLACEMENT; do
      R=""
      [ -n "$REPLACEMENT" ] && R="$S/$REPLACEMENT"
      [ -f "$C/$S/$FILE" ] && restore_file $S/"$FILE" "$R"
    done
  ;;
  pre-backup)
    # Stub
  ;;
  post-backup)
    # Stub
  ;;
  pre-restore)
    # Stub
  ;;
  post-restore)
    # Stub
  ;;
esac

También disponible en GitHub: https://gist.github.com/rugk/a4c9fa11c5c031faf45602d6bf922a1c

  1. Sólo tienes que guardar ese archivo, empujarlo tu dispositivo en el /system/addon.d dir ( adb push 95-latinimegoogle.sh /system/addon.d ). (Una vez más, hay que asegurarse de que /system está montado).
  2. Y que sea ejecutable: adb shell en su dispositivo, vaya al dir a través de cd /system/addon.d y: chmod +x 95-latinimegoogle.sh .

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X