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