Wie durchsuche ich den Play Store nach Berechtigungen?


66

Wie kann ich festlegen, dass ich keine Apps sehen möchte, für die beispielsweise ein Internetzugang erforderlich ist? Oder nur Apps anzeigen, die eine bestimmte Berechtigung verwenden?

Ein bestimmtes Repository mit einer Suche auf seiner Webseite? Eine App, die die Suche im Play Store ermöglicht?


6
Dies kann wirklich ein toller Vorschlag für Google sein ..
Android Quesito

8
Wenn Sie die Weboberfläche von Play Store verwenden, müssen Sie die Installation nicht versuchen, um die Berechtigungen einer App anzuzeigen. Auf der Seite jeder App gibt es eine Registerkarte, auf der sie aufgelistet sind. Könnte Ihnen ein paar Klicks ersparen.
Chahk


@Chahk Ich kann die Registerkarte nicht finden. Würde es Ihnen etwas ausmachen, einen Beispiellink für diesen Tab zu veröffentlichen?
Marcel

@Marcel Die Play Store-Website wurde kürzlich von Google neu gestaltet. Leider haben sie die Funktionalität entfernt, über die ich gesprochen habe. Sie müssen jetzt auf die Schaltfläche "Installieren" klicken, um die Berechtigungen anzuzeigen.
Chahk

Antworten:


5

UPDATE: Laut Google Play Store-Listing derzeit nicht funktionsfähig.

Wenn Sie interessiert sind, habe ich eine App namens StripSearch entwickelt, um Suchlisten nach den verwendeten Berechtigungen zu filtern. Die App schließt Ergebnisse aus, die die von einem bestimmten Suchfilter festgelegten Berechtigungsanforderungen nicht erfüllen (ein Filter kann bestimmte Berechtigungen ausschließen, erfordern oder ignorieren). Standardmäßig sind mehrere Filter enthalten, Sie können jedoch auch eigene Filter erstellen.

Hier können Sie StripSearch herunterladen: https://play.google.com/store/apps/details?id=com.hasslefixes.stripsearch

Wenn Sie eine Demo sehen möchten, die deren Verwendung erklärt, können Sie sich hier ein Video ansehen: https://www.youtube.com/watch?v=mynw3rbky5A

StripSearch ist kostenlos, enthält keine Werbung oder Spyware und verwendet nur die folgenden Berechtigungen:

  • android.permission.INTERNET (wird offensichtlich benötigt, um den Laden zu durchsuchen)
  • com.google.android.providers.gsf.permission.READ_GSERVICES (erforderlich, um die Google Play Android-ID zu erhalten, die mit Ihrem Telefon und Konto verknüpft ist)

Probieren Sie es aus!


Umm? Ist das nicht android_idin der /data/data/android.provider.settings/databases/settings.dbDatenbank auf dem Gerät gespeichert , auch wenn kein GSF installiert ist? Ich frage mich nur, ob für den Zugriff wirklich eine GSF-Berechtigung erforderlich ist (und nicht so etwas wie READ_SECURE_SETTINGS). Ich habe schon gehört, dass GSF dieses Original android_idbei der Konto-Initialisierung irgendwie "überschreibt" - aber wird es dann an einem anderen Ort auf dem Gerät gespeichert? Wenn ja, wo?
Izzy

BTW: Sieht cool aus; Ich habe es gerade zu AppBrain und zu meiner Liste der Markt-Addons hinzugefügt ;)
Izzy

Das habe ich ursprünglich auch gedacht, aber es stellt sich heraus, dass diese Android-ID, obwohl sie für jedes Telefon spezifisch ist, keine gültige ID für die Übermittlung an Google Play ist. Für den Zugriff auf Google Play über die Market-API (so funktioniert StripSearch) ist die GTalk-Android-ID erforderlich. Dieser Blog geht weiter in die Tiefe: blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id Vielen Dank für Ihren Blick!
HassleFixes

Danke vielmals! Das kam genau zur richtigen Zeit. Wollte ein weiteres Gerät "ohne Google" neu flashen (NOGAPPS stattdessen mit BlankStore). Jetzt habe ich eine gültige android_id dafür :)
Izzy

Hinweis: Wenn jemand an weiteren Details zu dieser App interessiert ist, habe ich eine Zusammenfassung in StripSearch geschrieben, mit der Sie Apps mit Erlaubnis finden können . HassleFixes macht keine Probleme, er behebt und ziemlich schnell (dh gute Unterstützung :)
Izzy

23

Wie es derzeit CAN erfolgen

