Подтвердить что ты не робот

Загружать приложение из Google Play программно

Мне нужно загрузить несколько приложений из Google Play для целей анализа. Но я не хочу делать это вручную (мне нужно делать это часто и каждый раз, когда приложения, которые я хочу загрузить, меняют!).

Итак, вопрос в том, могу ли я написать программу для загрузки приложений или нет. Если это возможно, как?

Я видел этот плагин для хром: http://codekiem.com/2012/02/24/apk-downloader/ но я не могу доверять автору (приложение требует пользователя и пароль google и идентификатор устройства) и решили реализовать мою собственную программу.

4b9b3361

Ответ 2

Для тех из вас, кто ищет реализацию Java, вот он:

Шаги верхнего уровня:

  • собирать идентификатор, пароль, идентификатор Android и маркер безопасности с вашего телефона.
  • загрузить файл jar для искателя, реализованного Akdeniz
  • скачать исходный файл для googleplay.java(cli) из Akdeniz
  • изменить googleplay.java
  • все вместе: D

Подробные шаги:

  • Идентификатор и пароль Gmail очевидны! Для Android-идентификатора следуйте demirozali и используйте функцию getAndroidID. Я не мог заставить "getAuthToken" работать! Поэтому я использовал toxicbakery, чтобы получить токен безопасности. Обратите внимание, что функция "updateToken" (которая фактически получает вам токен безопасности) должна вызываться в AsyncTask, а не в потоке пользовательского интерфейса.

  • Из Akdeniz github site загрузите файл googleplaycrawler-0.1-SNAPSHOT.jar.

  • Я не мог использовать класс GooglePlayAPI в файле jar. Поэтому я решил изменить версию CLI. Класс CLI в "googleplaycrawler-0.1-SNAPSHOT.jar" называется " googleplay.java", который можно загрузить из исходных файлов.

  • Переименуйте "googleplay.java" в " Changed_googleplay.java" и измените его. Таким образом, метод searchCommand() "возвращает массив String, а не печатает результат на консоли.

  • Сделав все предыдущие шаги, создайте проект в 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});
                }
            }
        }
    }
    

Вы можете посмотреть список параметров командной строки в проекте искателя главной страницы.

получайте удовольствие!