2013-06-05 10 views
13

Ich muss ein paar Apps von Google Play für Analysezwecke herunterladen. Aber ich möchte es nicht manuell machen (ich muss es öfters machen und jedesmal ändern sich die Apps, die ich herunterladen möchte!).App von Google Play programmatisch herunterladen

Also, die Frage ist, ob ich ein Programm schreiben kann, um die Apps herunterzuladen oder nicht. Wenn es möglich ist, wie?

ich dieses Plugin für Chrom gesehen haben: http://codekiem.com/2012/02/24/apk-downloader/ aber ich kann den Autor nicht trauen (die App erfordert Google-Nutzer und übergeben und Geräte-ID) und haben sich entscheiden, mein eigenes Programm zu implementieren.

+2

Nizza Frage lieber +1 –

Antwort

1

Ja! Sehr viel möglich. Überprüfen Sie den folgenden Link http://thomascannon.net/blog/2011/06/downloading-apks-from-android-market/

+0

Dank Play-Apps von Google herunterzuladen. Es scheint eine richtige Antwort zu sein. Ich werde es als angenommene Antwort markieren, nachdem ich es getestet habe. Seit Google API ändert sich gelegentlich! – Z0lenDer

+1

@ blganesh101 Es ist möglich durch Java-Code? –

+0

Nicht versucht, aber Folgendes sollte funktionieren http://developer.android.com/google/play-services/auth.html und http://developer.android.com/google/play-services/index .html – blganesh101

1

Für diejenigen von Ihnen, die für eine Java-Implementierung suchen, hier ist sie:

Top-Level-Steps:

  1. sammeln gmail ID, Passwort, Android-ID, und Sicherheitstoken von Ihrem Telefon
  2. herunterladen die JAR-Datei für den Crawler von Akdeniz implementiert
  3. herunterladen Sie die Quelldatei für googleplay.java (CLI) von Akdeniz
  4. ändern Sie die googleplay.java
  5. sie alle zusammen: D

Detaillierte Schritte:

  1. Google Mail-ID und Passwort sind offensichtlich! Für Android ID folgen Sie der und verwenden Sie "getAndroidID" -Funktion. Ich konnte "getAuthToken" nicht funktionieren lassen! Daher habe ich toxicbakery verwendet, um Sicherheitstoken zu erhalten. Beachten Sie, dass die Funktion "updateToken" (mit der Sie das Sicherheitstoken erhalten) in einem AsyncTask nicht auf UI-Thread aufgerufen werden sollte.

  2. Von Akdeniz github site zum Download von "googleplaycrawler-0,1-SNAPSHOT.jar" -Datei.

  3. Ich konnte die "GooglePlayAPI" -Klasse in der JAR-Datei nicht verwenden. Also habe ich beschlossen, die CLI-Version zu ändern. Die CLI-Klasse in "googleplaycrawler-0.1-SNAPSHOT.jar" heißt "googleplay.java", die von the source files heruntergeladen werden kann.

  4. Benennen Sie "googleplay.java" in "Geändert_googleplay.java" um und ändern Sie sie. So dass die Methode "searchCommand()" eine ArrayList von String zurückgibt, anstatt das Ergebnis auf der Konsole auszugeben.

  5. Nachdem Sie alle vorherigen Schritte durchgeführt haben, erstellen Sie ein Projekt in jetBrains oder ... und fügen Sie "googleplaycrawler-0.1-SNAPSHOT.jar" als Bibliothek hinzu. Füge auch "Changed_googleplay.java" zu deinem src-Verzeichnis hinzu. Schließlich verwenden Sie die folgende Methode in Ihrer Anwendung. Sie können die folgende Klasse verwenden, um eine Abfrage zu durchsuchen und anschließend alle dieser Abfrage entsprechenden kostenlosen Apps herunterzuladen.

    public void SearchAndDownload() { 
        String login = "[email protected]"; 
        String password = "xxxx"; 
        String androidId = "xxxx"; 
        String securitytoken = "xxxx"; 
        String command = "search"; 
        String query = "Maps"; 
        String offest = "0"; 
        String number = "5"; 
    
        Changed_googleplay gp = new Changed_googleplay(); 
        ArrayList<String> res = gp.operate(new String[]{"-i", androidId, "-e", login, "-p", password, "-t", securitytoken, command, "-o", offest, "-n", number, query}); 
    
        res.remove(0); 
        if (command.equals("search")) { 
         System.out.println("Title"+"\t"+"Package Name"+"\t"+"Price"+"\t"+"Number of Downloads"); 
         for (String line : res){ 
          String[] split = line.split(Changed_googleplay.DELIMETER); 
          String name = split[0]; 
          String packageName = split[1]; 
          String creator = split[2]; 
          String price = split[3]; 
          String size = split[4]; 
          String dlNO = split[5]; 
          if(price.equals("Free")){ 
           System.out.println(name+"\t"+packageName+"\t"+price+"\t"+dlNO); 
           gp.operate(new String[]{"-i", androidId, "-e", login, "-p", password, "-t", securitytoken, "download", packageName}); 
          } 
         } 
        } 
    } 
    

Möglicherweise möchten Sie main page in der Liste der Befehlszeilenoptionen in dem Crawler-Projekt einen Blick nehmen.

viel Spaß!

Verwandte Themen