Während meiner morgendlichen Routine beim Lesen meiner RSS-Feeds bin ich auf eine Rezension bei N-Droid gestoßen , in der es um eine App namens APEFS ging . Diese App wurde von deutschen Studenten entwickelt (daher ist die Beschreibung im Playstore auf Deutsch, auch wenn Sie die Sprache auf Englisch einstellen). Aber für unsere nichtdeutschen Leser eine kurze Beschreibung hier:

Grundsätzlich ist APEFS ein alternatives Frontend zum Google Playstore. Sie durchsuchen den Playstore wie die ursprüngliche App und durchsuchen ihn auf dieselbe Weise. Aber wenn auf der Ergebnisliste 1 ein erweiterter Filter 2 ins Spiel kommt:

APEFS-Suchergebnisse APEFS-Filter

Wie der zweite Screenshot zeigt, können Sie auswählen, welche Berechtigungen Ihre gewünschte App haben darf (Kontrollkästchen markiert) und welche nicht (Kontrollkästchen deaktiviert).

Allerdings: Während dies verwendet werden kann, um Apps mit unerwünschten Berechtigungen herauszufiltern (z. B. nur Apps ohne Internetberechtigung anzeigen), können Sie Ihre Ergebnisse nicht auf das Gegenteil beschränken (z. B. nur Apps mit Internetberechtigung anzeigen). Die App zielt eindeutig auf Benutzer ab, die sich um ihre Privatsphäre und Sicherheit sorgen - und laut dem Test (ich habe sie erst vor ein paar Minuten gefunden und konnte sie noch nicht testen) macht sie einen sehr guten Job.


BEARBEITEN:

Da es bereits ein Jahr her ist und das Versprechen auf der APEFS-Homepage ( GTransed to English, da ihre eigene englische Version diese Aussage im ersten Absatz nicht enthält) nicht in Kürze erfüllt zu sein scheint (die App ist immer noch offline): Bitte betrachten Sie die webbasierte Lösung aus meiner anderen Antwort als Alternative.


Der Link zum Google Play Store ist unterbrochen. Ist dies der aktualisierte? PS: Wenn ja , es gibt bereits englische Unterstützung ...
Zuul

@Zuul Nein, das ist die falsche. Der Play-Link ist dank des "Play-8-Relaunch" des neuen Tile-Stores nur vorübergehend unterbrochen (siehe APEFS Homepage ( GTransed to English)). Offensichtlich hat die App ein bisschen Site-Scraping benutzt;) Leider enthält ihre englische Seite diesen Hinweis nicht ...
Izzy

2
@sashoalm siehe drei Kommentare über deinen. Es wurde mit dem PlayStore-Relaunch inkompatibel. Auf ihrer Website heißt es, sie arbeiten an einem Update - aber das scheint ziemlich lange zu dauern (das heißt es schon seit dem Relaunch). Trotzdem, gib die Hoffnung nicht auf!
Izzy

1
4 Jahre später arbeiten sie noch an diesem Update. @ Izzy hat mich jedoch dazu inspiriert, die Hoffnung nicht aufzugeben ;-)
Spencer D

2
@ Izzy, fyi, StripSearch ist anscheinend auch kaputt. Ich bin mir nicht sicher, ob es für einige Leute noch funktioniert, aber für mich hat es nicht funktioniert, und ich glaube, ich habe an anderer Stelle Kommentare gelesen, die andere Benutzer als fehlerhaft gemeldet haben. (Diese sind möglicherweise in den Play Store-Rezensionen der App enthalten.) Unabhängig davon habe ich Ihre Lösung verwendet, die perfekt funktioniert hat. Ich wollte jedoch kein Feedback dazu geben und nur "+1 danke" sagen. Ihre Webseite ist jedoch die einzige funktionierende Suche / der einzige funktionierende Filter, den ich gefunden habe. Du hast also meine Zustimmung und meine Dankbarkeit erhalten. Sie haben einen hervorragenden Beitrag zur Community geleistet.
Spencer D

14

Mehr als zwei Jahre sind vergangen, seit diese Frage gestellt wurde. Dennoch gibt es keine „offizielle Lösung“. Trotz seiner Versprechen ist APEFS (vorgestellt in meiner vorherigen Antwort vor über einem Jahr) nicht zurückgekehrt. Also habe ich beschlossen, meine eigene Lösung zu erstellen:

Seit fast 4 Jahren pflege ich Auflistungen von „Android-Apps nach Zweck”, dh gruppiert nach ihren Anwendungsfällen. Im März begann ich, sie auf meinen eigenen Server zu verschieben . Alle MetaData werden in einer Datenbank auf diesem Server gespeichert, und so konnte ich endlich eine Suche nach Berechtigungen einrichten .

Suchmaske
Suchmaske zum Auffinden von "Apps nach Kategorie und Berechtigung" (Bild anklicken für größere Variante)

Sie können hier zwischen 1 und 5 Kategorien auswählen (beachten Sie, dass die Auswahl einer übergeordneten Kategorie automatisch alle untergeordneten Kategorien umfasst) sowie eine oder mehrere Berechtigungen. Standardvorgaben sind für die Suche nach "berechtigungsfreundlichen Apps" vorgesehen. Wenn Sie also nach einem solchen Kandidaten suchen, können Sie das Formular einfach einreichen, nachdem Sie die beschriebene Auswahl getroffen haben. Dies sollte es zum Beispiel einfacher machen, eine PIM- App zu finden, die keine Internet-Erlaubnis benötigt (um Ihre persönlichen Daten auf Ihrem Gerät zu behalten).

Aber auch das Gegenteil ist möglich: Wenn Sie beispielsweise untersuchen möchten, was gutes NFC für Sie tun kann, wählen Sie die bis zu 5 Kategorien aus, für die Sie sich interessieren, und aktivieren Sie in der NFC-Berechtigung die Dropbox "Berechtigungen" auf "Einschließen". und optional die Sortierung nach „Bewertung, absteigend” (um zuerst die am besten bewerteten Apps zu erhalten).

Im Zweifelsfall befindet sich in der oberen rechten Ecke das kleine Fragezeichen, das Ihnen eine Online-Hilfe bietet.

Aber das ist nicht alles. Wie ich im zweiten Absatz erklärt habe, sind Apps in meinen Listen nach ihrem „Zweck” gruppiert, dh nach dem, wofür Sie sie benötigen. Apps mit vergleichbarer Funktionalität sollten also nebeneinander erscheinen:

App-Liste
Kategorie mit App-Details (Quelle: die Hilfeseite (daher die „roten Zahlen”); Bild anklicken für größere Variante)

Sie können sie also nicht nur nach Bewertung vergleichen, sondern auch diejenige auswählen, die weniger Berechtigungen anfordert (Nummer im Feld; im obigen Bild mit einer „roten 6“ gekennzeichnet) oder, wenn möglich, ohne Bedenken (kein roter Rahmen um das Feld) ). Wenn Sie auf den Namen der App klicken, werden einige weitere Details angezeigt (siehe Abbildung). Und es gibt viele „Ostereier“ (zB MouseOver-Ereignisse) - sei nochmals auf die Hilfeseite verwiesen.


Vollständige Offenlegung: Wie eingangs erwähnt, wurde die beschriebene Website von mir entworfen, von mir erstellt, von mir mit Inhalten gefüllt und von mir weiter betreut. Es ist zweisprachig verfügbar (Englisch / Deutsch), kostenlos (dies beinhaltet: keine Cookies, Flash-Cookies, was auch immer) usw. Diese Frage hier bei Android.SE war einer der Gründe, warum ich es eingerichtet habe.

Beachten Sie weiterhin, dass dies nicht die gesamte „Playstore-Sammlung” abdeckt. Bis heute sind etwas mehr als 10.000 Apps in der Datenbank gespeichert (was wahrscheinlich etwas weniger als 1% des aktuellen Abspielvolumens ausmacht - es sei denn, Sie zählen den Mist, die Fälschungen und die nutzlosen Apps bei Play nicht mit, dann meine Aufzeichnungen könnte etwa 10% abdecken ☺). Trotzdem hoffe (und denke) ich, dass es bereits eine nützliche Ressource ist, die Ihnen Spaß macht.


13

Warum ist das derzeit   nicht möglich?

Wenn ein Entwickler seine Anwendung auf Google Play hochlädt, wird die Anwendungsmanifestdatei in eine Datenbank gelesen, von der aus die Suche nach Apps durchgeführt wird.

Um die Suche nach Anwendungen anhand ihrer Berechtigungen zu ermöglichen, müsste auf die Datenbank zugegriffen und Daten gesammelt werden, die den Anwendungsmanifestknoten betreffen <uses-permission>, der zuvor aus der Datei AndroidManifest.xml gelesen wurde , in der der Entwickler seine Anwendungsberechtigungen angegeben hat.

Dies scheint zwar recht einfach zu sein, die Google-API bietet jedoch keine Mittel, um dies zu erreichen:

Streng genommen filtert Google Play nicht basierend auf <uses-permission> -Elementen.

Aus den Filtern in Google Play Filtern basierend auf Manifest-Elementen - <using-permission> .


