Desinstalar del emulador no funciona

Estoy dando mis primeros pinitos con Android. Estoy usando una Mac y no Eclipse.

He instalado mi primera aplicación de juguetes con

bin de instalación adb/*.apk

y comprobé que existía en el emulador. Luego hice algunos cambios, volví a ejecutar la compilación e intenté instalar nuevamente, lo que trajo el mensaje de error

   pkg: /data/local/tmp/DefaultActivity-debug.apk

Error [INSTALL_FAILED_ALREADY_EXISTS]

Bien, entonces tengo que desinstalar primero. Así que probé lo siguiente:

adb desinstalar DefaultActivity adb desinstalar de.rf.DefaultActivity adb desinstalar DefaultActivity-debug adb desinstalar /data/local/tmp/DefaultActivity-debug.apk adb desinstalar de.rf

pero todos ellos solo trajeron el mensaje de error "Falla", sin más explicación.

Realmente no es un gran problema, porque simplemente puedo reiniciar el emulador y usar "adb install...", pero tengo curiosidad: ¿Cómo uso correctamente el comando "desinstalar"?

Mi actividad se ve así:

paquete de.rf; ... clase pública DefaultActivity extiende la actividad { ... }

Respuestas (2)

No tienes que desinstalar, cuando instalas una aplicación ya instalada, tienes que usar adb install -r. (para obtener más ayuda, solo escriba adb)

Para desinstalar una aplicación, debe usar adb uninstall package-name(por ejemplo, adb uninstall com.example.app).

Muchas gracias, esto funciona. Extrañamente, he leído adb -help varias veces, pero de alguna manera siempre pasé por alto el interruptor (claramente visible) -r.

Para desinstalar el paquete usando adb, debe usar el nombre del paquete que aparece en el manifiesto, por ejemplo:

adb uninstall com.shadowburst.showr

También es posible que desee utilizar la -kopción para evitar eliminar los datos de la aplicación al desinstalarla.

También puede desinstalar aplicaciones desde la aplicación Configuración : haga clic en Aplicaciones , busque su aplicación en la lista y luego haga clic en Desinstalar . Esto funciona incluso si la aplicación se instaló mediante adbo directamente desde un archivo APK.

Por cierto, no lo use de.rfcomo nombre de paquete, incluso si posee el dominio de Internet rf.de. Desea que el nombre del paquete sea algo dentro de un dominio que controle, para asegurarse de que no entre en conflicto con otro paquete de Java que escriba (como otra aplicación o una biblioteca).

¡Gracias por tus sugerencias y explicaciones! En este momento, solo estoy jugando, y seguramente seguiré su recomendación y usaré un nombre de paquete más sensato cuando comience a hacer un trabajo real.
Por cierto, al hacer clic en "Configuración" se muestra un cuadro de mensaje que dice "Acción no admitida". ¿Será que esto se debe a que estoy usando un SDK de Android que ya está un poco desactualizado (0.9beta)?
Probablemente. Las primeras versiones del emulador eran un poco basura.