Rechercher le nom du package pour les applications Android à utiliser Intention de lancer l’application Market à partir du Web

Je crée un site Web mobile qui comprendra une page à partir de laquelle les utilisateurs pourront télécharger les applications pertinentes que nous recommandons. J’ai trouvé des instructions pour créer les liens permettant de lancer Market, mais cela suppose que vous soyez le développeur de l’application en question et que vous connaissez le nom exact du package.

Y a-t-il un moyen d’obtenir le nom du paquet, autre que simplement contacter les développeurs et demander?

En outre, il s’avère que ces instructions ne fonctionnent pas vraiment pour créer des hyperliens Web. Ils ne vous donnent qu’un URI à référencer dans une chaîne de code Java dans une autre application Android. Notre site est à Drupal, donc Java ne fonctionnera pas.

Pour l’iPhone, j’ai trouvé des instructions simples pour obtenir l’URL / le style de lien dont j’ai besoin dans l’iTunes Store, donc je cherche des informations comme ça.

Cela dépend d’où exactement vous voulez obtenir l’information. Vous avez un tas d’options:

  • Si vous avez une copie du fichier .apk, il vous suffit de l’ouvrir sous forme de fichier zip et d’examiner le fichier AndroidManifest.xml. L’élément niveau supérieur aura un atsortingbut de package .
  • Si l’application est installée sur un périphérique et peut se connecter via adb , vous pouvez lancer adb shell et exécuter pm list packages -f , qui affiche le nom du package pour chaque adb shell installé.
  • Si vous souhaitez simplement rechercher manuellement quelques noms de package, vous pouvez rechercher l’application sur http://www.cyrket.com/m/android/ , et le nom du package s’affiche dans l’URL.
  • Vous pouvez également le faire à partir d’une application Android à l’aide de l’outil PackageManager.

Une fois que vous avez le nom du package, il vous suffit de market://search?q=pname: lien vers market://search?q=pname: ou http://market.android.com/search?q=pname: . Les deux ouvriront le marché sur un appareil Android; ce dernier a évidemment le potentiel de fonctionner sur d’autres matériels (ce n’est pas le cas à la minute).

Utilisez aapt du SDK comme

 aapt dump badging yourpkg.apk 

Cela imprimera le nom du paquet avec d’autres informations.

les outils sont situés dans
/ build-tools / android-
ou
/ platform-tools
ou
/ platform / android- / tools

Mise à jour selon le commentaire de geniusburger . Merci!

Le script bash suivant peut être utilisé pour afficher les noms des packages et des activités dans une apk et lancer l’application en lui transmettant un fichier 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 

Ensuite, pour lancer l’application dans l’émulateur, fournissez simplement le nom du fichier APK comme suit:

 apk_start.sh /tmp/MyApp.apk 

Bien sûr, si vous souhaitez simplement afficher le nom du paquet et de l’activité de l’apk, supprimez la dernière ligne du script.

Vous pouvez arrêter une application de la même manière en utilisant ce 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 

ainsi:

 apk_stop.sh /tmp/MyApp.apk 

Note importante : aapt peut être trouvé ici:

 /build-tools/android-/aapt 

Le code suivant les listera:

 adb shell dumpsys package  

Vous ne savez pas si vous en avez encore besoin, mais dans http://www.appbrain.com/ , vous recherchez l’application et le nom du package se trouve dans l’URL. Par exemple: http://www.appbrain.com/app/fruit-ninja/ com.halfbrick.fruitninja est le lien pour le ninja aux fruits. Notez le gras

Ajout des réponses ci-dessus: Pour trouver le nom du package des applications installées sur n’importe quel périphérique Android: Accédez à Storage / Android / data /

Voici un moyen facile d’obtenir le package complet de l’application. nous pouvons utiliser l’application de gestionnaire de fichiers astro. Vous pouvez l’obtenir sur Android Market. Astro app manager affiche le package complet de l’application.

Vous pouvez rechercher l’application en ligne dans le Google Play Store. Une fois trouvé, vérifiez l’URL, par exemple, https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=en

Le paramètre id correspond au nom du package de l’application. Dans le cas de l’URL dans l’exemple, le nom du package est lutey.FTPServer.

C’est une situation assez difficile, vous pouvez obtenir le nom du paquet à partir du fichier apk, mais je suppose que vous voulez le faire automatiquement.

AndroLib a les noms de paquets pour beaucoup d’applications, mais vous devrez les parsingr car il n’y a pas d’API que je pourrais trouver. Theres une section de développement qui peut avoir des outils pour vous aider.

Bonne chance

Une fois que vous avez le nom du package, comme décrit dans la réponse de Chris Smith , vous pouvez / devez utiliser une URL d’intention pour le lien. C’est un URL au format spécial qui lancera le paquet si l’utilisateur l’a déjà installé ou ouvre le magasin de lecture sur la page de l’application, sinon …

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

L’application doit prendre cela en charge, avec une activité étiquetée comme navigable, mais beaucoup le feront.

  1. Aller à la configuration de l’application.
  2. Cliquez sur Stockage & USB.
  3. Cliquez sur la carte téléphonique.
  4. Cliquez sur Android.
  5. Cliquez sur données.

Vous pouvez maintenant trouver les noms de toutes les applications installées sur votre téléphone.

entrer la description de l'image ici

Si vous souhaitez que ces informations figurent sur votre téléphone, il est préférable d’utiliser une application telle que “APKit” qui affiche le nom complet de chaque application de votre téléphone. Cette information peut ensuite être utilisée dans votre téléphone.