Busque el nombre del paquete para que las aplicaciones de Android se utilicen Intent to launch Market app from web
Estoy creando un sitio web para móviles que incluirá una página desde la que las personas pueden descargar aplicaciones relevantes que recomendamos. He encontrado instrucciones para crear los vínculos para lanzar el 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 forma de obtener el nombre del paquete, aparte de simplemente ponerse en contacto con los desarrolladores y preguntar?
- Cómo comprobar si el usuario de la aplicación está en Google Play Beta Testing
- Apk actualización para la tableta, todavía dice "Diseñado para teléfonos"
- Reemplazar la aplicación de Android que tiene el mismo nombre de paquete pero nueva keystore
- ¿Cómo puedo averiguar el país de google play del usuario?
- Mi aplicación se rechazó de Google Play debido a algún problema con la política de red?
Además, resulta que esas instrucciones realmente no funcionan para crear hipervínculos web. Sólo te dan un URI para hacer referencia en una cadena de código Java en otra aplicación de Android. Nuestro sitio está en Drupal, así que Java no va a funcionar.
Para el iPhone, encontré instrucciones sencillas para obtener el estilo de URL / enlace que necesito en la tienda de iTunes, así que estoy buscando información como esa.
- El apk debe estar firmado con los mismos certificados que la versión anterior
- ID de publicidad de Google Play? ¿Nuevas políticas para desarrolladores de Google Play?
- Informe de error de Android con un montón de <OR> en stacktrace
- Algunos países están inhabilitados en la consola de Google Play para desarrolladores
- ¿Es posible depurar localmente la facturación en la aplicación de Google Play en Android Studio?
- Diseño de aplicaciones de Android para tablets
- Esta aplicación no se ejecutará a menos que actualice el error de Google Play Services
- Configurar los juegos libgdx para que sean "diseñados para tabletas"
Depende de dónde quieres obtener exactamente la información. Tienes un montón de opciones:
- Si usted tiene una copia de la .apk, es sólo un caso de abrirlo como un archivo zip y mirando 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 mediante
adb
, puede iniciaradb shell
y ejecutarpm list packages -f
, que muestra el nombre del paquete para cada apk instalado. - Si sólo desea buscar 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 puedes hacerlo progmáticamente desde una aplicación de Android mediante
PackageManager
Una vez que tienes el nombre del paquete, simplemente enlazas a 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; El último, obviamente, tiene el potencial para trabajar en otro hardware también (no en el minuto).
Utilice aapt
del SDK como
aapt dump badging yourpkg.apk
Esto imprimirá el nombre del paquete junto con otra información.
Las herramientas se encuentran en
<Sdk_home> / build-tools / android- <api_level>
o
<Sdk_home> / plataforma-herramientas
o
<Sdk_home> / plataformas / android- <api_level> / herramientas
Actualizado según el comentario de geniusburger . ¡Gracias!
El siguiente script bash se puede usar para mostrar los nombres de paquetes y actividades en un apk, e iniciar la aplicación pasándola 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
A continuación, para iniciar la aplicación en el emulador, simplemente suministre el nombre de archivo APK de la siguiente manera:
apk_start.sh /tmp/MyApp.apk
Por supuesto, si sólo desea que se muestre el nombre del paquete y la actividad del apk, borre la última línea del script.
Puede detener una aplicación de la misma manera utilizando este script:
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
El siguiente código los enumerará:
adb shell dumpsys package <packagename>
No está 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 el ninja de la fruta. Observe la negrita
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 utilizar la aplicación de gestor de archivos astro. Usted puede conseguirlo en el mercado androide. Astro app manager nos muestra el paquete completo de la aplicación.
Puedes buscar la aplicación en línea en Google Play Store. Cuando se encuentre, compruebe la url, por ejemplo, https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=es
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.
Esta es una situación bastante difícil, puedes obtener el nombre del paquete desde el archivo apk, pero supongo que quieres hacerlo automáticamente.
AndroLib tiene los nombres de los paquetes para muchas aplicaciones, pero tendrías que analizarlo, ya que no hay API que pueda encontrar. Theres una sección dev que puede tener algunas herramientas para ayudarle.
Buena suerte
Una vez que tenga el nombre del paquete, como se describe la respuesta de Chris Smith , podría / debe utilizar 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 abre la tienda de reproducción en la página de la aplicación, si no …
intent://#Intent;package=qualified.package.name;end
La aplicación debe soportar esto, con una actividad etiquetada como navegable, pero muchos lo harán.
- Ir a la aplicación de configuración.
- Haga clic en Almacenamiento y USB.
- Haga clic en Tarjeta telefónica.
- Haga clic en Android.
- Haga clic en Datos.
Ahora puede encontrar los nombres de los paquetes de todas las aplicaciones que están instaladas en su teléfono.
Si desea esta información en su teléfono, lo mejor es utilizar una aplicación como "APKit" que muestra el nombre completo del paquete de cada aplicación en su teléfono. Esta información se puede utilizar en su teléfono.