domingo, 31 de agosto de 2014

GPS coordinates conversion: practical use in Spain, SigPac

Without my mediatek GPS working properly, I have found in my SD card several screenshots of GPS coordinates: several months ago I was in a house in the country and I was asked to use my GPS to verify if the boundaries where ok, as the owner was suspecting the adjoining property have moved several meters the boundary ... in his own benefit.

I didn't have any special GPS application installed in bada, so I just take some screenshots, waiting to the GPS accuracy indication was 0 m.
The GPS provided data with latitude and longitude, with decimals, as well as altitude.
In Spain, there is a web application to see land distribution, and it has HTML5 interface, SigPac 
http://sigpac.magrama.es/fega/h5visor/

There are several interesting options:
- To see as a vectorial layer "parcelas" (plots) boundaries
- To search for a location: "Consultas > Buscar > coordenadas", where just UTM coordinates are allowed.
There is a "Radio" (radius) option, with 10000 as default value: it is zoom dependent. With a 100 value the zoom value is 18 (maximum is 20). 
- Query a point's coordinates: "Consultas > coordenadas del cursor"


With GPS captured coordinates points , I convert them to UTM:
http://boulter.com/gps/
http://home.hiwaay.net/~taylorc/toolbox/geography/geoutm.html
I take a plot's screenshot and with Inkscape, I draw over it the points with the captured coordinates (Sigpac shows on the left bottom corner the coordinates, and I draw "approximately" in Inkscape the corresponding point in the screenshot)

With that, I have a new boundary line ... and it seems the neighbour has moved in some points almost 3 meters the boundary ...

viernes, 29 de agosto de 2014

QR Code as whatsapp profile image

I was searching an image for my whastapp profile... but without my photo
And I have had an idea: a QR code image with an url

https://www.the-qrcode-generator.com/

It is really simple, tested and it works with
https://play.google.com/store/apps/details?id=me.scan.android.client&hl=es

jueves, 28 de agosto de 2014

GPS Mediatek second session

Looking to
https://play.google.com/store/apps/details?id=com.Double.FasterFix
which I think it is similar to FasterGps already tried, I see that

**Not for usage on phones with android 4.2 or newer**

I do not see that information in XDA forum, where it seems do the same trick with NTP server in gps.conf
http://forum.xda-developers.com/showthread.php?t=825717

Another post
http://androidayuda.com/2014/06/16/como-solucionar-los-errores-del-gps-en-procesadores-mediatek/

So I decided to change /system/buid.prop adding
dalvik.vm.execution-mode=int:fast
After reboot
shell@android:/ $ getprop dalvik.vm.execution-mode
int:fast
But it does not work ...

Another link in spanish
http://www.htcmania.com/showthread.php?t=650161
where there is a link to the following gps.conf

NTP_SERVER=es.pool.ntp.org
NTP_SERVER=0.es.pool.ntp.org
NTP_SERVER=1.es.pool.ntp.org
NTP_SERVER=2.es.pool.ntp org
NTP_SERVER=3.es.pool.ntp.org
NTP_SERVER=europe.pool.ntp.org
XTRA_SERVER_1=http://xtra1.gpsonextra.net/xtra.bin XTRA_SERVER_2=http://xtra2.gpsonextra.net/xtra.bin XTRA_SERVER_3=http://xtra3.gpsonextra.net/xtra.bin SUPL_HOST=supl.google.com
SUPL_PORT=7276
C2K_HOST=default
C2K_PORT=0
ENABLE_WIPER=1
INTERMEDIATE_POS=1
ACCURACY_THRES=5000
CURRENT_CARRIER=common
DEFAULT_AGPS_ENABLE=TRUE
DEFAULT_SSL_ENABLE=FALSE
DEFAULT_USER_PLANE=TRUE


After adb pushing this file and reboot ...  future tests in street.

Another app ... it allows to have the GPS search as a service permanently
https://play.google.com/store/apps/details?id=tisinadev.activegps&hl=es

Information link explaining several concepts
http://www.cnx-software.com/2013/11/27/how-to-fix-slow-gps-lock-on-mediatek-mt65xx-based-smartphones/

miércoles, 27 de agosto de 2014

Getting apk info to get info about app compatibiliy in Google Play ... and solving Google Maps library issue / Google Play incompatibility

With this info
http://www.androidpot.net/download-apk-files-from-playstore-to-pc
I am able to download apk
http://apps.evozi.com/apk-downloader/?id=es.openbank.apps
Opening it as a zip file, there is a file

AndroidManifest.xml
But it is encrypted ...
http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file
Trying to get some info with aapt as one comment in previous link suggests

You can directly use aapt l -a name.apk command to see the manifest.xml.

Where to download just aapt:
http://stackoverflow.com/questions/5441172/download-of-just-android-aapt-for-debian-5-0

Running ok in ubuntu 14.04 64 bits (with libs for 32 bits already installed)
./aapt l -a es.openbank.apps.apk  
Partial output related with manifest and screen


Android manifest:
N: android=http://schemas.android.com/apk/res/android
  E: manifest (line=2)
    A: android:versionCode(0x0101021b)=(type 0x10)0x3
    A: android:versionName(0x0101021c)="2.2" (Raw: "2.2")
    A: package="es.openbank.apps" (Raw: "es.openbank.apps")
    E: supports-screens (line=7)
      A: android:anyDensity(0x0101026c)=(type 0x12)0xffffffff
      A: android:smallScreens(0x01010284)=(type 0x12)0xffffffff
      A: android:normalScreens(0x01010285)=(type 0x12)0xffffffff
      A: android:largeScreens(0x01010286)=(type 0x12)0xffffffff
      A: android:resizeable(0x0101028d)=(type 0x12)0x0
    E: uses-sdk (line=14)
      A: android:minSdkVersion(0x0101020c)=(type 0x10)0x8
    E: uses-permission (line=16)

...
Or even better
./aapt dump badging es.openbank.apps.apk
Partial output
supports-screens: 'small' 'normal' 'large'
supports-any-density: 'true'
locales: '--_--'
densities: '120' '160' '240' '320'


So it is not density ...?

Another idea

$ adb install es.openbank.apps.apk
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
5401 KB/s (1277229 bytes in 0.230s)
    pkg: /data/local/tmp/es.openbank.apps.apk
Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]


Reviewing output of
./aapt l -a es.openbank.apps.apk  
I see this
      E: uses-library (line=49)
        A: android:name(0x01010003)="com.google.android.maps" (Raw: "com.google.android.maps")

And it seems logical, as app uses google maps ... and I do not have them installed
After installing google maps from Google Play, same message
So it seems to be a low level library outside apks...
https://groups.google.com/forum/#!topic/android-developers/eUbKzSJOwxo

Right, you have to consider Maps has a system-level library that can
be present or not present on devices.

 ...
Maps.jar is never added to your apk.


and this seems to be the solution

http://forums.crackberry.com/bb10-android-app-sideloading-f279/how-fix-any-android-app-dependent-google-maps-api-make-maps-working-862184/

With adb shell, I check there is no /system/framework/com.google.android.maps.jar in phone. There are a lot of jar, and most of them also with .odex extension...I see this post with reference to this file and permissions, but nothing about .odex
http://forum.xda-developers.com/showthread.php?t=1382925

So I extract from gapps-jb-20130812-signed.zip the files
/system/framework/com.google.android.maps.jar and /system/etc/permissions/com.google.android.maps.xml, and I move them to the phone.

Restarting, android says "updating android, app 1 from 29!?"
And ... it works!
No problem installing from adb and running
$ adb install es.openbank.apps.apk
4342 KB/s (1277229 bytes in 0.287s)
    pkg: /data/local/tmp/es.openbank.apps.apk
Success



