アプリのインストールパッケージの自動取得

1584 ワード

目次
 
前言:
プロセス:
pythonコード:
前言:
一般的にアプリのインストールパッケージはネットからダウンロードしていますが、携帯電話システムが持っているアプリは一般的にダウンロードできないので、携帯電話から直接ダウンロードする必要があります.
コピーして、毎回adbコマンドに負けて疲れたので、pythonスクリプトを書いて、appインストールパッケージを自動的に引き出しました.
プロセス:
まずappを起動し、dumpsysコマンドで現在のウィンドウのappのパケット名を取得し、pmコマンドでそのパケット名のapkパケットのパスを取得し、最後にadb pullで出ればよい.
pythonコード:
# -*- coding: UTF-8 -*-
import os
#   pull       app apk 

debug = True 		#       

#      app   
cmd0 = """ adb shell " dumpsys activity top |grep ACT | awk -F / '{print $1}'|awk '{print $2}' " > packetName """

#    apk  
cmd1 = """ adb shell "pm path %s" > packetPath """

#   
cmd2 = """ adb pull %s """

cmd3 = """ del packetName """

cmd4 = """ del packetPath """

os.system(cmd0)		#      app   

try:
	f = open("packetName","r")
	pkname = f.read()[:-2]			#    ,        
	if debug == True:
		print("Packate name : ")
		print(pkname)
	f.close()
	
	cmd1 = cmd1 % pkname			#        ,        
	
	if debug == True:
		print("second cmd is : ")
		print(cmd1)
	
	os.system(cmd1)
	

	f = open("packetPath","r")
	pkpath=f.read()[:-2]			#   apk    ,  ,         package   
	pkpath= pkpath.split(":")[1]
	f.close()
	
	cmd2 = cmd2 % pkpath
	if debug == True :
		print("third cmd is : ")
		print(cmd2)
		
	os.system(cmd2)
	os.system(cmd3)
	os.system(cmd4)

	
except Exception as e :
	print(e)