2013-06-05 72 views
13

我需要從Google Play下載幾個應用程序才能進行分析。但我不想手動執行此操作(我必須經常執行此操作,並且每次我要下載的應用程序都會更改!)。以編程方式從Google Play下載應用程序

所以,問題是,我是否可以編寫程序來下載應用程序。如果可能的話,怎麼樣?

我已經看到了這個插件中的鉻: http://codekiem.com/2012/02/24/apk-downloader/ ,但我不能信任的作者(應用程序需要谷歌的用戶,並通過和設備ID),並有決定實施自己的計劃。

+2

尼斯問題親愛+1 –

回答

1
+0

感謝。這似乎是一個正確的答案。在測試完成後,我會將其標記爲已接受的答案。由於谷歌API偶爾改變! – Z0lenDer

+1

@ blganesh101通過java代碼可能嗎? –

+0

未嘗試過,但以下內容應該可以工作 http://developer.android.com/google/play-services/auth.html 和 http://developer.android.com/google/play-services/index .html – blganesh101

1

對於那些誰正在尋找一個Java實現,那就是:

頂級步驟:

  1. 收集的Gmail ID,密碼,Android的ID,和安全令牌
  2. 下載Akdeniz實施的搜尋器的jar文件
  3. 從Akdeniz 012下載googleplay.java的源文件(cli)
  4. 修改googleplay.java
  5. 把它放在一起:d

詳細步驟:

  1. 的Gmail ID和密碼是顯而易見的!對於Android ID請按照demirozali並使用「getAndroidID」功能。我無法讓「getAuthToken」工作!所以我用toxicbakery得到安全令牌。請注意,函數「updateToken」(實際上爲您提供安全令牌)應該在AsyncTask中調用,而不是在UI線程上。

  2. Akdeniz github site下載「googleplaycrawler-0.1-SNAPSHOT.jar」文件。

  3. 我無法在jar文件中使用「GooglePlayAPI」類。所以我決定改變CLI版本。 「googleplaycrawler-0.1-SNAPSHOT.jar」中的CLI類被稱爲「googleplay.java」,其可以從the source files下載。

  4. 將「googleplay.java」重命名爲「Changed_googleplay.java」並對其進行修改。這樣的方法「searchCommand()」返回一個String的arrayList,而不是在控制檯上打印結果。

  5. 完成上述所有步驟後,在jetBrains或...中創建一個項目並添加「googleplaycrawler-0.1-SNAPSHOT.jar」作爲庫。另外,將「Changed_googleplay.java」添加到您的src目錄。最後在您的應用程序中使用以下方法。您可以使用以下類來搜索查詢,然後下載與該查詢相對應的所有免費應用程序。

    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}); 
          } 
         } 
        } 
    } 
    

你可能想看看在履帶項目main page命令行選項列表。

玩得開心!

相關問題