Estoy buscando un método adecuado y simple para odexar un archivo apk. Tengo un archivo apk actualizado de una ROM con el que quiero reemplazar uno antiguo, y está ubicado en el directorio /system-priv
. El apk antiguo tiene el archivo .odex
, pero me di cuenta de que no puedo sobrescribirlo directamente ya que no puedo usar el antiguo .odex
(por lo tanto necesito odexar primero), de lo contrario me quedaré con bloqueos de aplicaciones o bucles de arranque.
He intentado buscar métodos en línea pero no son satisfactorios de ninguna manera:
-
Este uno que implica el uso de un
dexopt-wrapper.bin
parece estar muy desactualizado ya que el binario no es compatible, me aparece este error:error: dexopt-wrapper error: only position independent executables (PIE) are supported.
-
El segundo que es extenso y los enlaces a otros recursos necesarios ya no están disponibles, y de alguna manera no es compatible con mi sistema.
-
El único prometedor uno que utiliza Auto Odexer Script, pero actualmente tengo problemas con adb y también parece que utiliza el mismo binario dexopt-wrapper que me estaba dando errores en la terminal.
Existen herramientas/métodos para hacer todo el sistema a la vez, pero no necesito todo el sistema re-odexado. Quiero crear personalmente un archivo .apk
odexado "actualizado" a partir de la ROM extraída.
Actualización
Actualicé el binario wrapper (ahora PIE) y debería ser compatible, sin embargo aún encuentro este error:
--- BEGIN '/sdcard/app/A.apk' (bootstrap=0) ---
--- waiting for verify+opt, pid=17200
--- would reduce privs here
execl(/bin/dexopt) failed: No such file or directory
--- END '/sdcard/app/A.apk' --- status=0x4300, process failed
1|mido:/ #
y el resultado es un archivo .odex
vacío en el directorio. ¿Alguien puede señalar dónde me estoy equivocando aquí?