java – 以编程方式从Google Play下载应用程序

我需要从google play下载一些应用程序以进行分析.但我不想手动完成(我必须经常这样做,每次我想下载的应用程序都会改变!).

所以,问题是,我是否可以编写程序来下载应用程序.如果有可能,怎么样?

我看过这个chrome插件
http://codekiem.com/2012/02/24/apk-downloader/
但我不相信作者(该应用程序需要谷歌用户和通行证和设备ID)并决定实施我自己的程序.

解决方法:

对于那些正在寻找Java实现的人来说,这里是:

顶级步骤:

>从手机中收集Gmail密码,密码,Android id和安全令牌
>下载Akdeniz实现的爬虫的jar文件
>从Akdeniz下载googleplay.java(cli)的源文件
>修改googleplay.java
>把它们放在一起:D

详细步骤:

> Gmail ID和密码显而易见!对于Android id,请遵循demirozali并使用“getAndroidID”功能.我无法使“getAuthToken”工作!因此我使用toxicbakery获取安全令牌.请注意,应该在AsyncTask而不是UI线程上调用函数“updatetoken”(实际上为您提供安全性令牌).
>从Akdeniz github site下载“googleplaycrawler-0.1-SNAPSHOT.jar”文件.
>我无法在jar文件中使用“GooglePlayAPI”类.所以我决定更改CLI版本. “googleplaycrawler-0.1-SNAPSHOT.jar”中的CLI类称为“googleplay.java”,可以从the source files下载.
>将“googleplay.java”重命名为“Changed_googleplay.java”并进行修改.这样方法“searchCommand()”返回String的arrayList,而不是在控制台上打印结果.
>完成上述所有步骤后,在jetBrains或…中创建项目,并将“googleplaycrawler-0.1-SNAPSHOT.jar”添加为库.另外,将“Changed_googleplay.java”添加到您的src目录中.最后在您的应用程序中使用以下方法.您可以使用以下类搜索查询,然后下载与该查询对应的所有免费应用程序.

public void SearchAndDownload() {
    String login = "xxxx@gmail.com";
    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中的命令行选项列表.

玩得开心!

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...