Ausarbeiten

Im Wesentlichen verwendet der Google Play Store die Anwendungsmanifestdatei, um automatisch Filter anzuwenden, die auf dem Gerät, den Hardwarespezifikationen, dem Land, dem Netzbetreiber usw. des Nutzers basieren.

All dies geschieht im Hintergrund, ohne dass Suchparameter eingegeben werden müssen.

Ein Nutzer von Google Play oder von Suchmaschinen von Drittanbietern kann die Ergebnisse einschränken, nachdem sie automatisch von Google gefiltert wurden, basierend auf persönlichen Einstellungen wie dem Ausschließen von kostenpflichtigen Apps. Beschränken Sie die Ergebnisse unter anderem auf Apps, die mit den Benutzergeräten kompatibel sind. Es gibt jedoch keine Möglichkeit, die von Google angewendeten Filter zu beeinträchtigen. Auch wenn einige , wie wir zu diesem Teil erhalten, die API im Wesentlichen nicht vorbereitet / entworfen basierend auf Berechtigungen zu filtern , wie oben erwähnt.


1
Ich muss sagen, Ihr Leitfaden war hilfreich (siehe meine Antwort hier ): Es funktioniert, App-Daten (einschließlich Berechtigungen) über die Playstore-API zu extrahieren, sie in eine Datenbank einzuspeisen und die Suche für letztere auszuführen :)
Izzy

6

Einfache Antwort: Sie nicht. Sie können sich jedoch gerne an Google wenden. Wie der Benutzer Chahk sagte, erspart Ihnen das Webinterface ein paar Klicks, aber es gibt immer noch keine Möglichkeit, die Ergebnisse zu filtern, während Sie sie anfordern.


5

Ein guter Weg ist es, eine Java-App zu erstellen, die Android-Market-API verwendet . Derzeit kann die App anhand von "Schlüsselwörtern oder Paketnamen" durchsucht werden . Die Suchabfrage kann so erstellt werden, dass nach der erforderlichen Berechtigung gesucht wird. Kleine Hausaufgaben nötig, aber nützlich.

Nach dem Herunterladen von androidmarketapi-0.6.jar und protobuf-java-2.2.0.jar (natürlich sollte JRE bereits eingerichtet sein) können Sie Folgendes ausführen:

java -jar androidmarketapi-X.Y.jar myemail mypassword myquery

Sie müssen XY durch 0.6 ersetzen, da dies die aktuelle Version ist, und Anmeldeinformationen und Abfragen ersetzen. Zum Erstellen von Abfragen können Sie diese Seite besuchen .


Welche Art von Abfrage würde Apps mit Erlaubnis ergeben? Davon sehe ich nichts.
RR

Ich bin mir nicht sicher, da ich nur anhand des Paketnamens nach "String query =" pname: <package> ";" und nach Entwicklernamen "String query =" pub: <name> ";" sind als Beispiel angegeben. Ich hoffe, dass Sie mit dem passenden Suchbegriff (der ausgegraben werden muss) das bekommen, wonach Sie suchen.
Narayanan

2

Wenn Sie Programmierkenntnisse haben, können Sie Ihren eigenen Parser schreiben und Filter darüber verwenden. Ich konnte nichts über API finden, aber Sie können das Webinterface langsam analysieren, um das zu bekommen, was Sie wollen.

Dies ist nicht die einfachste Lösung, kann Sie jedoch mit den erzielbaren Ergebnissen sehr zuversichtlich machen.

Ehrlich gesagt wünschte ich, ich könnte ein einfaches Beispiel in Python machen, hätte aber jetzt keine Zeit. Vielleicht in naher Zukunft.


1
Das ist es, was ich zu vermeiden versuche. Das Herunterladen von einer halben Million Webseiten steht nicht ganz oben auf meiner Liste. 12 GB Bandbreite und 50 GB Rohdaten und wer weiß, wie viele Maschinenstunden. Ich kann den Code schreiben, den ich lieber nicht möchte.
RR

