pitonio
Simdualero de Oro
7. ADB: Cuando arranca el tlf (modo normal o recovery) y lo conectamos al ordenador se comunica con el comando ADB. Podemos instalar un programa grafico en en el Pc (yo uso QTADB para Windows) o podemos usar modo texto en el PC. Conectar vuestro tlf con depuracion activada.
Para el modo texto nos hace falta los archivos: si mirais en mtkdroidtools teneis un subdirectorio llamado adb. Dentro tenemos los archivos necesarios. Ahora abrir una ventana dos en ese directorio o ejecutais mtkdroidtool, pulsais sobre “ADB terminal”y se abre una ventana dos el directorio (y si no entrais en ella con “cd adb”). Escribir “adb” y entrar. Con esto vemos que el programa lo tenemos operativo. Ahora ejecutar “adb devices”, si encuentra nuestro tlf nos mostrara mediante un nº de serie que lo ha encontrado. Podeis ejecutar cualquier orden, como si estuvierais escribiendo en el propio tlf.
En modo grafico podemos realizar tareas basicas de copiar,mover……pero el modo texto es el mas potente: lo controlamos todo si sabemos el uso de comandos de android (linux) por la consola.
Para mas comandos adb buscar por google y veréis la cantidad de pagina. OS dejo alguna:
http://www.elandroidelibre.com/2013/...s-conocer.html
http://www.androidvzla.com/2012/02/1...-adb-para.html
http://www.androidsis.com/comandos-b...l-sdk-android/
Pondremos un ejemplo de uso con ADB (os servira para copiar apk borradas y teneis muchos errores de inicio). Yo tengo una rom odex y lo que voy a hacer es deodexarla y meterla al movil. Para ello haremos dos procesos: 1) deodexar con Android kitchen, 2) copiarlo al telefono.
Proceso 1) Deodexar las apk: este paso esta explicado en el punto 6d
Proceso 2) Copiar las apk al tlf : la idea es copiar todo lo deodexado a su mismo directorio.
Lo primerisimo, BACKUP DE VUESTRO MOVIL. Arranco el tlf pulsando " power+volumen up " y cuando aparece el menu para elegir el arranque de fastboot o recovery, no elegimos nada o arrancamos en modo recovery. La diferencia entre un arraque u otro es que no nos monte los directorios y lo tengamos que hacer a mano. Conectamos el tlf al pc. Tengo mi rom deodexada en un directorio en la unidad D llamado COPIA. Copio aqui dentro mi \system deodexado (cada uno cree su directorio en la ruta que quiera y la sustituya por lo dicho aqui).
Ahora me interesan las carpetas que tienen odex: http://www.4shared.com/rar/RCy0UvEO/apk_signapk.html
1.1) d:\copia\system\app
2.2) d:\copia\system\framework
3.3) d:\copia\system\vendor\app
4.4) d:\copia\system\vendor\operattor\app
Copio mi fichero " 0_copiar.bat " a cada directorio anterior. Contenido del fichero " 0_copiar.bat " (la funcion es copiar las apk y jar del PC al tlf en su mismo directorio):
1.1) d:\copia\system\app
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/app/%%Y
@ pause
2.2) d:\copia\system\framework (recordar que jar tambien estaban odex)
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/framework/%%Y
@ FOR %%Y IN (*.jar) DO adb push %%Y /system/framework/%%Y
@ pause
3.3) d:\copia\system\vendor\app
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/vendor/app/%%Y
@ pause
4.4) d:\copia\system\vendor\operattor\app
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/vendor/operator/app/%%Y
@ pause
Ahora copio los ficheros a cada directorio: signapk.jar, testkey.pk8, testkey.x509.pem, zipalign.exe. Nos serviran para optimizar las aplicaciones. Ahora copio mi fichero " 0_firmar_alinear_renombrar_directorio_actual.bat " a cada directorio anterior. En este caso el contenido del fichero es el mismo para todos, lectura del fichero:
@ pause
rem eliminamos por si acaso forzando borrado
del 1firmado*.* /F /Q
del 0alineado*.* /F /Q
rem Ahora firmamos con signapk
FOR %%f IN (*.apk) DO java -jar signapk.jar testkey.x509.pem testkey.pk8 %%f 1firmado_%%f
rem Ahora alineamos con zipaling
FOR %%h IN (1firmado*.apk) DO zipalign -v 4 %%h 0alineado_%%h
rem paso parametros a la etiqueta label
@ FOR /R %%X in (0alineado*.apk) DO call:label %%~nX
rem fin de bucle FOR
goto:fin
:label
set uno=%1
set dos=%uno%
rem renombro con copy forzando sobreescribir. Elimino la premisa (0alineado_1firmado_)
copy %uno%.apk %dos:~19%.apk /Y
rem informo fin de etiqueta para retorno a comando FOR
goto:eof
:fin
rem eliminamos los generados forzando borrado
del 1firmado*.*
del 0alineado*.*
@ echo programa terminado
@ pause
Ahora en la carpeta donde tengo instalado mtkdroidtools, vereis que hay una carpeta llamada "adb". Copiar los tres ficheros (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) a cada directorio anterior.
Empezamos la fiesta: ejecutamos "0_firmar_alinear_renombrar_directorio_actual. bat" de cada directorio y nos optimizara las apk. Cuando termine, se cierran las ventanas dos.
Abrimos una consola en windows y nos desplazamos a d:\windows\system\app (observar las \ en windows y / en linux). Ejecuto:
adb devices (nos debe salir nuestro nº de serie del dispositivo)
adb shell (abrimos una shell del tlf en nuestra ventana dos)
su (verificar # de superuser)
cd /system/app (entramos a /system/app)
ls -l (lista apk y odex. Observar permisos y propietario)
rm *.* ( y aqui puede estar la pega: es solo lectura)
mount | grep system (vereis que si sale ro: solo lectura)
mount -o rw,remount /system ( remonto como escritura )
mount | grep system (vereis que sale rw: escritura)
rm *.* (ahora si me deja borrar)
ls -l (no tengo nada)
exit (salgo a dos. Ahora estoy en "msdos", en el directorio d:\windows\system\app)
0_copiar (y veremos como copia las apk a system del tlf)
adb devices
adb shell
su
cd /system/app
ls -l
chown root.root *.* (cambio propietario)
chmod 644 *.* (cambio permisos)
ls -l (verifico los cambios)
exit (salgo de superuser)
exit (salgo de la shell del tlf)
exit (salgo de la ventana dos)
Y aqui repetimos el mismo proceso para todos los directorios anteriores que faltan (2.2, 3.3, 4.4).
Ya tenemos copiadas las apk deodex. Si teneis CWM instalado y leisteis el manual de cwm en el punto Fix permissions, os habreis dado cuenta que al tener nuevas apk (aunque sea mismo nombre) puede ser que se creen PID diferentes. Podemos arrancar el tlf y funcionar todas las aplicaciones OK, sin perdidas de datos o puede ser que algunas dejen de funcionar. En este caso debemos ejecutar el script para Fix permisos (y rezar para que funcione).
Pero si optamos por instalacion nueva (lo mas normal), hay que borrar /cache y /data. Si hemos iniciado en recovery podemos hacer esto con Wipe data/Factory reset, que es lo mas rapido y seguro. Y si alguien se anima que lo haga por ADB. Ya lo tenemos todo. Reiniciamos el tlf. En mi caso despues de aburrirme, el logo queda sin animacion, por lo que quito bateria y reinicio. Idem.
Para el modo texto nos hace falta los archivos: si mirais en mtkdroidtools teneis un subdirectorio llamado adb. Dentro tenemos los archivos necesarios. Ahora abrir una ventana dos en ese directorio o ejecutais mtkdroidtool, pulsais sobre “ADB terminal”y se abre una ventana dos el directorio (y si no entrais en ella con “cd adb”). Escribir “adb” y entrar. Con esto vemos que el programa lo tenemos operativo. Ahora ejecutar “adb devices”, si encuentra nuestro tlf nos mostrara mediante un nº de serie que lo ha encontrado. Podeis ejecutar cualquier orden, como si estuvierais escribiendo en el propio tlf.
En modo grafico podemos realizar tareas basicas de copiar,mover……pero el modo texto es el mas potente: lo controlamos todo si sabemos el uso de comandos de android (linux) por la consola.
Para mas comandos adb buscar por google y veréis la cantidad de pagina. OS dejo alguna:
http://www.elandroidelibre.com/2013/...s-conocer.html
http://www.androidvzla.com/2012/02/1...-adb-para.html
http://www.androidsis.com/comandos-b...l-sdk-android/
Pondremos un ejemplo de uso con ADB (os servira para copiar apk borradas y teneis muchos errores de inicio). Yo tengo una rom odex y lo que voy a hacer es deodexarla y meterla al movil. Para ello haremos dos procesos: 1) deodexar con Android kitchen, 2) copiarlo al telefono.
Proceso 1) Deodexar las apk: este paso esta explicado en el punto 6d
Proceso 2) Copiar las apk al tlf : la idea es copiar todo lo deodexado a su mismo directorio.
Lo primerisimo, BACKUP DE VUESTRO MOVIL. Arranco el tlf pulsando " power+volumen up " y cuando aparece el menu para elegir el arranque de fastboot o recovery, no elegimos nada o arrancamos en modo recovery. La diferencia entre un arraque u otro es que no nos monte los directorios y lo tengamos que hacer a mano. Conectamos el tlf al pc. Tengo mi rom deodexada en un directorio en la unidad D llamado COPIA. Copio aqui dentro mi \system deodexado (cada uno cree su directorio en la ruta que quiera y la sustituya por lo dicho aqui).
Ahora me interesan las carpetas que tienen odex: http://www.4shared.com/rar/RCy0UvEO/apk_signapk.html
1.1) d:\copia\system\app
2.2) d:\copia\system\framework
3.3) d:\copia\system\vendor\app
4.4) d:\copia\system\vendor\operattor\app
Copio mi fichero " 0_copiar.bat " a cada directorio anterior. Contenido del fichero " 0_copiar.bat " (la funcion es copiar las apk y jar del PC al tlf en su mismo directorio):
1.1) d:\copia\system\app
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/app/%%Y
@ pause
2.2) d:\copia\system\framework (recordar que jar tambien estaban odex)
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/framework/%%Y
@ FOR %%Y IN (*.jar) DO adb push %%Y /system/framework/%%Y
@ pause
3.3) d:\copia\system\vendor\app
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/vendor/app/%%Y
@ pause
4.4) d:\copia\system\vendor\operattor\app
@ pause
@ FOR %%Y IN (*.apk) DO adb push %%Y /system/vendor/operator/app/%%Y
@ pause
Ahora copio los ficheros a cada directorio: signapk.jar, testkey.pk8, testkey.x509.pem, zipalign.exe. Nos serviran para optimizar las aplicaciones. Ahora copio mi fichero " 0_firmar_alinear_renombrar_directorio_actual.bat " a cada directorio anterior. En este caso el contenido del fichero es el mismo para todos, lectura del fichero:
@ pause
rem eliminamos por si acaso forzando borrado
del 1firmado*.* /F /Q
del 0alineado*.* /F /Q
rem Ahora firmamos con signapk
FOR %%f IN (*.apk) DO java -jar signapk.jar testkey.x509.pem testkey.pk8 %%f 1firmado_%%f
rem Ahora alineamos con zipaling
FOR %%h IN (1firmado*.apk) DO zipalign -v 4 %%h 0alineado_%%h
rem paso parametros a la etiqueta label
@ FOR /R %%X in (0alineado*.apk) DO call:label %%~nX
rem fin de bucle FOR
goto:fin
:label
set uno=%1
set dos=%uno%
rem renombro con copy forzando sobreescribir. Elimino la premisa (0alineado_1firmado_)
copy %uno%.apk %dos:~19%.apk /Y
rem informo fin de etiqueta para retorno a comando FOR
goto:eof
:fin
rem eliminamos los generados forzando borrado
del 1firmado*.*
del 0alineado*.*
@ echo programa terminado
@ pause
Ahora en la carpeta donde tengo instalado mtkdroidtools, vereis que hay una carpeta llamada "adb". Copiar los tres ficheros (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) a cada directorio anterior.
Empezamos la fiesta: ejecutamos "0_firmar_alinear_renombrar_directorio_actual. bat" de cada directorio y nos optimizara las apk. Cuando termine, se cierran las ventanas dos.
Abrimos una consola en windows y nos desplazamos a d:\windows\system\app (observar las \ en windows y / en linux). Ejecuto:
adb devices (nos debe salir nuestro nº de serie del dispositivo)
adb shell (abrimos una shell del tlf en nuestra ventana dos)
su (verificar # de superuser)
cd /system/app (entramos a /system/app)
ls -l (lista apk y odex. Observar permisos y propietario)
rm *.* ( y aqui puede estar la pega: es solo lectura)
mount | grep system (vereis que si sale ro: solo lectura)
mount -o rw,remount /system ( remonto como escritura )
mount | grep system (vereis que sale rw: escritura)
rm *.* (ahora si me deja borrar)
ls -l (no tengo nada)
exit (salgo a dos. Ahora estoy en "msdos", en el directorio d:\windows\system\app)
0_copiar (y veremos como copia las apk a system del tlf)
adb devices
adb shell
su
cd /system/app
ls -l
chown root.root *.* (cambio propietario)
chmod 644 *.* (cambio permisos)
ls -l (verifico los cambios)
exit (salgo de superuser)
exit (salgo de la shell del tlf)
exit (salgo de la ventana dos)
Y aqui repetimos el mismo proceso para todos los directorios anteriores que faltan (2.2, 3.3, 4.4).
Ya tenemos copiadas las apk deodex. Si teneis CWM instalado y leisteis el manual de cwm en el punto Fix permissions, os habreis dado cuenta que al tener nuevas apk (aunque sea mismo nombre) puede ser que se creen PID diferentes. Podemos arrancar el tlf y funcionar todas las aplicaciones OK, sin perdidas de datos o puede ser que algunas dejen de funcionar. En este caso debemos ejecutar el script para Fix permisos (y rezar para que funcione).
Pero si optamos por instalacion nueva (lo mas normal), hay que borrar /cache y /data. Si hemos iniciado en recovery podemos hacer esto con Wipe data/Factory reset, que es lo mas rapido y seguro. Y si alguien se anima que lo haga por ADB. Ya lo tenemos todo. Reiniciamos el tlf. En mi caso despues de aburrirme, el logo queda sin animacion, por lo que quito bateria y reinicio. Idem.
Última edición por un moderador: