klurosu
18/05/13, 03:17:38
Noche de sabado... noche de (cof...cof) colores (ejem!).
Este tutorial es cansino, muy cansino, pero podremos tener por fin el deseado efecto de tinta en nuestros I9105 / I9105P.
Necesitaremos:
HoloxTool_v1.0.1 (https://docs.google.com/file/d/0B4gZLyPSGvqhYlRxTXhpeTZQZ0k/edit?usp=sharing)
Apk.Manager (https://docs.google.com/file/d/0B4gZLyPSGvqhVjFISzlNQXJXOVk/edit?usp=sharing)
android.policy.jar
SecSettings.apk
Ficheros (https://docs.google.com/file/d/0B4gZLyPSGvqhSHk1TDlXMUcxRkk/edit?usp=sharing)
Al Turron!!!
Parte 1
1. Decompila “SecSettings.apk” con Apk.Manager
(pon “SecSettings.apk” dentro de la carpeta “place-apk-here-for-modding” y ejecuta “Script.bat”. Selecciona la opción “9”)
2. Descomprime el archivo “Ficheros” y pasa todas las imágenes de la carpeta “Ficheros\SecSettings\res.drawable-xhdpi”a la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\res\dra wable-xhdpi”
3. Vete a: “Apk.Manager\projects\SecSettings.apk\res\val ues” y abre el archivo strings.xml
4. Asegurate de tener las lineas que ves aqui abajo. Si no las tuvieras o tuvieses… crealas JUSTO ANTES del final de la linea final: </resources>
<string name="ink_effect">Ink effect</string>
<string name="inkeffect_help_body">Show ink effect on the lock screen. If a live wallpaper is set on the lock screen, the ink effect will be disabled automatically</string>
<string name="ink_effect_color_none">None</string>
<string name="ink_effect_color_pink">Pink</string>
<string name="ink_effect_color_orange">Orange</string>
<string name="ink_effect_color_green">Green</string>
<string name="ink_effect_color_blue">Blue</string>
<string name="ink_effect_color_navy">Navy</string>
<string name="ink_effect_color_purple">Purple</string>
<string name="ink_effect_color_brown">Brown</string>
<string name="ink_effect_color_lightblue">Light Blue</string>
<string name="ink_effect_color_red">Red</string>
<string name="ink_effect_color_black">Black</string>
5. Cierra el documento guardando los cambios.
6. Compila mediante la opción “11” del menú de Apk.Manager.
7. Decompila de nuevo el archivo que acabas de compilar.
8. Copia el archivo “InkeffectPreview.smali” que tienes en la carpeta “Ficheros\SecSettings” en la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\smali\com\an droid\settings”
9. Abre “InkeffectPreview.smali” y vete a la siguiente línea:
: array_14
.array-data 0x4
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
.end array-data
:array_2a
.array-data 0x4
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
.end array-data
10. Ahora viene lo bueno! puesto que tenemos que volcar datos que tenemos en nuestro public.xml en esta mini tabla. Que datos?... los colores.
Los primeros arrays pertenecen a los colores “ink_none” y el segundo grupo de arrays pertenecen a los “ink_none_h”.
11. Ve a la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\res\val ues”, abre el archivo public.xml y busca la linea:
<public type="drawable" name="ink_none" id="0x7f0203ba" />
Esta línea es la primera de los array que tienes mas arriba (0xb7t 0x3t 0x2t 0x7ft) pero hay que dejarla en su forma correcta, es decir: 0xbat 0x03t 0x02t 0x7ft.
Aquí os dejo un ejemplo mas grafico:
<string name="ink_effect">Ink effect</string>
: array_14
.array-data 0x4
0xbat 0x03t 0x02t 0x7ft
<public type="drawable" name="ink_none" id="0x7f0203ba" />
La concordancia es fácil, es sistema es simple pero si, es muy cansino, ya que hay que hacer lo mismo con todos los 11 arrays del primer grupo (ugh!!).
Ahora le toca el truno a los arrays del segundo grupo, busca la siguiente línea en el archivo public.xml:
<public type="drawable" name="ink_none_h" id="0x7f0203bb" />
Esta línea es la primera de los array del segundo grupo que tienes mas arriba (0xadt 0x1t 0x2t 0x7ft) pero hay que dejarla en su forma correcta, es decir: 0xbbt 0x03t 0x02t 0x7ft.
Aquí os dejo un ejemplo mas grafico:
:array_2a
.array-data 0x4
0xbbt 0x03t 0x02t 0x7ft
Ya sabeis lo que os toca… a buscar las 11 concordancias en public.xml y colocarlas bien en los arrays.
Para que sea mas sencillo, os dejo el orden exacto que debe de tener la tabla:
:array_14
.array-data 0x4
ink_none
ink_pink
ink_orange
ink_green
ink_blue
ink_navy
ink_purple
ink_brown
ink_lightblue
ink_red
ink_black
.end array-data
:array_2a
.array-data 0x4
ink_none_h
ink_pink_h
ink_orange_h
ink_green_h
ink_blue_h
ink_navy_h
ink_purple_h
ink_brown_h
ink_lightblue_h
ink_red_h
ink_black_h
.end array-data
12. Lo peor NO ha pasado ya que aun teneis que buscar en el fichero “InkeffectPreview.smali” mas concordancias de colores que arreglar (y usaremos los datos de public.xml para arreglarlo)
13. Busca en “InkeffectPreview.smali” estas “const” y cambialas por los valores correctos que tienes en public.xml:
const v4, 0x7???????8
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v3, "None"
const v4, 0x7???????8
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v3, "Pink"
const v4, 0x7???????8
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v3, "Orange"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Green"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Blue"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Navy"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Purple"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Brown"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Light Blue"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Red"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Black"
Los valores que tienes que buscar en public.xml son estos:
ink_effect_color_none
ink_effect_color_pink
ink_effect_color_orange
ink_effect_color_green
ink_effect_color_blue
ink_effect_color_navy
ink_effect_color_purple
ink_effect_color_brown
ink_effect_color_lightblue
ink_effect_color_red
ink_effect_color_black
14. Copia el archivo “LockScreenSettings.smali” que tienes en la carpeta “Ficheros\SecSettings” en la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\smali\com\an droid\settings”
15. Abre “LockScreenSettings.smali” y vete a la siguiente línea:
:array_10
.array-data 0x4
0x09t 0xft 0x9t 0x7ft
0x0at 0xft 0x9t 0x7ft
0x4ft 0xdt 0x9t 0x7ft
0x50t 0xdt 0x9t 0x7ft
0x52t 0xdt 0x9t 0x7ft
0x53t 0xdt 0x9t 0x7ft
0x54t 0xdt 0x9t 0x7ft
0x51t 0xdt 0x9t 0x7ft
0x0bt 0xft 0x9t 0x7ft
.end array-data
Aquí tenemos que volcar (ooootra vez) datos que tenemos en nuestro public.xml en esta mini tabla. Estos arrays pertenecen a los efectos “ink_effect_color_none y el método para corregilos es exactamente igual al que hicimos antes.
Os dejo otro ejemplo:
:array_10
.array-data 0x4
0x09t 0xft 0x9t 0x7ft
Esta línea es la primera de los array que tienes mas arriba (0x09t 0xft 0x9t 0x7ft) pero hay que dejarla en su forma correcta, es decir: 0x09t 0x0ft 0x09t 0x7ft.
Aquí os dejo un ejemplo mas grafico:
<public type="string" name="ink_effect_color_none" id="0x7f090f09" />
:array_10 .array-data 0x4 0x09t 0x0ft 0x09t 0x7ft
Asi que, deja todos los arrays con sus correspondientes datos del public.xml y …casi habremos terminado.
Aquí os dejo el orden de búsqueda en public.xml:
ink_effect_color_none
ink_effect_color_pink
ink_effect_color_orange
ink_effect_color_green
ink_effect_color_blue
ink_effect_color_navy
ink_effect_color_purple
ink_effect_color_brown
ink_effect_color_lightblue
ink_effect_color_red
ink_effect_color_black
16. Recompila “SecSettings” (mediante la opción “11” del menú de Apk.Manager)
Parte 2
1. Abre “android.policy.jar” con “WinRAR” y saca el archivo “clases.dex” para meterlo dentro de la carpeta “HoloxTool”…”dex” y ejecuta el archivo “HoloxTool.bat”
(selecciona la opción “2”)
2. Vete a la carpeta: “Ficheros\android.policy.jar” y copia TODO el contenido dentro de: “HoloxTool_v1.0.1\database\dex\classout\com\androi d\internal\policy\impl\Sec”
3. Recompila android.policy.jar mediante la opción “3” del menú de “HoloxTool_v1.0.1”.
10. copia el archivo “new-classes.dex” que hay dentro de “HoloxTool_v1.0.1\database\dex” al escritorio y renómbralo a “classes.dex”
4. Abre “android.policy.jar” con “WinRAR” y mete el archivo “classes.dex” que tienes en tu escritorio (machacará el que hay dentro)
Ahora solo queda pasar los archivos a nuestra ROM y disfrutar del efecto tinta en tu I9105 /I9105P
http://i.imgur.com/XC8OCW0.png
Este tutorial es cansino, muy cansino, pero podremos tener por fin el deseado efecto de tinta en nuestros I9105 / I9105P.
Necesitaremos:
HoloxTool_v1.0.1 (https://docs.google.com/file/d/0B4gZLyPSGvqhYlRxTXhpeTZQZ0k/edit?usp=sharing)
Apk.Manager (https://docs.google.com/file/d/0B4gZLyPSGvqhVjFISzlNQXJXOVk/edit?usp=sharing)
android.policy.jar
SecSettings.apk
Ficheros (https://docs.google.com/file/d/0B4gZLyPSGvqhSHk1TDlXMUcxRkk/edit?usp=sharing)
Al Turron!!!
Parte 1
1. Decompila “SecSettings.apk” con Apk.Manager
(pon “SecSettings.apk” dentro de la carpeta “place-apk-here-for-modding” y ejecuta “Script.bat”. Selecciona la opción “9”)
2. Descomprime el archivo “Ficheros” y pasa todas las imágenes de la carpeta “Ficheros\SecSettings\res.drawable-xhdpi”a la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\res\dra wable-xhdpi”
3. Vete a: “Apk.Manager\projects\SecSettings.apk\res\val ues” y abre el archivo strings.xml
4. Asegurate de tener las lineas que ves aqui abajo. Si no las tuvieras o tuvieses… crealas JUSTO ANTES del final de la linea final: </resources>
<string name="ink_effect">Ink effect</string>
<string name="inkeffect_help_body">Show ink effect on the lock screen. If a live wallpaper is set on the lock screen, the ink effect will be disabled automatically</string>
<string name="ink_effect_color_none">None</string>
<string name="ink_effect_color_pink">Pink</string>
<string name="ink_effect_color_orange">Orange</string>
<string name="ink_effect_color_green">Green</string>
<string name="ink_effect_color_blue">Blue</string>
<string name="ink_effect_color_navy">Navy</string>
<string name="ink_effect_color_purple">Purple</string>
<string name="ink_effect_color_brown">Brown</string>
<string name="ink_effect_color_lightblue">Light Blue</string>
<string name="ink_effect_color_red">Red</string>
<string name="ink_effect_color_black">Black</string>
5. Cierra el documento guardando los cambios.
6. Compila mediante la opción “11” del menú de Apk.Manager.
7. Decompila de nuevo el archivo que acabas de compilar.
8. Copia el archivo “InkeffectPreview.smali” que tienes en la carpeta “Ficheros\SecSettings” en la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\smali\com\an droid\settings”
9. Abre “InkeffectPreview.smali” y vete a la siguiente línea:
: array_14
.array-data 0x4
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
0xact 0x1t 0x2t 0x7ft
.end array-data
:array_2a
.array-data 0x4
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
0xadt 0x1t 0x2t 0x7ft
.end array-data
10. Ahora viene lo bueno! puesto que tenemos que volcar datos que tenemos en nuestro public.xml en esta mini tabla. Que datos?... los colores.
Los primeros arrays pertenecen a los colores “ink_none” y el segundo grupo de arrays pertenecen a los “ink_none_h”.
11. Ve a la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\res\val ues”, abre el archivo public.xml y busca la linea:
<public type="drawable" name="ink_none" id="0x7f0203ba" />
Esta línea es la primera de los array que tienes mas arriba (0xb7t 0x3t 0x2t 0x7ft) pero hay que dejarla en su forma correcta, es decir: 0xbat 0x03t 0x02t 0x7ft.
Aquí os dejo un ejemplo mas grafico:
<string name="ink_effect">Ink effect</string>
: array_14
.array-data 0x4
0xbat 0x03t 0x02t 0x7ft
<public type="drawable" name="ink_none" id="0x7f0203ba" />
La concordancia es fácil, es sistema es simple pero si, es muy cansino, ya que hay que hacer lo mismo con todos los 11 arrays del primer grupo (ugh!!).
Ahora le toca el truno a los arrays del segundo grupo, busca la siguiente línea en el archivo public.xml:
<public type="drawable" name="ink_none_h" id="0x7f0203bb" />
Esta línea es la primera de los array del segundo grupo que tienes mas arriba (0xadt 0x1t 0x2t 0x7ft) pero hay que dejarla en su forma correcta, es decir: 0xbbt 0x03t 0x02t 0x7ft.
Aquí os dejo un ejemplo mas grafico:
:array_2a
.array-data 0x4
0xbbt 0x03t 0x02t 0x7ft
Ya sabeis lo que os toca… a buscar las 11 concordancias en public.xml y colocarlas bien en los arrays.
Para que sea mas sencillo, os dejo el orden exacto que debe de tener la tabla:
:array_14
.array-data 0x4
ink_none
ink_pink
ink_orange
ink_green
ink_blue
ink_navy
ink_purple
ink_brown
ink_lightblue
ink_red
ink_black
.end array-data
:array_2a
.array-data 0x4
ink_none_h
ink_pink_h
ink_orange_h
ink_green_h
ink_blue_h
ink_navy_h
ink_purple_h
ink_brown_h
ink_lightblue_h
ink_red_h
ink_black_h
.end array-data
12. Lo peor NO ha pasado ya que aun teneis que buscar en el fichero “InkeffectPreview.smali” mas concordancias de colores que arreglar (y usaremos los datos de public.xml para arreglarlo)
13. Busca en “InkeffectPreview.smali” estas “const” y cambialas por los valores correctos que tienes en public.xml:
const v4, 0x7???????8
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v3, "None"
const v4, 0x7???????8
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v3, "Pink"
const v4, 0x7???????8
invoke-virtual {v3, v4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v3, "Orange"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Green"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Blue"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Navy"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Purple"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Brown"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Light Blue"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Red"
const v5, 0x7???????8
invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
const-string v4, "Black"
Los valores que tienes que buscar en public.xml son estos:
ink_effect_color_none
ink_effect_color_pink
ink_effect_color_orange
ink_effect_color_green
ink_effect_color_blue
ink_effect_color_navy
ink_effect_color_purple
ink_effect_color_brown
ink_effect_color_lightblue
ink_effect_color_red
ink_effect_color_black
14. Copia el archivo “LockScreenSettings.smali” que tienes en la carpeta “Ficheros\SecSettings” en la ruta del Apk.Manager: “Apk.Manager\projects\SecSettings.apk\smali\com\an droid\settings”
15. Abre “LockScreenSettings.smali” y vete a la siguiente línea:
:array_10
.array-data 0x4
0x09t 0xft 0x9t 0x7ft
0x0at 0xft 0x9t 0x7ft
0x4ft 0xdt 0x9t 0x7ft
0x50t 0xdt 0x9t 0x7ft
0x52t 0xdt 0x9t 0x7ft
0x53t 0xdt 0x9t 0x7ft
0x54t 0xdt 0x9t 0x7ft
0x51t 0xdt 0x9t 0x7ft
0x0bt 0xft 0x9t 0x7ft
.end array-data
Aquí tenemos que volcar (ooootra vez) datos que tenemos en nuestro public.xml en esta mini tabla. Estos arrays pertenecen a los efectos “ink_effect_color_none y el método para corregilos es exactamente igual al que hicimos antes.
Os dejo otro ejemplo:
:array_10
.array-data 0x4
0x09t 0xft 0x9t 0x7ft
Esta línea es la primera de los array que tienes mas arriba (0x09t 0xft 0x9t 0x7ft) pero hay que dejarla en su forma correcta, es decir: 0x09t 0x0ft 0x09t 0x7ft.
Aquí os dejo un ejemplo mas grafico:
<public type="string" name="ink_effect_color_none" id="0x7f090f09" />
:array_10 .array-data 0x4 0x09t 0x0ft 0x09t 0x7ft
Asi que, deja todos los arrays con sus correspondientes datos del public.xml y …casi habremos terminado.
Aquí os dejo el orden de búsqueda en public.xml:
ink_effect_color_none
ink_effect_color_pink
ink_effect_color_orange
ink_effect_color_green
ink_effect_color_blue
ink_effect_color_navy
ink_effect_color_purple
ink_effect_color_brown
ink_effect_color_lightblue
ink_effect_color_red
ink_effect_color_black
16. Recompila “SecSettings” (mediante la opción “11” del menú de Apk.Manager)
Parte 2
1. Abre “android.policy.jar” con “WinRAR” y saca el archivo “clases.dex” para meterlo dentro de la carpeta “HoloxTool”…”dex” y ejecuta el archivo “HoloxTool.bat”
(selecciona la opción “2”)
2. Vete a la carpeta: “Ficheros\android.policy.jar” y copia TODO el contenido dentro de: “HoloxTool_v1.0.1\database\dex\classout\com\androi d\internal\policy\impl\Sec”
3. Recompila android.policy.jar mediante la opción “3” del menú de “HoloxTool_v1.0.1”.
10. copia el archivo “new-classes.dex” que hay dentro de “HoloxTool_v1.0.1\database\dex” al escritorio y renómbralo a “classes.dex”
4. Abre “android.policy.jar” con “WinRAR” y mete el archivo “classes.dex” que tienes en tu escritorio (machacará el que hay dentro)
Ahora solo queda pasar los archivos a nuestra ROM y disfrutar del efecto tinta en tu I9105 /I9105P
http://i.imgur.com/XC8OCW0.png