1
Kaufen Sie einen Server, schreiben Sie ein Programm, das die Berechtigungsliste zwischenspeichert und dort ausführt, und aktualisieren Sie den Cache für Apps, wenn sie neue Versionen erhalten - jedoch nur, wenn die App mit der Keyword-Abfrage eines Benutzers übereinstimmt (und Sie können sogar die Ergebnisse paginieren und sich auf beschränken die Seiten, die der Benutzer anzeigt und "GEWINN!".
Adrian Panasiuk

2
Wir benutzen keine Server mehr?
Adrian Panasiuk

... oder versuchen Sie einfach, mit dem Google-Team zu sprechen, um diese Funktion hinzuzufügen.
Крайст

1
@Kpa danke, dass Sie eine Seite verlinkt haben, die damit nichts zu tun hat.
RR

1

Suchen mit dem Berechtigungsnamen bedeutet immer noch, dass bestenfalls die Beschreibung der App durchsucht wird

Beispiel: "COARSE (NETWORK-based) LOCATION" -> Wenn Sie nach dieser Option suchen, werden Anwendungen aufgelistet, deren Beschreibung diese Informationen enthält. Die Suche auf der Registerkarte "Permissions" schlägt jedoch fehl.

Wenn Google erlaubt, die Informationen aller Apps zu kratzen, wie ich es war, dann wäre ich in der Lage, der Welt eine Suchmaschine zur Verfügung zu stellen, um Apps anhand der Berechtigungen zu durchsuchen, die sie benötigen :)


1

Keine der hier genannten Lösungen funktioniert seit Februar 2018.

Also habe ich meine eigene einfache Lösung erstellt, die ich unten dokumentieren werde.

TL; DR: Verwenden Sie die AppBrain-API.

Die lange Antwort

  1. Erstellen Sie beispielsweise einen Ordner mit dem Namen appSearch.

  2. Eröffnen Sie ein Konto bei AppBrain. Gehen Sie dann zu Ihrem Entwickler-Dashboard . Sie werden aufgefordert, die Entwickleroption für Ihr Konto zu aktivieren.

  3. Navigieren Sie zur API-Zugriffsseite.

  4. Kopieren Sie das Authentifizierungsfeld, das aussieht, di=xxxx&t=zzzzzund speichern Sie die Werte in einer Datei, die appBrain.jsonim folgenden Format aufgerufen wird :

    {"DI": "xxxx", "TOKEN": "yyyy"}

  5. Laden Sie jetzt filter.js herunter und speichern Sie es im selben Ordner ('appSearch').

  6. Installieren Sie Java 8+

  7. Führen Sie den folgenden Befehl aus jjs -scripting filter.js -- keyword:, wobei das Schlüsselwort ein beliebiger Suchbegriff sein kann.

  8. Es sollte eine Liste mit 50 Apps angezeigt werden, die Ihrem Suchbegriff entsprechen und nach der Anzahl der Berechtigungen sortiert sind. Außerdem sollte ein Link zu ihrer Play Store-Seite vorhanden sein.

    Bearbeiten: Der Code in filter.jsist relativ einfach und kann nach eigenen Kriterien angepasst werden, wenn Sie etwas programmieren können. Ich werde versuchen, es in Zukunft konfigurierbarer zu machen.

  9. Die kostenlose Stufe ermöglicht eine begrenzte Anzahl von Abfragen pro Tag. Dennoch können Sie ungefähr 30 Suchen pro Tag durchführen, was für den persönlichen Gebrauch ausreicht.


"Keine der hier genannten Lösungen funktioniert ab Februar 2017." Kann das nicht glauben. Meine App-Suche funktioniert immer noch und es ist sogar Februar 2018;) // Vielen Dank für Ihre Herangehensweise - aber die Frage passt nicht ganz. Ziel war es, Apps aus der Ergebnisliste zu entfernen, wenn sie bestimmte Berechtigungen anfordern - nicht nur eine nach Anzahl der Berechtigungen sortierte Liste. Und AFAIK, die "kostenlose Stufe", ist auf 10 Anfragen pro Tag begrenzt. Gute Idee :)
Izzy

1
Hoppla, bearbeitet bis Februar 2018. Ich mag Ihre Lösung, aber es ist eine kuratierte Liste, die nicht skaliert. Die Apps, die ich zum Beispiel entwickelt habe, sind verständlicherweise nicht auf Ihrer Liste, obwohl sie nur sehr wenige Berechtigungen erfordern und sehr beliebt sind. Das filter.js, mit dem ich verlinkt habe, ist ein Beispielcode, der angepasst werden kann (von jemandem, der sich mit Programmierung auskennt). Wenn ich mehr Zeit habe, kann ich es möglicherweise für Nicht-Programmierer konfigurierbarer machen.
HRJ

Klar, die Unvollständigkeit ist ein Nachteil. Aber Sie können jederzeit empfehlen, dass Apps aufgelistet werden, Harshad - hier für die App-Listen und hier für das Repo :) Da Sie darauf achten, so wenig Dauerwellen wie möglich anzufordern, wäre ich besonders daran interessiert, diese Apps zu haben aufgeführt.
Izzy
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.