Ver la Versión Completa : [ TUTORIAL ] Añadir opciones a Settings (accesos) Nuevas opciones, acceso a aplicaciones...
Veloz46
04/11/12, 03:45:10
http://www.foro-nexus.com/images/Cabezal-Web-Android.png
Necesitaremos el Notepad++ en windows o gedit en caso de linux
Descompilamos la apk que queremos añadir, la vamos a necesitar por el AndroidManifest.xml, lo localizamos y lo abrimos.
Descompilamos el Settings.apk
Buscamos el archivo "settings_headers.xml" de la ruta settings.apk/res/xml/, lo localizamos y lo abrimos.
Fijaros bien en los numeros y lo subrallado puesto que esa es al información que deberéis sacar del AndroidManifest.xml de la apk a añadir.
AndroidManifest.xml de la apk:
http://www.foro-nexus.com/Images-Foro/Mundo-Android/Cocina-Tutoriales/Añadir-opciones-a-Settings-accesos-Nuevas-opciones-acceso-a-aplicaciones/1.jpg
Os pongo el numero 1 el numero 2 y el numero 3 para que sepáis donde va cada opción.
La flecha en rojo, es para que la apk no se muestre en el launcher de origen esa linea en vez de DEFAULT pone LAUNCHER, hay que cambiar el LAUNCHER por DEFAULT y listos, esa apk no aparecerá mas en el launcher.
Ahora el "settings_headers.xml":
http://www.foro-nexus.com/Images-Foro/Mundo-Android/Cocina-Tutoriales/Añadir-opciones-a-Settings-accesos-Nuevas-opciones-acceso-a-aplicaciones/2.jpg
-Podéis ver lo subrallado y los numeros, esa es la información a añadir del "AndroidManifest.xml"
-Por ej la linea "@drawable/ic_cpu" es el icono que quieres poner a dicha función que se llamará "ic_cpu", depende de tu resolución de pantalla está en "drawable-xhdpi" o en "drawable-hdpi" mantén la misma medida de los iconos 48x48 por ej que los que sean de ajustes, o se te verá grande.
-La linea "@string/admin_cpu" es el nombre que le vamos a dar al archivo "strings.xml" de la ruta settings.apk/res/values/strings.xml
-El recuadro Rojo es la linea que vamos a poner para que muestre la opción y poder separar las opciones de las actuales. por ej las existentes de "redes" "información"... la linea "@strings/extras_personal" es la que hay que añadir en el "strings.xml" de settings.
Quedando de esta manera una vez añadidas las frases al "strings.xml":
http://www.foro-nexus.com/Images-Foro/Mundo-Android/Cocina-Tutoriales/Añadir-opciones-a-Settings-accesos-Nuevas-opciones-acceso-a-aplicaciones/3.jpg
Compiláis la aplicación de Settings, y la apk a añadir, las pasáis a al rom y listos. ;)
http://www.foro-nexus.com/showthread.php?tid=288&pid=2641#pid2641
http://www.foro-nexus.com/showthread.php?tid=288&pid=2641#pid2641
Veloz46
04/11/12, 03:52:22
Para que los cocineros añadan cosas nuevas a las roms, y otros usuarios empiecen a cocinar por ellos mismos. :ok:
Roms que contienen estos mods:
http://www.htcmania.com/showthread.php?t=481188
http://www.htcmania.com/showthread.php?t=479226
Sensei Zaldi00
04/11/12, 10:17:46
buen tutorial,estoy intentando meter la app LMT para poner sus ajustes junto con los del launcher en CM10 y que no aparezca la app en el drawer de apps del launcher,todo bien,mas o menos lo comprendo todo menos lo de poner el icono,ahí llevo 1 hora dando vueltas al asunto y al final lo he dejado por imposible
raziel-77
04/11/12, 11:16:14
Grandioso tutorial, se echaba en falta algo asi para animar a la gente a cocinar.
Pido una chincheta para esto ya!!!!
Veloz46
04/11/12, 11:17:19
buen tutorial,estoy intentando meter la app LMT para poner sus ajustes junto con los del launcher en CM10 y que no aparezca la app en el drawer de apps del launcher,todo bien,mas o menos lo comprendo todo menos lo de poner el icono,ahí llevo 1 hora dando vueltas al asunto y al final lo he dejado por imposible
Copia esto y pegalo en el archivo de settings.
Yo lo tengo en la del Nexus implementada en RomControl. (la del S2 aun no pero será una de los añadidos en la siguiente versión)
<header android:icon="@drawable/lmt" android:title="@string/lmt">
<intent android:targetPackage="com.android.lmt" android:action="android.intent.action.MAIN" android:targetClass="com.android.lmt.LMT" />
</header>
Edito:
Para que sea aun mas fácil:
La linea de values/strings.xml:
<string name="lmt">LMT Virtual</string>
y el icono te lo dejo aquí, el que yo uso.
Veloz46
04/11/12, 11:19:01
Grandioso tutorial, se echaba en falta algo asi para animar a la gente a cocinar.
Pido una chincheta para esto ya!!!!
A ver si hago también uno para añadir opciones en la barra de notificaciones junto al de ajustes. al lado de la fecha. (en las AOSP CM y AOKP es donde los meto)
Saludos!
Sensei Zaldi00
04/11/12, 11:32:28
Copia esto y pegalo en el archivo de settings.
Yo lo tengo en la del Nexus implementada en RomControl. (la del S2 aun no pero será una de los añadidos en la siguiente versión)
<header android:icon="@drawable/lmt" android:title="@string/lmt">
<intent android:targetPackage="com.android.lmt" android:action="android.intent.action.MAIN" android:targetClass="com.android.lmt.LMT" />
</header>
Edito:
Para que sea aun mas fácil:
La linea de values/strings.xml:
y el icono te lo dejo aquí, el que yo uso.
eso es lo que estaba buscando,la duda que tenia era el icono,donde estaba,luego me he dado cuenta que el icono tengo que hacerlo yo,o poner el que tu me has pasado y ponerlo en la carpeta system/drawable de la app system_settings no?
Veloz46
04/11/12, 11:57:42
Si así es, pero eso antes de compilar o te tirará error el apktool. :ok:
raziel-77
04/11/12, 12:06:27
A ver si hago también uno para añadir opciones en la barra de notificaciones junto al de ajustes. al lado de la fecha. (en las AOSP CM y AOKP es donde los meto)
Saludos!
A eso si que no sabia que se podia añadir mas opciones, si es cierto que en el ACE alguno a añadido el botos de 3 rayitas para cerrar todas las notificacion de JB en la barra de notificacionesen lugar del boton borrar un poco mas abajo en las ginger stock, pero nunca me plantee hacerle cambios yo mismo.
YossYGalaxy
04/11/12, 12:08:46
gracias por el tuto veloz!
Veloz46
04/11/12, 12:24:28
A eso si que no sabia que se podia añadir mas opciones, si es cierto que en el ACE alguno a añadido el botos de 3 rayitas para cerrar todas las notificacion de JB en la barra de notificacionesen lugar del boton borrar un poco mas abajo en las ginger stock, pero nunca me plantee hacerle cambios yo mismo.
Si algo así:
(en este caso el de apagar la pantalla y bloquear el móvil)
http://i.imgur.com/Xr51g.png
No es muy complicado, es como este pero modificando otros archivos de SystemUI.apk
Saludos!
Sensei Zaldi00
04/11/12, 13:59:18
Conseguido!!!!!! Me estaba volviendo loco con lo del icono
-----MI BATERÍA ES COMO MI CONOCIMIENTO, LO JUSTO PARA PASAR EL DÍA - - - - -
Veloz46
04/11/12, 14:06:25
En realidad cuando le pilles el truco es coser y cantar. ;)
Enviado desde un lugar llamado mundo... Si quieres ver mis trabajos pasaste por http://www.dev-puremod.es
raziel-77
08/11/12, 18:18:31
UP.
Así la gente lo ve y de paso le ponen una chincheta jejejeje
Sensei Zaldi00
08/11/12, 18:28:24
Yo le estoy sacando partido a este tutorial, no me había puesto antes porque me parecía más difícil, pero ya veo que cualquiera con un mínimo de cabeza puede modificar apps a su gusto
-----MI BATERÍA ES COMO MI CONOCIMIENTO, LO JUSTO PARA PASAR EL DÍA - - - - -
Veloz46
08/11/12, 18:41:03
Aquí tenéis mas tutoriales, por si os sirve alguno. :ok:
http://www.dev-puremod.es/tutoriales-para-la-cocina-de-android-f21
Sensei Zaldi00
08/11/12, 18:54:59
Aquí tenéis mas tutoriales, por si os sirve alguno. :ok:
http://www.dev-puremod.es/tutoriales-para-la-cocina-de-android-f21
ya les voy echando un vistazo
lokopepe
15/11/12, 15:48:03
-----MI BATERÍA ES COMO MI CONOCIMIENTO, LO JUSTO PARA PASAR EL DÍA - - - - -
Siempre me has mosqueado con esto, jajajaja. No sabía yo que tenía tan poco conocimiento!!!
:risitas::risitas::risitas:
kijodoari
20/11/12, 15:49:49
Simplemente perfecto el tutorial, tan perfecto que me puesto a añadir cosas y me ha quedado una lista en settings interminable... jeje se podrían unir en un mismo acceso? por ejemplo yo añadí voltage control, cpu spy y betterbatterystats y por otro lado autosync y auto wifi, se podria poner un acceso que me llevara a otra ventana con cpu spy, batterystats y voltage control?
kosako17
15/01/13, 18:53:29
Falta el tema de los iconos y sus id's en el publics.xml
Sensei Zaldi00
22/03/13, 19:58:52
ya estoy de vuelta,tengo un problemilla:
estoy intentando añadir un acceso directo a la app fauxclock desde ajustes/rendimiento.
La aplicacion setttings compila sin errores y el acceso se crea,el caso es que al pinchar el acceso me sale el tipico cartel de android "completar accion utilizando" y me salen un monton de apps para seleccionar,entre la que no esta la de faux ademas,es como si el sistema no reconociera la app.
dejo el codigo:
<PeferenceScreen android:title="@string/fauxclock" >
<intent android:targetPackage="com.teamkang.fauxclock" android:action="android.intent.action.MAIN" android.targetClass="com.teamkang.fauxclock.FauxClock />
</PreferenceScreen>
y el manifiest de la app,por si alguien puede ayudarme(veloz :grin:)
https://dl.dropbox.com/u/67806471/AndroidManifest.xml
Sensei Zaldi00
22/03/13, 20:02:23
Un par de capturas
Veloz46
22/03/13, 22:59:56
Tengo que volver a realizar el tutorial por que se borraron las capturas del servidor, a parte del manifest, debería ver el Settings_headers.xml o el xml que estas modificando.
Edito, si quieres poner la explicación como en la captura sale en las otras opciones añade:
android:summary="@string/orden-del-string.xml"
y añades la frase explicativa en strings.xml y listo.
creo que el problema es que estas poniendo un espacio en el clock y te falta cerrar las comillas:
android.targetClass="com.teamkang.fauxclock.FauxCl ock
Sensei Zaldi00
23/03/13, 06:42:46
Tengo que volver a realizar el tutorial por que se borraron las capturas del servidor, a parte del manifest, debería ver el Settings_headers.xml o el xml que estas modificando.
Edito, si quieres poner la explicación como en la captura sale en las otras opciones añade:
android:summary="@string/orden-del-string.xml"
y añades la frase explicativa en strings.xml y listo.
creo que el problema es que estas poniendo un espacio en el clock y te falta cerrar las comillas:
android.targetClass="com.teamkang.fauxclock.FauxCl ock
solucionado!!!!!lo del espacio y las comillas era un error de imprenta,por llamarlo de algun modo,en el codigo del xml estaba bien,el verdadero problemas estaba en android.targetClass,que tenia un punto en lugar de dos ,como puedes ver,gracias
chungero
24/03/13, 10:49:40
Podrías poner otra vez las capturas pls??? Jeje me ha tocao tirar del hilo ....
estoy siguiendo este tuto.. y me iba perfecto para cm10.1.. ahora estoy en aosp.. y no me funciona :s me tira estos errores..
/home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res/values/arrays.xml:580: error: Error: No resource found that matches the given name (at '^index_15' with value '@*android:drawable/APKTOOL_DUMMY_039f').
aapt: warning: string 'devs' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: et
aapt: warning: string 'navbar_restart_systemui_summary' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: es lt pl ru
aapt: warning: string 'pie_trigger_size_title' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ar cs de it vi
aapt: warning: string 'pref_vibe_strength_dialogtitle' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ar cs de es fr it lt pl vi
aapt: warning: string 'pref_vibe_strength_summary' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ar cs de es fr it lt pl vi
aapt: warning: string 'pref_vibe_strength_title' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ar cs de es fr it lt pl vi
aapt: warning: string 'safe_headset_restore_summary' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ar cs de es fr it lt pl vi
aapt: warning: string 'safe_headset_restore_title' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ar cs de es fr it lt pl vi
aapt: warning: string 'show_classic_recents' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ru
aapt: warning: string 'show_classic_recents_summary' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ru
aapt: warning: string 'title_tile_favcontact' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: es lt pl
aapt: warning: string 'wifi_auto_connect' has no default translation in /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res; found: ar cs de es et fr it lt pl ru sl vi
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 17, --target-sdk-version, 17, -F, /tmp/APKTOOL6962116799407332087.tmp, -0, arsc, -I, /home/nexus4/apktool/framework/1.apk, -S, /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res, -M, /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib .java:358)
at brut.androlib.Androlib.buildResources(Androlib.jav a:283)
at brut.androlib.Androlib.build(Androlib.java:206)
at brut.androlib.Androlib.build(Androlib.java:176)
at brut.apktool.Main.cmdBuild(Main.java:228)
at brut.apktool.Main.main(Main.java:79)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 17, --target-sdk-version, 17, -F, /tmp/APKTOOL6962116799407332087.tmp, -0, arsc, -I, /home/nexus4/apktool/framework/1.apk, -S, /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res, -M, /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(An drolibResources.java:357)
at brut.androlib.Androlib.buildResourcesFull(Androlib .java:336)
... 5 more
Caused by: brut.common.BrutException: could not exec command: [aapt, p, --min-sdk-version, 17, --target-sdk-version, 17, -F, /tmp/APKTOOL6962116799407332087.tmp, -0, arsc, -I, /home/nexus4/apktool/framework/1.apk, -S, /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/res, -M, /home/nexus4/Escritorio/Android-Apk-kitchen-Linux/Decompiladas/Settings.apk/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage(An drolibResources.java:355)
... 6 more
rm: no se puede borrar «Settings.apk/build/apk/AndroidManifest.xml»: No existe el archivo o el directorio
7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=es_ES.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)
Scanning
Updating archive Settings.apk
Compressing classes.dex
Everything is Ok
crazynano
16/05/13, 10:08:26
Me pasa lo mismo que a ti Danyh con codigo Slim/Aosp, a ver si Veloz o algun guru nos ilumina
warikobio
24/05/13, 19:05:50
una pregunta meti mi kitchen en ajustes y me fue bien ahora siguiendo los mismos pasos quiero meter otra app y me da error al compilar le settings, alguien sabe a que puede deberse? si es necesario os copio el log del error
Sensei Zaldi00
24/05/13, 19:16:40
una pregunta meti mi kitchen en ajustes y me fue bien ahora siguiendo los mismos pasos quiero meter otra app y me da error al compilar le settings, alguien sabe a que puede deberse? si es necesario os copio el log del error
Pon el log, yo no tengo mucha idea pero algo mejor te puedo ayudar.
warikobio
25/05/13, 11:58:13
Pon el log, yo no tengo mucha idea pero algo mejor te puedo ayudar.
ya esta solucionado, gracias igualmente, habia un pequeño fallo en el codigo ajaj me habia dejado un <header>
warikobio
25/05/13, 12:01:32
Me pasa lo mismo que a ti Danyh con codigo Slim/Aosp, a ver si Veloz o algun guru nos ilumina
mi rom es Slim/Aosp y no e tenido ningun problema para hacerlo, solo lo que e comentado arriba que ya tengo solucionado.
A ver si estais haciendo algo mal, un punto de mas o de menos puede joderlo todo, revisar bien el codigo, o poner capturas del headers con lo que estais añadiendo subrayado para que os ayudemos
khalil bengoa
01/08/13, 05:40:03
sirve en android 2.3.6 ? yo lo modifique como el tutorial i no me a parese el setting
evo100001
17/11/13, 01:17:41
sirve en android 2.3.6 ? yo lo modifique como el tutorial i no me a parese el setting
Estoy en lo mismo bro, encontraste la solución, compila todo bien, y de hecho deja colocar la linea adicional, pero al momento de instalar de nuevo, desaparece el settings.apk :loco::loco::loco: ya me tiene descabezado :oh::oh::oh::oh:
xxKirianxx
30/11/14, 12:34:00
Buen tuto, gracias por el aporte.
Si pudieras resubir las capturas de nuevo... o ponerlas manualmente, ya que sin ellas no se sabe las lineas a modificar. Y parece ser que el foro-nexus ha cerrado sus puertas :(
Una pena, un buen foro con mucha información.
Salu2.
as_de_picas
30/11/14, 16:40:58
Editado
YumKimil32
08/06/15, 07:10:38
Disculpen yo tengo una duda, espero me puedan ayudar, como hago para poner un acceso directo como en la foto, que al abrir advanced este despliega otro menú donde se encuentran las apps que se agregaron a Settings.
Espero me puedan ayudar, se los agradeceria mucho.
http://s26.postimg.org/rg4pamkw9/Screenshot_2014_11_29_17_42_39_horz.jpg
vBulletin® v3.8.1, Copyright ©2000-2026, Jelsoft Enterprises Ltd.