studio regresar play pasar paquete otro nombre navegar entre cambiar aplicacion anterior activity actividades android hyperlink google-play android-intent

android - regresar - play store



Encuentra el nombre del paquete para las aplicaciones de Android para usar Intent para abrir la aplicaciĆ³n Market desde la web (12)

Estoy creando un sitio web móvil que incluirá una página desde la que las personas pueden descargar aplicaciones relevantes que recomendamos. Encontré instructions para crear los enlaces para lanzar Market, pero esto supone que usted es el desarrollador de la aplicación en cuestión y conoce el nombre exacto del paquete.

¿Hay alguna manera de obtener el nombre del paquete, que no sea simplemente contactar a los desarrolladores y preguntar?

Además, resulta que esas instrucciones realmente no funcionan para crear hipervínculos web. Solo te dan un URI para hacer referencia a una cadena de código Java en otra aplicación de Android. Nuestro sitio está en Drupal, por lo que Java no va a funcionar.

Para el iPhone, encontré instrucciones sencillas para obtener el estilo de URL / enlace que necesito de la tienda de iTunes, así que estoy buscando información como esa.


  1. Ve a la configuración de la aplicación.
  2. Haga clic en Almacenamiento y USB.
  3. Haga clic en Tarjeta de teléfono.
  4. Haga clic en Android.
  5. Haga clic en Datos.

Ahora puede encontrar los nombres de los paquetes de todas las aplicaciones que están instaladas en su teléfono.


Agregando a las respuestas anteriores: Para encontrar el nombre del paquete de aplicaciones instaladas en cualquier dispositivo Android: Vaya a Almacenamiento / Android / datos / <nombre-paquete>


Aquí hay una manera fácil de obtener el paquete completo de la aplicación. podemos usar la aplicación de administrador de archivos astro. Puede obtenerlo en el mercado de Android. El administrador de la aplicación Astro nos muestra el paquete completo de la aplicación.


Depende de dónde exactamente desea obtener la información. Usted tiene un montón de opciones:

  • Si tiene una copia de .apk, es solo cuestión de abrirlo como un archivo zip y mirar el archivo AndroidManifest.xml. El elemento <manifest> nivel superior tendrá un atributo de package .
  • Si tiene la aplicación instalada en un dispositivo y puede conectarse usando adb , puede adb shell y ejecutar pm list packages -f , que muestra el nombre del paquete para cada apk instalado.
  • Si solo quiere encontrar manualmente un par de nombres de paquetes, puede buscar la aplicación en http://www.cyrket.com/m/android/ , y el nombre del paquete se muestra en la URL.
  • También puede hacerlo de forma progmática desde una aplicación de Android utilizando el PackageManager

Una vez que tiene el nombre del paquete, simplemente se vincula al market://search?q=pname:<package_name> o http://market.android.com/search?q=pname:<package_name> . Ambos abrirán el mercado en un dispositivo Android; este último obviamente también tiene el potencial de funcionar en otro hardware (no en el minuto).


El siguiente código los listará:

adb shell dumpsys package <packagename>


Esta es una situación bastante difícil, puedes obtener el nombre del paquete del archivo apk, pero supongo que quieres hacerlo automáticamente.

AndroLib tiene los nombres de paquete para muchas aplicaciones, pero tendría que analizarlo ya que no hay ninguna API que pueda encontrar. Hay una sección de desarrollo que puede tener algunas herramientas para ayudarte.

Buena suerte


La siguiente secuencia de comandos bash se puede usar para mostrar los nombres de paquetes y actividades en una aplicación, e iniciar la aplicación pasándole un archivo APK.

apk_start.sh

package=`aapt dump badging $* | grep package | awk ''{print $2}'' | sed s/name=//g | sed s//'//g` activity=`aapt dump badging $* | grep Activity | awk ''{print $2}'' | sed s/name=//g | sed s//'//g` echo echo package : $package echo activity: $activity echo echo Launching application on device.... echo adb shell am start -n $package/$activity

Luego, para iniciar la aplicación en el emulador, simplemente suministre el nombre de archivo APK así:

apk_start.sh /tmp/MyApp.apk

Por supuesto, si solo desea que se muestre el nombre del paquete y la actividad de la aplicación, elimine la última línea de la secuencia de comandos.

Puede detener una aplicación de la misma manera utilizando esta secuencia de comandos:

apk_stop.sh

package=`aapt dump badging $* | grep package | awk ''{print $2}'' | sed s/name=//g | sed s//'//g` adb shell am force-stop $package

al igual que:

apk_stop.sh /tmp/MyApp.apk

Nota importante : aapt se puede encontrar aquí:

<android_sdk_home>/build-tools/android-<ver>/aapt




Si desea esta información en su teléfono, lo mejor es usar una aplicación como ''APKit'' que muestra el nombre completo del paquete de cada aplicación en su teléfono. Esta información puede ser utilizada en su teléfono.


Una vez que tenga el nombre del paquete, como se describe en la respuesta de Chris Smith , podría / debería usar una URL de intención para el enlace. Es una URL de formato especial que lanzará el paquete si el usuario ya lo ha instalado, o abrirá la Play Store en la página de la aplicación si no ...

intent://#Intent;package=qualified.package.name;end

La aplicación debe admitir esto, con una actividad etiquetada como navegable, pero muchas lo harán.


Use aapt del SDK como

aapt dump badging yourpkg.apk

Esto imprimirá el nombre del paquete junto con otra información.

las herramientas se encuentra en
<sdk_home> / build-tools / android- <api_level>
o
<sdk_home> / platform-tools
o
<sdk_home> / platforms / android- <api_level> / tools

Actualizado según el comentario de geniusburger . ¡Gracias!