Estoy aplicando ingeniería inversa a una aplicación de Android. Ha pasado un tiempo desde que me puse a tocar con esto, pero tengo problemas para editar el APK para tratar algunas áreas del idioma.
La aplicación original es de un país diferente. Al descompilar y recompilar, el la aplicación se instala, pero aparecen errores cuando intentas ejecutarla en el teléfono. Esto incluye si solo utilizo apktool d y luego apktool b. a través de log cat. Recibo esta excepción:
Causado por : java.util.MissingResourceException: No se puede encontrar el recurso para el paquete 'j.bc.l.resources.resources.resources_en_US', clave ''
desde una llamada ResourceBundle.getBundle. esta página Supongo que es un problema relacionado con la resolución de recursos para diferentes idiomas.
Creo que el problema es que se busca de forma predeterminada una ruta que no existe en la aplicación. , por lo que no puede encontrar el archivo y la aplicación se bloquea. Descomprimí el archivo apk y en j.bc.l.resources hay un archivo resources.properties, pero no hay directorio resources_en_US para buscar.
Entonces en este punto desde Necesito hacer cambios en la aplicación, supongo que necesito poner resources_en_US en ese directorio con un nuevo archivo de propiedades, pero no sé cómo parchear eso en la aplicación. No puedo descomprimir y volver a comprimir porque, por lo que sé, estropea los encabezados y la instalación y la apktool fallarán.
Así que necesito una forma de colocar el archivo resources.properties en la ubicación correcta para resolver correctamente. No hay referencias en el código a resources_en_US, así que supongo que la única forma de hacerlo funcionar es parchear el directorio en la aplicación y reconstruirlo. Pero si hay una manera más fácil de resolver este problema, también estaría de acuerdo.