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.
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 depackage
. - Si tiene la aplicación instalada en un dispositivo y puede conectarse usando
adb
, puedeadb shell
y ejecutarpm 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
No estoy seguro de si todavía necesita esto, pero en http://www.appbrain.com/ , busca la aplicación y el nombre del paquete está en la url. Por ejemplo: http://www.appbrain.com/app/fruit-ninja/ com.halfbrick.fruitninja es el enlace para ninja de la fruta. Observe el negrita
Puede buscar la aplicación en línea en Google Play Store. Cuando se encuentre, consulte la URL, por ejemplo, https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=en
El parámetro id corresponde al nombre del paquete de la aplicación. En el caso de la url en el ejemplo, el nombre del paquete es lutey.FTPServer.
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!