After uninstall, Google Play incompatibility message is gone

Another example:
https://play.google.com/store/apps/details?id=kr.sira.measure&hl=es
It says it is not compatible, but apk installs ok with adb
$ adb install kr.sira.measure.apk
5640 KB/s (2666341 bytes in 0.461s)
    pkg: /data/local/tmp/kr.sira.measure.apk
Success
But app does not work, because it says it needs a magnetic sensor

Android version and others things changed in Settings >System > About phone

References
http://forum.xda-developers.com/showthread.php?t=1948558

Editing /system/build.prop ...taking risk, without a previous ROM backup:

Before
ro.build.version.release=4.4 After
ro.build.version.release=4.2.2
It works ok after reboot...


I have the idea to change it to android 5.0 :-)
With that result I am no longer afraid to change ro.* properties and to try if Google Play no longer complaints about compatibility  ...
So I change (I decided to use the model where it was working with badadroid)

-ro.product.model=GT-S8500
-ro.product.brand=samsung
+ro.product.model=316
+ro.product.brand=dingcheng
-ro.product.manufacturer=samsung
+ro.product.manufacturer=dingcheng

-ro.hw.version.custom=MT6572
+ro.hw.version.custom=MT6589


After reboot, system info is updated

But clearing data and cache from Google Play app, app is not working, so it may be resolution ...

Update: I change model to G7108 in order to clarity ... two GT-8500 devices with a fake one is a little bit confussing

 

English posts

After a week posting, I have an idea: English posts
Why?
- I have been posting daily, so it will let me practice my writing ... I just practice English reading.

- There are visitors from other countries (USA, Poland), and in this way maybe my posts could be more useful; I will have to change  language to English in my phone for screenshots

Edit: after that http://sesionesfrikis.blogspot.com/2014/08/configurar-blogger-en-google-analytics.html I do not see any visitor from USA and Poland, so thinking about it, I am afraid these entries are not really human.
- Google bot from USA?
- Bing bot from Poland? In this link they think it is a hacker?...http://forums.fedoraforum.org/archive/index.php/t-275016.html 

Google Play y apps no compatibles

Intentando instalar alguna app que tenía en badadroid veo el mensaje
"Tu dispositivo no es compatible con esta versión"
Googleando un poco, quizá sea esto
http://www.qualitarq.com/soporte/knowledgebase.php?action=displayarticle&id=9

El móvil (información con MobileUncle Tools) tiene
Width = 480
Height = 800
DensityDpi = 240

