Ver Mensaje Individual
  #38  
Viejo 31/12/15, 13:27:41
Array

[xs_avatar]
MonXP MonXP no está en línea
Miembro del foro
 
Fecha de registro: abr 2014
Mensajes: 381
Modelo de smartphone: Xiaomi Mi A1
Tu operador: Euskaltel Móvil
Manual a medio hacer:

Programas necesarios:
En el smartphone: Total commander o algún otro explorador de archivos que permita acceso root (Solid explorer, root explorer…)
En el PC: apktool, beyond compare y notepad++ (de estos dos, se pueden usar programas similares, según gustos).

Instalación básica de APKTOOL:
Vamos a http://ibotpeaches.github.io/Apktool/install y seguimos las instrucciones.
Básicamente:
Necesitamos JRE 1.7 (yo he probado con 1.8 y parece que funciona, hay una discusión en xda sobre el tema).
Descargamos los archivos https://raw.githubusercontent.com/iB...ws/apktool.bat y https://bitbucket.org/iBotPeaches/ap...tool_2.0.2.jar
Renombramos apktool a “apktool.jar” y nos aseguramos de que la extensión de apktool.bat sea .bat (archivo por lotes de windows).
Copiamos o movemos estos archivos a c:\windows.


Como apktool se usa en simbolo de sistema (a partir de ahora cmd), os voy a explicar brevemente el uso del CMD que le vamos a dar.
Uso MUY MUY básico de CMD:
Abrimos cmd (inicio->ejecutar->cmd.exe, también podemos buscar símbolo de sistema, pedirle cmd a cortana…)
Inicia en c:\users\nombreusuario\ para ir al escritorio hacemos un cambio de directorio, o cd. En este caso escribimos “cd desktop”. Si nos equivocamos y queremos volver a la carpeta anterior escribimos “cd..”.
Para sacar un listado de lo que hay en el directorio en el que estamos escribimos “dir”.
Cuando terminemos, podemos salir escribiendo “exit”.

Uso básico de APKTOOL:
Manual: http://ibotpeaches.github.io/Apktool/documentation
Abrimos cmd y vamos al escritorio como he explicado antes.
Agregar el framework:
Esto tenemos que hacerlo la primera vez que lo usamos, para que no de errores al compilar/decompilar. Tenemos que sacar el framework del smartphone e instalarlo en el apktool. El framework es un apk que está en /system/framework/ y se llama framework-res.apk
apktool install-framework framework-res.apk
Desempaquetar:
apktool decode nombrearchivo.apk
Nos creará una carpeta con el nombre del archivo en la misma ruta. Si ya existe dará error.
Compilar:
apktool build nombrecarpeta –o nombrearchivo.apk
Cogerá la carpeta que haya en la misma ruta y la convertirá en el apk en que le digamos. Si el apk ya existe, dará error.


PROCESO DE LA PRIMERA TRADUCCIÓN
PASO 1: PREPARAMOS EL APK PARA EXPORTAR
He instalado el Total Commander, un visualizador de archivos que permite acceso Root, por lo que puedo acceder a carpetas de sistema. Otras opciones: Root Explorer, Solid Explorer, ES File Explorer. Lo he elegido porque es gratuíto y no tiene sorpresas como el ES File Explorer.

Primero he copiado los framework. Para eso he ido a /system/framework/ y he copiado framework-res.apk a la sdcard interna (a la que tengo acceso a través del PC). Después he ido a /system/framework/flyme-res y he copiado flyme-res.apk a la sdcard interna. ESTO SÓLO HAY QUE HACERLO LA PRIMERA VEZ, DESPUÉS BASTA CON EXPORTAR LOS APK A TRADUCIR.
Luego, he aprovechado y he sacado un apk de los que quiero traducir, en este caso SystemUI.apk. He ido a /system/priv-apps/systemui/ y he copiado el apk a la sd interna.

PASO 2: COPIO AL PC Y DECOMPILO
He conectado el Pro 5 al PC (Windows 10) y he copiado framework-res.apk, flyme-res.apk y systemui.apk a mi escritorio.
He instalado los framework como he dicho antes apktool install-framework framework-res.apk y apktool install-framework flyme-res.apk. Con esto quedan instalados los frameworks. Si lo hemos hecho bien no necesitaremos hacerlo más.

Después he decompilado SystemUI.apk con apktool decode systemui.apk

PASO 3: EMPEZAMOS LA TRADUCCIÓN
He ido a la carpeta systemui que se acaba de generar y he entrado en la carpeta res. Dentro encuentro una carpeta value por cada idioma con 3 archivos. plurals.xml, arrays.xml y strings.xml. Hay una carpeta que se llama “values” que es la que tiene los textos en Inglés. Generamos una carpeta values-es y copiamos plurals.xml, arrays.xml y strings.xml del que está en inglés.
Opción 1: Tenemos el apk de una versión anterior traducida.
Abrimos beyond compare y seleccionamos el xml a traducir (strings.xml) y la versión antigua, ya traducida. Este programa nos mostrará las diferencias entre uno y otro. Tenemos que recorrer el texto traduciendo directamente lo que se pueda y traduciendo a mano lo que falte. Guardamos los cambios. Hacemos lo mismo con arrays.xml y plurals.xml
Opción 2: No tenemos apk de una versión anterior traducida.
Abrimos el xml a traducir (strings.xml) y buscamos las partes que se muestran en inglés. Las traducimos a castellano manualmente, intentando siempre mantener la longitud del texto lo más aproximado posible, para evitar posibles descuadres (no debería pasar, pero somos novatos, por si acaso). Hacemos lo mismo con arrays.xml y plurals.xml

PASO 4: COMPILAMOS Y AÑADIMOS LAS FIRMAS
Esto todavía no lo he probado. En principio compilar no tiene ningún misterio si hemos instalado el framework. Hacemos apktool build nombrecarpeta –o nombrearchivo.apk y listo. Lo que yo haría es crear una carpeta en la que guardo los ficheros originales, dejando libre el escritorio. Así al volver a compilar, no da el error de que el archivo ya existe.
OJO: Al crear el nombre de archivo, respetad mayúsculas-minúsculas. Si no, Android lo reconocerá como un archivo distinto.
Siguiendo la explicación de @iicc, para añadir las firmas tenemos que abrir la apk recién compilada con Winrar o 7Zip. Ahora arrastramos el contenido de la carpeta /original al interior de la apk (la carpeta META-INF y AndroidManifest.xml). Te dirá si quieres sustituir los contenidos y le dices que sí. Y después de esto ya puedes pasar la apk al movil.

PASO 5: COPIAMOS AL PC DE VUELTA
Esto también lo tengo sin hacer aún, pero no tiene ningún misterio. Enchufamos el smartphone al PC y copiamos el nuevo archivo a la SD interna.

PASO 6: LO PASAMOS A SU RUTA ORIGINAL
Por supuesto, aún sin hacer. Esto lo hacemos con el Total Commander.
Lo primero que haría sería renombrar (en la misma carpeta) el archivo (en nuestro caso SystemUI.apk), así tenemos una copia preparada por si hay problemas. Luego, copiamos el nuevo SystemUI.apk de la sd interna a su ruta original. Reiniciamos y rezamos.

Faltan cosas, pero nos vale como primera aproximación. En cuanto pueda hago el proceso completo y os digo algo.

Última edición por MonXP Día 02/01/16 a las 10:56:31.
Responder Con Cita
Gracias de parte de: