Posts etiquetados ‘android’

Para todos los que creamos algo para android y tenemos nuestro smartphone con android pero al conectar al PC y lanzar la aplicación nos muestra garabatos! como estos:

Serial number: ?????????????
AVD name: n/a
Target: unknown
State: n/a

Estoy frito! no le puedo dar al botón “OK” y lanzar mi aplicación. Bueno esta es la solución para los de usamos Linux (los de Windows busquen el driver), manos a la obra.

  1. Abrir una consola e instalar adb-tools (sudo apt-get install android-tools-adb)
  2. Conectar nuestro smartphone al PC y asegurarnos que este activo el modo de desarrollo y debug USB.
  3. Luego ejecutar este comando adb devices y les aparecerá una lista con dos columnas “List of devices” y “attached”, si esto nos devuelve “????????????” y “no permissions” es porque debemos comprar otro smartphone, el mas caro del mercado 😉 broma, no hagas ni tal, sigue leyendo.
  4. Ahora necesitas saber el vendedor ID de tu dispositivo, eso le damos al comando lsusb desde la consola y nos saldrá una lista con todo el hardware conectado a nuestra máquina, ahí hay que identificar nuestro dispositivo y anotar el ID del vendedor (línea de ejemplo: Bus 002 Device 014: ID 0bb4:0c03 HTC (High Tech Computer Corp.)).
  5. Ya tenemos casi todo solo nos falta agregar una regla en el servidor adb y esto lo hacemos creando el siguiente archivo en la ruta: sudo nano /etc/udev/rules.d/51-android.rules (si ya existe lo editas).
  6. Dentro de este archivo colocar SUBSYSTEM==”usb”, SYSFS{IDdelVendedor, si que anotaste antes si ese mismo el de rojo, ponlo aquí}==”04e8″, MODE=”0666″ guardar y salir.
  7. Asignarle los permisos correspondientes: sudo chmod a+r /etc/udev/rules.d/51-android.rules
  8. Ya casi casi, ahora solo falta matar al cabron el servidor adb con sudo adb kill-server y luego lanzar el comando adb devices esto levantará nuevamente el servidor adb y nos listará correctamente nuestro dispositivo, “List of devices” y “attached” ya nos aparecerá el nombre o la serie de nuestro smartphone.

Con esto ya podemos lanzar nuevamente nuestro proyecto desde Eclipse y ser felices, me salio versos sin esfuerzo, saludos!

Cuando se desarrolla una aplicación en android y se usa un android:minSdkVersion = 7 y se quiere que esta aplicación este disponible para pantallas pequeñas (small) hasta pantallas grandes (xlarge) por lo general en el manifest se tiene el siguiente código:

<supports-screens
        android:anyDensity=”true”
       android:largeScreens=”true”
       android:normalScreens=”true”
       android:resizeable=”true”
       android:smallScreens=”true” />

Aun así al subir la app a la consola de google play no dice que esta todo OK pero al verla en dispositivos como el samsung galaxy mini o el LG optimus ME no lo muestra en los resultados de la búsqueda, bueno esto puede ser porque si en nuestra app usamos la cámara y tenemos esta línea en el manifest:

<uses-permission android:name="android.permission.CAMERA" />

Existes algunos dispositivos que no pueden usar AUTOFOCUS que es como lo toma la consola de google play, para poder incluir estos dispositivos que están fuera de la compatibilidad (por no tener autofocus en el hardware) debemos incluir esta línea en nuestro manifest:

<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

De esta manera podremos incluir a todos esos dispositivos que quedaron fuera, espero que sea de ayuda…

(Any screen/density app android)