Y mi Samsung Wave GT-S8500 badadroid tenía también 800x480 y 283 ppi (misma resolución en menos tamaño 3,3')
http://en.wikipedia.org/wiki/Samsung_Wave_S8500


Y una posible solución (indica que es para ICS)
http://forum.xda-developers.com/showthread.php?t=1428830


Parece que el cambio afecta /system/build.prop, donde no aparece ninguna clave *dpi ni *Dpi con
getprop | grep pi 
y
cat /system/build.prop | grep pi
así que coge algún valor por defecto.


Pero cambiarlo puede hacer que el móvil no arranque, y aunque podría intentar arreglarse desde adb restaurando /system/build.prop, parece recomendable esperar a tener un backup de la ROM ...
Hay apps para hacerlo y comentan lo del backup
https://play.google.com/store/apps/details?id=com.texdroider.texdroider_dpi


Más información
http://muzso.hu/2012/10/01/how-to-get-around-the-dreaded-this-app-is-incompatible-with-your-...-message-in-google-pl

http://www.movilesdualsim.com/tema/apk-en-mtk6572-no-compatible-ayuda.56766/

Finalmente resuelto en otro post (que escribí en inglés)
http://sesionesfrikis.blogspot.com/2014/08/getting-apk-info-to-get-info-about-app.html

martes, 26 de agosto de 2014

Configurar blogger en Google Analytics

He visto que llevo más de 60 visitas en una semana... en un blog desconocido.
Las estadísticas de blogger son simplen pero muestran 20 accesos de Estados unidos y 15 de Polonia!?

Decido añadir seguimiento con Google Analytics, es muy simple
https://support.google.com/analytics/answer/1009610?hl=es

Desde Analytics, Administrador > CUENTAS > Crear nueva cuenta
Pongo campos obligatorios: "Nombre de cuenta" y "Nombre del sitio web" 
Indico en url http://sesionesfrikis.blogspot.com.es/
Pulso botón "Obtener ID de seguimiento"
Acepto condiciones
Me genera indentificador UA-xxxxxxxx-x y me da código javascript ...

Voy a blogger > Configuración > Otros y añado el identificador en
"Google Analytics
ID de propiedad web de Google Analytics"

Listo ... a partir de ahora se deberán guardar datos, pero no tendré datos en Analytics de los días previos a este.

GPS Mediatek y otras cosas en /system/build.prop

Me ha dado por probar el GPS con AndroiTS GPS Test ... y va de pena. Pasan minutos y ve un satélite.
Googleando
http://gizchina.es/2013/07/22/solucion-problema-gps-mediatek/
Lo he hecho pero que no va... el EPO DOWNLOADING dura décimas de segundo e indica "EPO update failure"

Siguiente cosa encontrada:
https://play.google.com/store/apps/details?id=com.chxdev.mtgps&hl=es
La app indica que es para otros chipset, decido no probarla inicialmente.


Siguiente, indica solución alternativa a EPO ... pero no va. En exterior pasan minutos y minutos sin pillar satélites (máximo 4 y con baja señal) 
http://fix-my-gps.blogspot.com.es/
Añadido, en configuración AGPS indico que puede utilizar red itinerancia (así es como funciona los datos en Jazztel que es un OMV, un "itinerante" en la red de Orange, por eso siempre está el símbolo R de Roaming junto a la cobertura)
Con eso tampoco funciona


Siguiente
http://forum.xda-developers.com/showthread.php?t=1975500
Lo pruebo:
$ ftp epo.mediatek.com
Connected to epo.mediatek.com.
220 (vsFTPd 2.2.2)
Name (epo.mediatek.com:enrique): epo_alps
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-r--r--    1 509      509        276480 Aug 26 00:02 EPO.DAT
-rw-r--r--    1 509      509            37 Aug 26 00:02 EPO.MD5
-rw-r--r--    1 509      509          8302 Nov 13  2013 LEGAL.txt
226 Directory send OK.
ftp> bin
200 Switching to Binary mode.
ftp> mget *
mget EPO.DAT? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for EPO.DAT (276480 bytes).
226 Transfer complete.
276480 bytes received in 23.71 secs (11.4 kB/s)
mget EPO.MD5? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for EPO.MD5 (37 bytes).
226 Transfer complete.
37 bytes received in 0.00 secs (175.4 kB/s)
mget LEGAL.txt? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for LEGAL.txt (8302 bytes).
226 Transfer complete.
8302 bytes received in 0.00 secs (40135.8 kB/s)
ftp> quit
221 Goodbye.

$ md5sum EPO.DAT
d0fbc3da4124fa6de5d2d035e61f7500  EPO.DAT
$ cat EPO.MD5
d0fbc3da4124fa6de5d2d035e61f7500 


Compruebo que no hay ningún fichero /data/misc/EPO* y decido ponerlos a mano

$ adb push EPO.DAT /storage/sdcard1/EPO.DAT
5303 KB/s (276480 bytes in 0.050s)
$ adb push EPO.MD5 /storage/sdcard1/EPO.MD5
0 KB/s (37 bytes in 0.118s)
enrique@invitado:~$ adb shell
shell@android:/ $ su
shell@android:/ # cp /storage/sdcard1/EPO.DAT /data/misc/EPO.DAT              
shell@android:/ # cp /storage/sdcard1/EPO.MD5 /data/misc/EPO.MD5              
shell@android:/ # cd /data/misc
shell@android:/data/misc # ls -l

----r-x--- root     root       276480 2014-08-26 23:03 EPO.DAT
----r-x--- root     root           37 2014-08-26 23:03 EPO.MD5
-rw------- gps      nvram          10 2014-08-23 19:59 GPS_CHIP.cfg
drwxr-s--- system   shell             2014-08-21 12:15 adb
drwxrwx--- system   system            2014-08-21 12:15 akmd
drwxrwx--- bluetooth net_bt_stack          2014-08-21 12:15 bluedroid
drwxrwx--- system   system            2014-08-21 12:16 bluetooth
drwxrwx--- dhcp     wifi              2014-08-26 20:37 dhcp
drwxrwx--x system   system            2014-08-21 12:24 keychain
drwx------ keystore keystore          2014-08-26 22:59 keystore
drwx------ shell    system            2014-08-21 12:15 mblog
-rw-rw-rw- gps      nvram       29720 2014-08-26 21:39 mtkgps.dat
drwxrwx--- bluetooth net_bt            2014-08-21 12:15 ppp
drwxrwx--- system   system            2014-08-21 12:15 radvd
drwxrwx--- system   system            2014-08-21 12:15 rtc
drwxrwx--x compass  compass           2014-08-21 12:15 s62x
drw-rw-r-- system   system            2014-08-21 12:15 sensors
drwxrwx--- system   radio             2014-08-21 12:15 sms
drwx------ system   system            2014-08-24 02:20 systemkeys
drwxrwx--- system   vpn               2014-08-21 12:15 vpn
drwxrwx--- wifi     wifi              2013-01-01 01:02 wifi
drwxrwx--- wifi     wifi              2014-08-26 20:40 wpa_supplicant
-rw------- shell    shell        1234 2014-08-21 12:15 xlog-filter
shell@android:/data/misc # chmod 777 EPO.*

Tras eso, sin reiniciar, ya se ve información
La misma información también se ve en ajustes
Sobre qué es EPO: Extended Prediction Orbit, de Mediatek

En el post de XDA se cita

Lo instalo y configura ok
Veo que indica que guarda copia de seguridad de fichero de configuración y crea 
shell@android:/etc # ls -l gps.conf                                           
-rw-r--r-- root     root           27 2014-08-26 23:38 gps.conf
shell@android:/etc # cat gps.conf
NTP_SERVER=es.pool.ntp.org
Si indico volver a versión anterior aparece un archivo gps.conf de 0 bytes


Además veo esto
que parece indicar la función de la app MT GPS EPO Fix es descargar esos ficheros, por lo que sería válida en general para cualquier chip mediatek 
La pruebo y al segundo intento funciona, aunque parece que pone los mismos ficheros variando la hora..
-rwxrwxrwx root     root       276480 2014-08-26 02:00 EPO.DAT
-rw-r----- root     root           37 2014-08-26 02:00 EPO.MD5 
Desinstalo...

Viendo posts finales con idea de servidor ftp propio y añadirlo en /etc/hosts me sugiere añadir IP de epodownload.mediatek.com para el nombre servidor antiguo... que parece estar a fuego en el código y funciona mal por exceso de carga / mal mantenimiento mediatek

También veo que se puede poner en configuración AGPS servidores de Google (es lo que está por defecto) o de Nokia, que en algunas ocasiones han funcionado mejor

Siguiente:
Citada aquí, busco la fuente
[SOLVED] Mediatek quad core gps tracking bug solved: very easy. 
This solution has been extensively tried and tested in spanish forums htcmania and movilesdualsim (this post and folowing), and it works in every phone.

Se trata de editar
/system/build.prop
y añadir
dalvik.vm.execution-mode=int:fast

Sobre qué hace la opción

Puede que la solución final sea una combinación de todo ...

Cambiar /system/build.properties es algo serio ... compruebo que es posible

shell@android:/ $ dalvikvm -help

dalvikvm: [options] class [argument ...]
dalvikvm: [options] -jar file.jar [argument ...]

The following standard options are recognized:
  -classpath classpath
  -Dproperty=value
  -verbose:tag  ('gc', 'jni', or 'class')
  -ea[:<package name>... |:<class name>]
  -da[:<package name>... |:<class name>]
   (-enableassertions, -disableassertions)
  -esa
  -dsa
   (-enablesystemassertions, -disablesystemassertions)
  -showversion
  -help

The following extended options are recognized:
  -Xrunjdwp:<options>
  -Xbootclasspath:bootclasspath
  -Xcheck:tag  (e.g. 'jni')
  -XmsN  (min heap, must be multiple of 1K, >= 1MB)
  -XmxN  (max heap, must be multiple of 1K, >= 2MB)
  -XssN  (stack size, >= 1KB, <= 256KB)
  -Xverify:{none,remote,all}
  -Xrs
  -Xint  (extended to accept ':portable', ':fast' and ':jit')

These are unique to Dalvik:
  -Xzygote
  -Xdexopt:{none,verified,all,full}
  -Xnoquithandler
  -Xjnigreflimit:N  (must be multiple of 100, >= 200)
  -Xjniopts:{warnonly,forcecopy}
  -Xjnitrace:substring (eg NativeClass or nativeMethod)
  -Xstacktracefile:<filename>
  Xmtkstacktracefile:<filename>
  -Xgc:[no]precise
  -Xgc:[no]preverify
  -Xgc:[no]postverify
  -Xgc:[no]concurrent
  -Xgc:[no]verifycardtable
  -XX:+DisableExplicitGC
  -X[no]genregmap
  -Xverifyopt:[no]checkmon
  -Xcheckdexsum
  -Xincludeselectedop
  -Xjitop:hexopvalue[-endvalue][,hexopvalue[-endvalue]]*
  -Xincludeselectedmethod
  -Xjitthreshold:decimalvalue
  -Xjitblocking
  -Xjitmethod:signature[,signature]* (eg Ljava/lang/String\;replace)
  -Xjitclass:classname[,classname]*
  -Xjitoffset:offset[,offset]
  -Xjitconfig:filename
  -Xjitcheckcg
  -Xjitverbose
  -Xjitprofile
  -Xjitdisableopt
  -Xjitsuspendpoll

Configured with: debugger profiler hprof jit(armv7-a-neon) smp show_exception=1

Dalvik VM init failed (check log file)
Mirando el fichero, veo otras propiedades que podría arreglar el tema de versión de CPU y android 
ro.build.version.release=4.4
ro.hw.version.custom=MT6589
Otras propiedades confirman que es android 4.2.2
ro.build.version.sdk=17
ro.build.description=leatek72_wet_jb3-user 4.2.2 JDQ39 eng.wulei.1398824151 test-keys

>Esto es lo que aparece en la mayoría de los apk del sistema ...

ro.build.fingerprint=alps/leatek72_wet_jb3/leatek72_wet_jb3:4.2.2/JDQ39/1398824151:user/test-keys


http://en.wikipedia.org/wiki/Android_version_history#Android_4.2_Jelly_Bean_.28API_level_17.29

Además podría hacer cosas como cambiar la identificación de modelo del móvil!
ro.product.model=316
ro.product.brand=dingcheng


Confirmación de la idea
http://www.taringa.net/comunidades/lg-optimus-me/5496268/Tutorial-Como-instalar-aplicaciones-no-compatibles.html


Editar un fichero para mi implica usar vi ... no me gusta la idea de hacer pull y push del fichero
Pero vi no está disponibile aunque hay un fichero busybox (visto en otra sesión previa)

shell@android:/ # /data/data/eu.thedarken.sdm/files/busybox                 
BusyBox v1.22.1-sdm324 (2014-02-02 13:50:50 CET) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list
   or: function [arguments]...

    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use and BusyBox
    will act like whatever it was invoked as.

Currently defined functions:
    [, [[, awk, cat, chgrp, chmod, chown, cp, cut, dd, df, du, echo, egrep,
    env, fgrep, find, grep, groups, head, id, kill, killall, killall5, ln,
    ls, mkdir, mount, mountpoint, mv, ps, pwd, readlink, realpath, rm,
    rmdir, sed, stat, tail, test, touch, tr, umount, uname, wc, which,
    xargs
/data/data/eu.thedarken.sdm/files/busybox vi /system/build.prop vi: applet not found

Así que decido instalar busybox de Google Play
Se instala 1.22.1 en /system/xbin y proporciona vi y muchas cosas más

shell@android:/ # busybox
BusyBox v1.22.1-Stericson (2014-01-25 17:27:18 CET) multi-call binary.
BusyBox is copyrighted by many authors between 1998-2012.
Licensed under GPLv2. See source distribution for detailed
copyright notices.

Usage: busybox [function [arguments]...]
   or: busybox --list[-full]
   or: busybox --install [-s] [DIR]
   or: function [arguments]...

    BusyBox is a multi-call binary that combines many common Unix
    utilities into a single executable.  Most people will create a
    link to busybox for each function they wish to use and BusyBox
    will act like whatever it was invoked as.

Currently defined functions:
    [, [[, acpid, adjtimex, arp, arping, ash, awk, base64, basename, beep,
    blkid, blockdev, brctl, bunzip2, bzcat, bzip2, cal, cat, catv, chat,
    chattr, chgrp, chmod, chown, chpst, chroot, chrt, chvt, cksum, clear,
    cmp, comm, conspy, cp, cpio, crond, crontab, cut, date, dc, dd,
    deallocvt, depmod, devmem, df, diff, dirname, dmesg, dnsd,
    dnsdomainname, dos2unix, du, dumpkmap, echo, ed, egrep, env, envdir,
    envuidgid, ether-wake, expand, expr, fakeidentd, false, fbset,
    fbsplash, fdflush, fdformat, fdisk, fgconsole, fgrep, find, findfs,
    flock, fold, free, freeramdisk, fsck, fsck.minix, fstrim, fsync, ftpd,
    ftpget, ftpput, fuser, getopt, grep, groups, gunzip, gzip, hd, hdparm,
    head, hexdump, hostname, httpd, hush, hwclock, id, ifconfig, ifdown,
    ifup, inetd, insmod, install, ionice, iostat, ip, ipaddr, ipcalc,
    iproute, iprule, iptunnel, kbd_mode, kill, killall, killall5, less, ln,
    loadkmap, losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci,
    lsusb, lzcat, lzma, lzop, lzopcat, makedevs, man, md5sum, microcom,
    mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix, mkfs.vfat,
    mknod, mkswap, modinfo, modprobe, more, mount, mountpoint, mpstat, mv,
    nameif, nanddump, nandwrite, nbd-client, nc, netstat, nice, nmeter,
    nohup, nslookup, ntpd, od, openvt, patch, pgrep, pidof, ping, ping6,
    pipe_progress, pivot_root, pkill, pmap, powertop, printenv, printf, ps,
    pscan, pstree, pwd, pwdx, raidautorun, rdate, rdev, readahead,
    readlink, readprofile, realpath, renice, reset, resize, rev, rm, rmdir,
    rmmod, route, rpm, rpm2cpio, rtcwake, run-parts, runsv, runsvdir, rx,
    script, scriptreplay, sed, seq, setconsole, setkeycodes, setlogcons,
    setserial, setsid, setuidgid, sha1sum, sha256sum, sha3sum, sha512sum,
    showkey, slattach, sleep, smemcap, softlimit, sort, split,
    start-stop-daemon, stat, strings, stty, sum, sv, svlogd, swapoff,
    swapon, switch_root, sync, sysctl, tac, tail, tar, tcpsvd, tee, telnet,
    telnetd, test, tftp, tftpd, time, timeout, top, touch, tr, traceroute,
    traceroute6, true, tty, ttysize, tunctl, ubiattach, ubidetach,
    ubimkvol, ubirmvol, ubirsvol, ubiupdatevol, udpsvd, umount, uname,
    unexpand, uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, usleep,
    uudecode, uuencode, vconfig, vi, volname, watch, watchdog, wc, wget,
    which, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip


Antes de editar le doy otra pensada ... y descubro que puedo consultar valores y fijarlos en caliente temporalmente hasta el reinicio sin editar el fichero, como aparece en la documentación de dalvik de enlaces anteriores

adb shell setprop dalvik.vm.execution-mode int:portable

Pruebo esto
shell@android:/system # getprop | grep dalvik                               
[dalvik.vm.heapgrowthlimit]: [96m]
[dalvik.vm.heapsize]: [128m]
[dalvik.vm.mtk-stack-trace-file]: [/data/anr/mtk_traces.txt]
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]


Ya puestos, pruebo algo sencillo ...

shell@android:/system # setprop ro.build.version.release 4.2.2              
shell@android:/system # getprop ro.build.version.release
4.4

Igual las propiedades ro.* no se pueden cambiar así ...

Pruebo otra y parece que sí
Inicialmente no dice nada
shell@android:/ $ getprop dalvik.vm.execution-mode

shell@android:/system # setprop dalvik.vm.execution-mode int:fast         
shell@android:/system # getprop dalvik.vm.execution-mode

int:fast
No parece haberse roto nada. Respecto a arreglar, habría que salir al exterior para probarlo ...

Suficiente por esta sesión ...




lunes, 25 de agosto de 2014

Pilas aquacell

Una sesión que no sea de android.
Me compré por probar un par de pilas aquacell... si realmente son lo que prometen, son mucho más respetuosas para el medio ambiente, vida casi ilimitada y mucho más ligeras.

http://www.everbuying.com/product560523.html
Lo cogí en promoción y fueron poco más de 2 € gastos de envío incluidos.

Googleando otros sitios donde las venden, otras pilas similares:
http://hamgear.wordpress.com/2013/02/17/water-power-rechargeable-battery/

Googleando información
http://aquacellbattery.com/technology/
http://en.wikipedia.org/wiki/Water-activated_battery
http://en.wikipedia.org/wiki/Reserve_battery
http://www.kirainet.com/pilas-recargables-con-agua/
http://gigatecno.blogspot.com.es/2013/11/pilas-verdes-o-ecologicas-recargables.html

Incluso hay instrucciones para hacerse unas
http://www.instructables.com/id/Water-Powered-Calculator/

Otros post relacionados:
New type of rechargeable battery – just add water
http://www.gizmag.com/rechargeable-battery-freshwater-seawater/18565/

Tras recibirlas, veo que indican en la propia pila:
"Sample only. Not for re-sale"
En las instrucciones
"Sólo para muestra/no para reventa"
De modo que me han vendido algo que no se puede vender ...  
Lo curioso es que en vacío, sin añadir agua, mido 1,642 V en una y 1.656 V en otra.
Añado agua 5 min (en un vaso, aunque viene una bolsa para poder hacerlo en cualquier sitio; son pilas ideales para acampada/equipaje).

El objetivo final es entender cómo funcionan para poder explicarlo a los alumnos en clase de física y química...
El agua es el electrolito, pero de qué son los electrodos y cómo hacen para que se pueda recargar una y otra vez?
Si utilizaran sin más algún ión presente en el agua (es agua normal, no destilada), el ión se reduce y se deposita en el cátodo, y el metal del ánodo se oxida y pasa al agua ... con lo que se agotaría el cátodo. Quizá utilizan dos iones del agua, y de alguna manera consiguen que el ánodo se oxide, pero luego se vuelva a depositar (reducir), para lo que se tendría que oxidar otro ión presente en el agua ?
La información de wikipedia indica sin más "carbon zinc" y unos "pocos metales pesados" (indicando que es necesaria una referencia)...
En el enlace para construir una batería activada con agua http://www.instructables.com/id/Water-Powered-Calculator/:
- Un electrodo es de carbón (cátodo, positivo)
- Un electrodo es de aluminio (ánodo, negativo)
De modo que el aluminio se oxida (se va gastando!), y algún ión se deposita en el carbón ¿pero cómo se elimina ese depósito en las recargas?

Otros vídeos
 Water Powered Flashlight (Weekend Project #1) 
https://www.youtube.com/watch?v=un_uY3ffaMg

Water Powered Flashlight (v2) by ASCAS
http://www.instructables.com/id/Water-Powered-Flashlight-v2/

Homemade Battery 1.5v - 12v water powered (lights, clocks, calculators) - how to make - simple DIY
https://www.youtube.com/watch?v=aaMWBhRcqew


Edito: inicialmente las probé con el polímetro, y unos días después las pruebo en una literna normal de bombilla (no led): las pilas no son capaces de encender más que mínimamente el filamento que se ve ligeramente rojo... pendiente validar la capacidad de 1000 mAh que se suponen que tienen y la corriente máxima que pueden dar

domingo, 24 de agosto de 2014

Música y lanzador por defecto, segunda parte

Poco después del post sobre los problemas con la aplicación de música, he restaurado el apk ... y no falla !? No he hecho "nada" salvo sesiones frikis trasteando con otras cosas...
Sin embargo aparecen todas las listas en blanco e indica ... porque se me ha ocurrido probarlo mientras tenía el usb conectado en modo almacenamiento!
Desactivando el almacenamiento ha encontrado las canciones y funciona ... y aparece en Default App Manager ... al final acabaré dejando la aplicación de música por defecto para no meter más cosas ...
Igual el hecho de desinstalarlo e instalar otro ha limpiado algo que le hacía fallar....
Pongo un pantallazo del aspecto de la aplicación de música (el icono también es distinto)



Sobre el lanzador por defecto, si activo Cool Launcher,  Default App Manager sigue indicando que Nova es el por defecto ... y no aparece la opción de fijar por defecto Cool Launcher, sino Clear Default, que lleva a la información de la applicación Nova, para borrar valores predeterminados, con lo que queda ok


Sobre si el android del móvil es 4.4

Tras ver lo de GoogleContactsSyncAdapter, me surge la duda ...
Igual que el modelo de CPU se indicaba mal, ¿quizá la versión de android se esté indicando mal y sea realmente 4.2.2 y no 4.4? ¿Cómo comprobarlo de verdad si están las cosas mezcladas y es parte 4.2 y parte 4.4?

La idea es mirar alguna utilidad que mire los apk e indique su nivel de API / versión de android. Está aapt en el SDK de android pero googleando no parece ir bien en ubuntu de 64 bits

Al final encuentro esto ... y parece confirmar  confirma que los apk de sistema son 4.2, ya que todas las versiones son 4.2 o inferiores

http://en.wikipedia.org/wiki/Android_version_history#Version_history_by_API_level
(entiendo que leerá del manifest o del algún sitio del APK el nivel de API Level más alto y con esa información dará la indicación de versión de android)

https://play.google.com/store/apps/details?id=com.intelloware.apkinfo&hl=es


Vale: compré un móvil como android 4.4 y es 4.2.
Puestos a buscar consuelo ¿cuales son realmente las diferencias?  Mirando en la historia de android en wikipedia del enlace anterior no parecen muchas, y tampoco por comentarios ... en fin
http://www.gamefaqs.com/boards/615389-android/68752305

Editado: el tema se retoma en otra sesión posterior
http://sesionesfrikis.blogspot.com.es/2014/08/gps-mediatek.html

GoogleContactsSyncAdapter.apk reloaded

Trasteando he visto que contactos ocupa bastante memoria, y que mirando en ajustes se pueden ver los nombres de paquetes, y me he encontrado con que los paquetes asociados a contactos (e incluso el de música) indican versión 4.2.2!
Versión 4.2.2-eng.wulei.1398824151
Para 
Contacts.apk
ContactsProvider.apk
Music.apk

Así que pruebo a buscar el fichero GoogleContactsSyncAdapter.apk de gapps para la versión 4.2.2 a ver si funciona, y en ese caso sí que está asociada versión.
Una cosa que he visto es que la resolución de las fotos de las imágenes de los contactos no es alta, e igual está relacionado con la versión del sincronizador. Cuando la pongo desde el móvil parece que es alta "un rato" hasta que al poco tiempo baja de calidad, igual cuando se sincroniza tras haber subido al servidor?
https://goo.im/gapps/gapps-jb-20130812-signed.zip/
3103fb1435a20f95987ef9b55674bc46  GoogleContactsSyncAdapter.apk

Curiosamente al reiniciar aparece el mensaje "actualizando android"!
La sincronización está mucho tiempo (la rueda verde de sincronización incluso "se para ratos sin indicar que la sincronización ha terminado", no está continuamente girando sin llegar a , pero igual es por descargar las fotos de contactos con más resolución!? ... mis contactos son "pesados": son algo más de 1000 ... prefiero no buscar dos veces un teléfono :-)

Cansado de esperar la sincronización, decido arriesgarme y apoyarme en la opción de reestablecer contactos de gmail (que ya he usado alguna vez ...)
https://support.google.com/mail/answer/1069522?hl=es
Pruebo a borrar todos los contactos en el móvil, para ver si se borran en gmail, para luego reestablecerlos y ver si se sincroniza.
Lo primero es un aviso de sincronización, indicando que se quieren borrar demasiados contactos, si se quiere continuar o no
Con la versión 4.2.2 va borrando (lo veo en la web de gmail), pero falla cuando quedan 256 por borrar, con mensaje en el móvil "ha fallado el proceso com.google.gapps." ... vuelve a fallar cuando quedan 183

Al final no borra todos, pero restauro desde web de gmail, vuelvo a dar sincronizar y bajan todos ... parece que la versión 4.2.2 funciona ok, y poniendo fotos con calidad no bajan de calidad al poco rato ...










Cambiado el Home Launcher

En un momento he dejado Nova Launcher y lo he dejado puesto por defecto: al dar botón home daba para elegir, y al elegir "siempre" se ve que queda puesto ok. Se puede regresar a Cool Launcher pinchando en el icono... de momento no lo muevo.
En ajustes > apps > todas veo Cool Launcher (donde ocupa 4,36 MB frente a los 6,81 MB de Nova) pero no lo puedo deshabilitar.
El icono de Cool Launcher no lo puedo ocultar porque se necesita Nova Launcher de pago.

Información sobre launchers:

http://trendblog.net/best-android-launcher-guide-overview-2014/

Probado Lightning Launcher por ser muy ligero pero inicialmente no me ha gustado. Quizá opto por Nova porque es lo que tenía en badadroid.
Configuración Nova
http://android.appstorm.net/how-to/customization/how-to-set-up-your-android-launcher/

Edito tras llevar un tiempo puesto con Nova: resulta que al recibir una notificación de gmail, al regresar de verla vuelve de nuevo a Cool Launcher.


Cuando está puesto Nova, Cool Launcher aparece como app de sistema, pero ya no en rojo como de núcleo ... parece que quitarla es algo complicado. En la pantalla de música (con un disco de vinilo girando) aparece un error de aplicación de música no instalada... todo está relacionado. No me gusta pero al menos Cool Launcher permite quitar esas pantallas y se acaba pareciendo a Nova, así que hasta que encuentre cómo quitar del todo Cool Launcher no pondré Nova.

Respecto a memoria, en ajustes se ve la memoria de almacenamiento interno que usa, que es distinto que el tamaño de la apk y que el tamaño en RAM.
Cool Launcher como apk indica 13,84 MB en "Removedor de aplicaciones", donde se ve que es paquete com.cool.launcher en
/system7app/ku_launcher_oppo.apk
...
Mi memoria me dice que en log del error de Música aparecía oppo en la cadena, y revisando http://sesionesfrikis.blogspot.com.es/2014/08/unfortunately-music-has-stopped-y.html
com.android.music/com.android.music.MusicBrowserOppoActivity

De modo que parece que los paquetes de la ROM "de fábrica" están todos hecho a medida y será complicado quitarlos ...


sábado, 23 de agosto de 2014

"Unfortunately, Music has stopped" y cambiar aplicaciones por defecto

Hoy me he encontrado ese mensaje (en español "Se ha detenido la aplicación Música") ... antes de limpiar aplicaciones no daba, ya había desinstalado
 SD Maid y "Removedor de aplicaciones" de jumobile tras la limpieza.
El tema es que la aplicación de música que venía de fábrica no me gustaba, y ya había pensado en poner otra.
Mirando con adb logcat encuentro errores que mencionan paquete com.android.music

E/InputDispatcher(  551): channel '41ca3c18 com.android.music/com.android.music.MusicBrowserOppoActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/WindowState(  551): WIN DEATH: Window{41e2fb38 u0 com.android.music/com.android.music.MyMusicNavActivity}


Igual quité algo necesario sin darme cuenta... con SD Maid reinstalado veo que vuelve a aparecer como cadaver mcube en /data/data que ya había quitado!?

Me decido a instalar desde google play un reproductor, pruebo con media.music.musicplayer
https://play.google.com/store/apps/details?id=media.music.musicplayer&hl=es
y funciona correctamente, detectando la música y reproduciéndola.
Respecto a arreglar ó quitar la aplicación de sistema original:
- Desde el menú en la lista de aplicaciones aparece la opción de "Ocultar icono", con lo que se puede dejar oculta ... pero no sería muy limpio
- Con removedor de aplicaciones veo que Música es com.android.music en /system/app/Music.apk y que ocupa solamente 1,04 MB. Indica [Debe mantener]... pero como da la opción de restaurar
Desinstalo y desaparece el icono
Googleando encuentro esto, que tiene años pero parece confirmar que quitar el apk no genera problemas (de hecho es un truco que no elimina el icono)
http://techluminati.com/operating-systems/android/how-to-remove-the-default-music-player-in-android/
Pruebo a reiniciar android por si se quejase al estar buscando el Music.apk en algún fichero de configuración, pero no dice nada... así que perfecto.
Dejaré unos días el .apk en la papelera por si acaso aunque dudo que haya que usarla

Otro tema sería fijar que ahora ciertos ficheros (por ejemplo .mp3) se abran con esta aplicación: en información de aplicación desde ajustes hay apartado de "abrir de forma predeterminada" pero no indicaba nada para la app "Música"
Mirando aquí
http://blog.laptopmag.com/how-to-change-default-apps-in-android
Instalo esto
https://play.google.com/store/apps/details?id=com.appiator.defaultappmanager
y permite elegir entre gmail y el correo por defecto, pero indica que no hay aplicaciones de audio instaladas!?
Instalo otro sencillo
https://play.google.com/store/apps/details?id=another.music.player
y ese sí aparece como por defecto, y al navegar por una carpeta con ficheros mp3 se lanza ok.

Otra cosa para mirar: cámara. La que viene por defecto parece muy simple.
Instalo por probar https://play.google.com/store/apps/details?id=com.photo.android.camera y sí que compruebo que ahora permite elegir entre galería y la nueva app.

Lo siguiente a mirar sería el lanzador: viene Cool Launcher que con "Removedor de aplicaciones" solamente aparece si se desmarca en configuración "Ocultar Aplicaciones del Sistema Central" , indica [Aplicación de núcleo] en rojo, son 13,84 MB y si se pudiera quitar y poner otro más ligero sería interesante.

"Respuesta" de soporte sobre la no sincronización de google contacts

Esta es la respuesta final de soporte, a la que le pasé el enlace de googleforums donde se veía que faltaba /system/app/GoogleSyncContactsSyncAdapter.apk
Para ellos es un problema de instalar apps/apk de manera normal

We wish to apologize for the difficulties you have been experiencing regarding Android applications. 

Please try the following steps to download and install apps on your Android device:
Click the MENU button, go to SETTINGS, click on APPLICATIONS, and make sure that “UNKNOWN SOURCES” is checked. Finally, read the warning message and acknowledge if you are OK to proceed with the changes. This will enable you to install non-Market applications. Please try to download and install the apps again.

For Android applications and games for your device, we are happy to recommend the following websites:
https://play.google.com/store
http://www.getjar.com/mobile/16914/getjar-apps-for-google-nexus-one
http://www.appbrain.com/

Please note that the customer is responsible for any and all applications they download and install on their device; we are not responsible or liable in any way for issues caused by customers downloading and using software. For these issues, we advise customers to contact the software developer for technical support and help.



Como ya lo tengo resuelto, he indicado esto en los "cons" de mi review del teléfono, indicando a soporte que lo he resuelto rooteando... y perdiendo la garantía

Android installation in this phone is not correct:
-Android is not showing the correct CPU and  number of cores. It shows 6589 and four cores, but is really 6572 and two cores as web says
-Google contacts sync not working: /system/app/GoogleSyncContactsSyncAdapter.apk is missing


viernes, 22 de agosto de 2014

Instalando certificado FMNT en android

Una cosa breve:
El certificado de la FMNT que se exporta a .p12 se puede importar en android: se coloca en /sdcard (en raíz de memoria interna) y se da a seguridad > importar desde tarjeta SD. En otro sitio (SD externa) indica fichero no encontrado. Se importa tras poner la contraseña, y se borra el .p12 original por seguridad.


El tema de que la FMNT tenga una app para el certificado es confuso... es para solicitarlo inicialmente como se hace desde la web.

En ver certificados de usuario luego no se ve ...  falta por ver si se puede usar desde el navegador o es para otras historias como redes wireless de empresa...

https://community.republicwireless.com/thread/16747

Comprobado! informe de vida laboral de la seguridad social con el navegador por defecto de android ok!

Procastinando sobre mediatek para el móvil MIXC G7108

Una vez rooteado, sería posible cambiar cosas, como ROM, menú recovery CWN en inglés  ...

El móvil en arranque muestra un robot android azul y el texto
"CoreDroid
Get you connected"

http://www.coredroidroms.com/
La web no parece actualizada/con información para este modelo

http://www.htcmania.com/archive/index.php/t-721433.html
[TUTORIAL] Instalar ROM, Menu de APN, Recuperar Brick de pantalla, Restaurar IMEI, Hacer ROOT, Configurar GPS, Cámara + Teclado Android, Google Play y Mensaje de Itinerancia en Note 3 (MTK)
Ahí indica "¡¡¡OJO, AUNQUE DEBERÍA VALER PARA CUALQUIER MÓVIL CHINO CON CPU MTK..."

Menciona herramientas varias ...

MTK Droid Tools

Parece una utilidad esencial. En XDA hay información general aunque parece solamente windows
[UTIL][WIN][MT65xx] MTK Droid Root & Tools | MediaTek Android Smartphone
http://forum.xda-developers.com/showthread.php?t=2160490
Por ejemplo hacer backup de la ROM
http://forum.xda-developers.com/showpost.php?p=44509214&postcount=407


CWM

Parece que ponerlo implica "crearlo" a partir de la ROM!?
[TUT] How to Make and Flash CWM RECOVERY on any .MediaTek MTK65xx Device
http://forum.xda-developers.com/showthread.php?t=2379412

Una vez que se tiene CWM se pueden instalar GAPPS "normalmente" desde menú de recuperación.
http://www.chinaphonearena.com/forum/Thread-Tutorial-How-to-flash-gapps-install-update-from-SD







Otra idea vista es posibilidad de arranque dual: interesante, por si trasteando no arranca, tener otra opción de arranque de respaldo

http://www.chinaphonearena.com/forum/Thread-Tutorial-How-to-setup-dual-boot-on-MTK

Una app simple mencionado en algunos de los pasos
MobileUncle Tools
http://forum.xda-developers.com/showthread.php?t=2697236
https://play.google.com/store/apps/details?id=com.mobileuncle.toolbox&hl=es

Las opciones de engineer mode parecen potentes... la opción de descarga de aplicaciones populares muestra aplicaciones chinas!
De momento ninguna utilidad directa... aunque está claro que para flashear es útil (cambiar recovery (muestra ficheros .img chinos en remoto), modo recovery, modo bootloader)

Pendiente cuando pueda poner unas fotos de las pantallas que aparecen en el móvil cuando se arranca con volup+power y voldown+power

Limpieza y edición opciones bloqueo de pantalla android

Una cosa breve ...antes de borrar definitivamente variety unlock me gustaría eliminar la opción del menú

settings >security >screen security > screen unlock
(Ajustes > Seguridad > seguridad de la pantalla > bloqueo de pantalla) 

En un rato googleando no parece que esté en un fichero de configuración de android, sino en una base de datos interna, ya que ahí está la opción activada.

http://forum.xda-developers.com/showthread.php?t=2620456

Se cita en método 4
adb shell
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update system set value=0 where name='lock_pattern_autolock';
update system set value=0 where name='lockscreen.lockedoutpermanently';
.quit
Lo próximo será ir quitando esos paquetes definitivamente y otros, e intentar mirar la base de datos para quitar esa opción de unlock... editar una base de datos interna de android para configurarlo va en la línea de una buena sesión friki

Programas "de sistema" quitados adicionales a los del primer post
*Disponibles en Google Play que se puede volver a instalar en cualquier momento
-Twitter (falla primera desinstalación, parque que quita actualizaciones, y la segunda va ok)
-GO Weather EX
-Puddle Drops
*Otros no disponibles en Google Play pero también como de sistema!
-Creative Note (com.yunlan.unlock.creativenote)
-3D Lotus (com.cooee.wallpaper.lotus)

-JewelMusic (com.iLoong.Music)
-3D Memo (com.iLoong.Memo)
-3D Robot (com.iLoong.Robot)
-Magic Clock (com.iLoong.MagicClock). No funciona: pide descargar "CoCo Launcher"

(borradas definitivamente
-Fondos de pantalla de humo mágico (com.android.magicsmoke)
-Fondos de pantalla de visualización musical (com.android.musicvis)

Con la app "SD Maid" y buscador de cadáveres luego se limpian datos asociados


Con adb shell, sqlite3 no está instalado
En ubuntu 14.04, se instala con apt-get sin más, pero la bd está en el móvil.

Buscando, encuentro  SQLite Editor-9.apk 
https://code.google.com/p/xdroidx/downloads/detail?name=SQLite%20Editor-9.apk&can=2&q=
Instalada se pueden mirar bases de datos (busca y muestra todas las existentes)
"Almacenamiento de configuración" (com.android.providers.settings) > settings.db > system, y ahí ver por ejemplo (name = value. No se indica campo _id que es numérico secuencial)
yl_whos_the_first_one = com.yunlan.syslockmarket
yunlan_wallpaper_name=com.yunlan.unlock.lotsofguitar

Seleccionando otras "Cool Launcher", launcher.db aparece
"An error ocurred while opening the database. disk I/O error (code 3850):, while compiling: SELECT * FROM sqlite_master WHERE type in('table','view') ORDER BY name"

Probando con otra app (SQLite Edit Little https://play.google.com/store/apps/details?id=com.henry.sqliteqa_litte) no muestra bases de datos, hay que navegar, y no puede leer /data...

Como curiosidad, al instalar SQLite Edit Little desde Google Play web y elegir el teléfono, me aparece como "Jazztel Dingcheng 316"

Mirando en visión general de SD Maid, indica
dingcheng 316 (leatek72_web_jb3) @ 4.4 (17)
ARMv7 Processor rev 3 (v7)[1.3GHz] @ 458 MB RAM
BusyBox v1.22.1-sdm324 [Normal] /data/data/eu.thedarken.sdm/files/busybox
Sqlite3: 3.7.6.3-Titanium [Normal] /data/data/eu.thedarken.sdm/files/sqlite3

Así que como buen friki compruebo que sí puedo usar ese sqlite desde línea de comandos de adb, como indicaba el enlace inicial

cd /data/data/com.android.providers.settings/databases
/data/data/eu.thedarken.sdm/files/sqlite3 settings.db
SQLite version 3.7.6.3-Titanium
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> SELECT * FROM sqlite_master WHERE type in('table','view') ORDER BY name
   ...> ;
table|android_metadata|android_metadata|3|CREATE TABLE android_metadata (locale TEXT)
table|bluetooth_devices|bluetooth_devices|14|CREATE TABLE bluetooth_devices (_id INTEGER PRIMARY KEY,name TEXT,addr TEXT,channel INTEGER,type INTEGER)
table|bookmarks|bookmarks|15|CREATE TABLE bookmarks (_id INTEGER PRIMARY KEY,title TEXT,folder TEXT,intent TEXT,shortcut INTEGER,ordering INTEGER)
table|global|global|11|CREATE TABLE global (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT UNIQUE ON CONFLICT REPLACE,value TEXT)
table|secure|secure|8|CREATE TABLE secure (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT UNIQUE ON CONFLICT REPLACE,value TEXT)
table|sqlite_sequence|sqlite_sequence|6|CREATE TABLE sqlite_sequence(name,seq)
table|system|system|4|CREATE TABLE system (_id INTEGER PRIMARY KEY AUTOINCREMENT,name TEXT UNIQUE ON CONFLICT REPLACE,value TEXT)


Conseguido ver cómo mirar... ahora falta encontrar dónde está el "Variety unlock" del menú ...
Por lo pongo que encuentro por internet sobre esa aplicación unlock (com.yunlan.syslockmarket) parece que en su momento tuvo troyanos, así que nada mejor que quitarla ...

http://forum.xda-developers.com/android/help/jiayu-g4s-trojan-malware-warning-custom-t2802220
También es sospechoso que SD Maid encuentra en cadáveres "com.skymobi.pay.app", que también aparece en esa página de XDA ...
A limpiar sin contemplaciones, ya veré si soluciono lo del menú de configuración!

jueves, 21 de agosto de 2014

Primera sesión friki: android (root y asuntos varios...)

Comienzo este blog para usarlo como archivo y punto para compartir las sesiones frikis que tengo de vez en cuando.
El comienzo creo que es ilustrativo: tras más de cuatro años (comprado en julio de 2014) con mi Samsung Wave GT-S8500 que venía con sistema operativo Bada pero al que instalé BadaDroid (lo que llevó muchas sesiones frikis ... de hecho también ayudé a los desarrolladores de BadaDroid con algunas pruebas y me pusieron en los crédidos), en agosto de 2014 tengo móvil nuevo.

Otras sesiones frikis podrán ser de otras cosas, sobre todo linux, aunque de momento con el móvil nuevo se ven en el horizonte bastantes sesiones frikis asociadas a android.

Me puse un límite de 50€ por un móvil libre nuevo, y lo conseguí
http://www.everbuying.com/product558748.html
Pagué $72.49, que fueron menos de 50€ con el cambio y con descuentos por haber hecho compras antes, incluyendo portes y seguro de envío.
Descripción:

-MIXC G7108
-4,3 WVGA Screen
-Android 4.4
-Procesador MT6572 Dual Core 1.3GHz
-4GB ROM Cameras WiFi GPS

Tras recibirlo pasado un mes... comienzan mis primeras sesiones frikis.
Escribo esto un jueves, y las sesiones frikis comenzaron el lunes

Asunto inicial: modelo CPU y versión android

En ajustes > sistema > información del teléfono
Indica
"CPU Core Number
four core
...
Hardware version
MT6589"


Sorprendido instalo una aplicación que muestra información del sistema y veo que realmente es de doble procesador como indicaba el anuncio.


Eso me lleva a pensar que si la información del sistema miente, igual realmente no es un android 4.4, así que comienzan las sesiones frikis. Averiguarlo vía adb.

Yo solamente uso ubuntu:al ejecutar adb devices da error, y googleando
http://forum.xda-developers.com/showthread.php?t=1642230


La infirmación de lsusb es curiosa, ya que indica HTC!
Bus 002 Device 007: ID 0bb4:0c03 HTC (High Tech Computer Corp.) 

Creando como root el fichero
/etc/udev/rules.d/99-android.rules 
y añadiendo
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", ATTRS{idProduct}=="0c03", MODE="0666"
funciona, y el resultado vuelve a ser curioso
adb devices
List of devices attached
0123456789ABCDEF    device


Tras eso ejecuto este comando y parece confirmar que es 4.4, aunque es extraño que no haya 3 dígitos ...
adb shell getprop ro.build.version.release
4.4


Primer asunto: fallo con tarjeta SD

- La tarjeta SD de 8 GB (esta sí es de marca, Kingston) se monta pero a los pocos minutos indica que se  ha desconectado! (y se conecta internamente) y avisa al usuario que no la desconecte sin desmontarla antes.

Solución (intuición friki): la tarjeta que estaba a más del 80% acumulaba mucha historia, así que me imaginé que igual tenía un número excesivo de archivos. Eliminando unos 8000! ficheros que había en /Others/__@@badaapps@@__ (o algo similar) deja de haber problema, que no se vuelve a reproducir pasados varios días.

Segundo asunto: no funciona la conexión de datos

Tras googlear acabo dando con la tecla; poner en tipo de APN dos tipos al tiempo, ya que por defecto al crear el APN y darle a guardar no aparecía!?

Ajustes>Redes móviles>APN. Menú "Nuevo APN"
Nombre: internet
APN: jazzinternet
Tipo de APN: default,wap
MCC:214 (valor por defecto)
MNC: 21 (valor por defecto)
Menú -> Guardar

Tercer asunto: los contactos de google no sincronizan

Google play y gmail funcionan ok, y se crea una cuenta google, pero no existe la opción de sincronizar contactos.
Tras googlear
https://productforums.google.com/d/msg/gmail/YEypIEHBWPA/fzEQbD1mHUcJ
y compruebo que en /system/app no está GoogleContactsSyncAdapter.apk

Una opción sería installar gaps, pero no parece haber acceso claro a un menú de recuperación:
volup+power : pantalla con una única línea "recovery mode"
voldown+power: pantalla en chino !... y parece que es para probar teclado, no instalar zips

Además instalar un gapps erróneo sería grave, y no dispongo de rom para restaurarlo ...

De modo que me pongo a buscar como rootearlo (perder la garantía no tiene mayor importancia si la tienda está a miles de kilómetros ...)

Tras googlear y navegar por xda, encuentro RootMaster
http://forum.xda-developers.com/showthread.php?t=2672150
La aplicación traducida al inglés no la puedo descargar, pero ver los pantallazos traducidos es suficiente.
Compruebo la cita de XDA de que se basa en algo real
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-6282
 Utilizo la aplicación en chino como buen friki y funciona, y comparto el resultado (además de por supuesto pulsar thanks al post inicial)
http://forum.xda-developers.com/showpost.php?p=54958949&postcount=12

Una vez rooteado, busco un GoogleContactsSyncAdapter.apk ... tomo el que hay dentro de pa_gapps-modular-mini-4.4.4-20140818-signed.zip
El intento inicial falla...
http://stackoverflow.com/questions/6066030/read-only-file-system-on-android
Tras arreglar eso
mount -o rw,remount /system
coloco el fichero y pongo permisos
chmod 644 GoogleContactsSyncAdapter.apk
Pero reiniciando no va ...

Se me ocurre borrar la cuenta google por si ahora al crearse se crea bien.
Borrar la cuenta google implica restaurar a valores de fábrica ... pero se mantiene el rooteado.

Visto esto parece un problema de versión del apk ¿Cómo saber de qué versión de android tomar el GoogleContactsSyncAdapter.apk?
Se me ocurre hacer el md5sum del GoogleServicesFramework.apk
e681d180a9a70db0a146378f1d57cb57  GoogleServicesFramework.apk.zip
y googleando, parece ser versión 2.3.4 ... aunque la versión de cada apk puede ir por separado
http://www.52pojie.cn/thread-213333-1-1.html
Google Services Framework(谷歌服务框架) v2.3.4.apk(MD5:E681D180A9A70DB0A146378F1D57CB57)

Googleando encuentro v2.2.1
http://youwave.com/forum/index.php?topic=3484.0
y poniendo ese tras reiniciar funciona! (me aparece opción y al activarla me descarga todos los contactos con sus fotos)
122282 bytes, 4a9248374bf4af8864bea57f2100d9d9
Como en la misma página está la versión 2.3.7 la pruebo
126915 bytes, 37c0e61b160ead275321fd35de9086df

y también funciona pero no bien; pruebo a cambiar algo en cada lado y sincroniza, aunque cambiando foto en el móvil no sube, y con anterior sí, así que dejo 2.2.1)

Cuarto asunto: el calendario no sincroniza con google

No existe la opción de asociar a la cuenta de google. Finalmente instalo el calendario desde google play, con lo que sincroniza el calendario y aparece en ambos. Las notificaciones aparecen dos veces, duplicadas
Solución: mirando en foros deshabilito la aplicación de calendario que venía (y desactivo sus notificaciones aunque una vez deshabilitada ya no era necesario)

Edito para añadir una foto ... tras descubrir en sesiones posteriores que la versión es 4.2.2...
http://sesionesfrikis.blogspot.com.es/2014/08/googlecontactssyncadapterapk-reloaded.html


Fin de problemas ... ahora trastear por placer

Una vez que tengo los temas resueltos, empiezo a hacer algunas cosas:
Instalo  la app desinstalador de aplicaciones de jumobile y quito aplicaciones que figuran como "de sistema" y que sin rootear no era posible quitar, y así libero algo de espacio para cosas que no uso:
-Facebook (está como aplicación del sistema, no la uso y luego se puede añadir)
-Fondos de pantalla de humo mágico
-Fondos de pantalla de visualización musical
-Unlock (com.yunlan.syslockmarket) y paquetes asociados a opciones: BeerUnlock, BubbleUnlock, CrossRange, FireDance, MagicPiano, petal, Rainbow, Star Diamond, Twinkle, Variety Guitars, Westlake. Esto va asociado a "variety unlock" en menú de seguridad que no desaparece, y al elegirla da error la configuración, pero no pasa nada.

Actualizo: tras reiniciar variety unlock no desaparece, pero tras tener elegido y configurado PIN elegirla no da error sino que abre configuración de patrón 3x3.