Getting APKs¶
AndroLyze has an easy way to download APKs from the PlayStore through GooglePlayCrawler.
Requirements¶
The docker image has not initialized this git submodule by default. So we need to do this first:
$ worker@f6a8d4e49d39:/home/worker/androlyze$ git submodule update --init google-play-crawler
$ worker@f6a8d4e49d39:/home/worker/androlyze$ ln -s google-play-crawler/googleplay/googleplaycrawler-0.3.jar googleplaycrawler.jar
$ worker@f6a8d4e49d39:/home/worker/androlyze$ cp google-play-crawler/googleplay/crawler.conf conf/crawler.conf
Be sure you have done the following steps before using the google play crawler:
- Set email and password in conf/crawler.conf
- Get androidid via “java -jar googleplaycrawler.jar -f conf/crawler.conf checkin” and set in in the config file
Download¶
Check that the crawler is working by listing all categories in Google Play
worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py list
GAME
BOOKS_AND_REFERENCE
BUSINESS
COMICS
COMMUNICATION
EDUCATION
ENTERTAINMENT
FINANCE
HEALTH_AND_FITNESS
LIBRARIES_AND_DEMO
LIFESTYLE
APP_WALLPAPER
MEDIA_AND_VIDEO
MEDICAL
MUSIC_AND_AUDIO
NEWS_AND_MAGAZINES
PERSONALIZATION
PHOTOGRAPHY
PRODUCTIVITY
SHOPPING
SOCIAL
SPORTS
TOOLS
TRANSPORTATION
TRAVEL_AND_LOCAL
WEATHER
APP_WIDGETS
Download an APK by name:
worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py download_pn com.facebook.katana
Download the top free 500 applications from every category:
worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py download_top_all_categories 500
Downloading the apps_topselling_free apks from category: GAME
Downloading: com.gamehivecorp.taptitans, com.vg.citybussimulator2015, com.uu.generaladaptiveapps, br.com.tapps.cowevolution, com.king.alphabettysaga, air.com.puffballsunited.escapingtheprison, com.studio7775.BeatMP3v2, com.miniclip.eightballpool, com.rovio.angrybirdsfight, com.tabtale.crazypoolparty, com.ea.game.simpsons4_row, com.Seriously.BestFiends, com.supercell.hayday, com.rovio.angrybirds, com.bigkraken.thelastwar, com.ea.games.simsfreeplay_row, com.prettysimple.criminalcaseandroid, com.aim.racing, com.boombit.Spider, com.rr.generaladaptiveapps, com.scimob.ninetyfour.percent, se.feomedia.quizkampen.de.lite, com.pinkpointer.wordsearch, com.SimgeSimulation.Woodball, com.king.farmheroessaga, com.nenoff.followthelinefree, com.halfbrick.fruitninjafree, com.ea.game.tetris2011_row, com.supercell.boombeach, com.midasplayer.apps.bubblewitchsaga2, com.glu.t5, com.ea.game.pvzfree_row, com.ping9games.grabtheauto3, com.sometimeswefly.littlealchemy, com.ammonite.dotmuncher, com.halfbrick.jetpackjoyride, com.aa.generaladaptiveapps, com.machinezone.gow, com.bigfishgames.gummydropgoogle, com.fgol.HungrySharkEvolution, com.snailgameusa.tp, com.ff.generaladaptiveapps, com.explorationbase.ExplorationLite, com.mangoogames.emojiquiz, com.ea.games.r3_row, multicraft.worldcraft.world, com.hugogames.superskater, com.Artibus.CircleMaster, com.netmarble.mherosgb, com.robtopx.geometryjumplite, com.squareenix.relicrun, com.mobirix.slideking, com.ea.game.fifa15_row, com.uken.BingoPop, com.roostergames.hillclimbtruckracing3, com.blizzard.wtcg.hearthstone, com.outfit7.mytalkingtomfree, com.ssc.fitfat, org.orangenose.games, com.yangyu.realskate, com.zynga.farmarcade, com.zynga.FarmVille2CountryEscape, com.natenai.glowhockey, com.lego.ninjago.toe, com.fingersoft.hillclimb, com.platogo.pmp, com.imangi.templerun2, com.lima.doodlejump, com.nordcurrent.canteenhd, com.wagawin.android2, com.hugogames.hugotrollrace, com.hcg.cok.gp, block.city.game, com.gameloft.android.ANMP.GloftDMHM, com.iwin.dond, com.doubleugames.DoubleUCasino, fr.x_studios.x_laser_2, com.kiloo.subwaysurf, software.simplicial.nebulous, com.ovilex.bussimulator2015, com.yodo1.crossyroad, com.game.wer.wird.millionaer, com.mangolee.amazon.free.card.cuteslots, com.king.candycrushsodasaga, de.lotum.whatsinthefoto.de, com.degoo.android.pregnantdoctor, com.BitofGame.MiniGolfRetro, com.supercell.clashofclans, com.tp.android.plasticsurgery, com.hammerhead.furious7, com.notdoppler.earntodie2, com.miniclip.dudeperfect, jp.gree.warofnationsbeta, me.pou.app, com.outfit7.mytalkingangelafree, com.fireflygames.rushofheroes, com.king.candycrushsaga, com.igg.castleclash_de, br.com.tapps.giraffeevolution, com.umbrella.boomdots
Downloading...com.gamehivecorp.taptitans : 61881468 bytes
Update Database¶
Update all APKs with a newer version available in the PlayStore :
worker@f6a8d4e49d39:/home/worker/androlyze$ ./androquery -idb dbs/test.idb import package-names | ./androupdate.py dbs/test.idb
The first command lists all package names from the import database. The seconds reads them from stdin and checks each for a newer version. If this is the case, it gets downloaded.
Manual¶
worker@f6a8d4e49d39:/home/worker/androlyze$ ./playstore.py
Usage: ./playstore.py <list
|download_new_all_categories <number>
|download_top_all_categories <number>
|download <category> <subcategory> <number>
|download_pn <package_name>
>
The script relies on google-play-crawler.
Be sure you have done the following steps before using this script!
1) Get it from here: https://github.com/Akdeniz/google-play-crawler
and place this script inside the googleplay directory after it has been build.
2) Set email and password in crawler.conf
3) Get androidid via "java -jar googleplaycrawler.jar -f crawler.conf checkin" and set in in the config file
4) playstore.py benutzen ;)
Example: ./playstore.py download WEATHER apps_topselling_new_free 2
Example: ./playstore.py download_pn a2dp.Vol
Example: ./playstore.py list
Example: ./playstore.py download_new_all_categories 10
Example: ./playstore.py download_top_all_categories 10
Possible subcategories are:
apps_topselling_paid
apps_topselling_free
apps_topgrossing
apps_topselling_new_paid
apps_topselling_new_free