Ich erstelle eine mobile Website, die eine Seite enthält, von der aus die von uns empfohlenen relevanten Apps heruntergeladen werden können. Ich habe Anweisungen gefunden, um Links zum Starten des Market zu erstellen. Dies setzt jedoch voraus, dass Sie der Entwickler der betreffenden App sind und den genauen Paketnamen kennen.
Gibt es eine andere Möglichkeit, den Paketnamen zu erhalten, als nur die Entwickler zu kontaktieren und zu fragen?
Es stellt sich außerdem heraus, dass diese Anweisungen zum Erstellen von Web-Hyperlinks nicht wirklich funktionieren. Sie geben Ihnen nur einen URI, der in einer anderen Android-App in einer Java-Zeichenfolge referenziert werden kann. Unsere Site ist in Drupal, Java wird also nicht funktionieren.
Für das iPhone habe ich einfache Anweisungen gefunden, um den gewünschten URL/Link-Stil aus dem iTunes Store zu erhalten. Ich suche also nach Informationen wie diesem.
Es hängt davon ab, wo genau Sie die Informationen abrufen möchten. Sie haben eine Reihe von Optionen:
<manifest>
-Element der obersten Ebene hat ein package
-Attribut.adb
herstellen können, können Sie adb Shell
starten und pm list packages -f
ausführen, wodurch der Paketname für jede installierte apk angezeigt wird.PackageManager
progmatisch ausführen.Sobald Sie den Paketnamen erhalten haben, verknüpfen Sie einfach mit market://search?q=pname:<package_name>
oder http://market.Android.com/search?q=pname:<package_name>
. Beide werden den Markt auf einem Android-Gerät öffnen. Letzteres hat offensichtlich das Potenzial, auch mit anderer Hardware zu arbeiten (dies ist nicht der Fall).
Verwenden Sie aapt
aus dem SDK
aapt dump badging yourpkg.apk
Dadurch wird der Paketname zusammen mit anderen Informationen gedruckt.
das Werkzeug befindet sich in
<sdk_home>/build-tools/Android- <api_level>
oder
<sdk_home>/platform-tools
oder
<sdk_home>/platform/Android- <api_level>/tools
Entsprechend dem Kommentar von geniusburger aktualisiert. Vielen Dank!
Das folgende Bash-Skript kann verwendet werden, um die Paket- und Aktivitätsnamen in einer apk anzuzeigen und die Anwendung durch Übergeben einer APK-Datei zu starten.
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
Um die Anwendung im Emulator zu starten, geben Sie einfach den APK-Dateinamen wie folgt ein:
apk_start.sh /tmp/MyApp.apk
Wenn Sie nur das Paket und den Aktivitätsnamen der apk anzeigen möchten, löschen Sie natürlich die letzte Zeile des Skripts.
Sie können eine Anwendung auf dieselbe Weise stoppen, indem Sie dieses Skript verwenden:
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
wie so:
apk_stop.sh /tmp/MyApp.apk
Wichtiger Hinweis : aapt finden Sie hier:
<Android_sdk_home>/build-tools/Android-<ver>/aapt
Der folgende Code listet sie auf:
adb Shell dumpsys package <packagename>
Nicht sicher, ob Sie das noch benötigen, aber in http://www.appbrain.com/ suchen Sie die App und der Paketname befindet sich in der URL. Zum Beispiel: http://www.appbrain.com/app/fruit-ninja/com.halfbrick.fruitninja ist der Link für Fruchtninja. Beachten Sie das Fett
Hinzufügen zu den obigen Antworten: So finden Sie den Paketnamen installierter Apps auf einem Android-Gerät: Gehen Sie zu Speicher/Android/Daten/<Paketname> .
Sie können die App online im Google Play Store suchen. Wenn gefunden, überprüfen Sie die URL, zum Beispiel https://play.google.com/store/apps/details?id=lutey.FTPServer&hl=de
Der id-Parameter entspricht dem Paketnamen der Anwendung. Im Fall der URL im Beispiel lautet der Paketname lutey.FTPServer.
Hier finden Sie einen einfachen Weg, um das vollständige Paket der App zu erhalten. Sie können es auf dem Android Market bekommen. __ Astro App Manager zeigt uns das vollständige Paket der App.
Sobald Sie den Paketnamen haben, wie in Chris Smiths Antwort beschrieben, könnten/sollten Sie eine absichtliche URL für den Link verwenden. Es ist eine Sonderformat-URL , die das Paket startet, wenn der Benutzer es bereits installiert hat, oder den Play Store auf der Anwendungsseite öffnen, wenn nicht.
intent://#Intent;package=qualified.package.name;end
Die App muss dies unterstützen, wobei eine Aktivität als durchsuchbar markiert ist, aber viele werden dies tun.
Dies ist eine ziemlich schwierige Situation, Sie können den Paketnamen aus der apk-Datei erhalten, aber ich gehe davon aus, dass Sie dies automatisch tun möchten.
AndroLib hat die Paketnamen für viele Apps, aber Sie müssen sie analysieren, da es keine API gibt, die ich finden könnte. Es gibt einen dev-Bereich, der einige Tools enthält, die Ihnen helfen können.
Viel Glück