pythonでのadbの機能は何ですか

ADBはAndroidSDKのツールです。ADBを使用すると、Androidエミュレーターまたは実際のAndriodデバイスを直接操作および管理できます。

ADBの主な機能は次のとおりです。

1、 Androidデバイスでシェル(コマンドライン)を実行する

2、 エミュレータまたはデバイスのポートマッピングを管理する

3、 コンピューターとデバイス間でファイルをアップロード/ダウンロードする

4、 ローカルAPKソフトウェアをコンピューターからAndroidエミュレーターまたはデバイスにインストールします

Pythonにはadbコマンドを呼び出す2つの方法があります。1つはos.system()で、もう1つはos.popen()です。

両者の違いは、前者は戻り値を取得できず、後者は戻り値を取得できることです。

os.popen()は、read()メソッドを使用して直接読み取ることができるファイルオブジェクトを返します。

コンテンツの拡張:

**python **でadbコマンドを呼び出す方法

osとsubprocessの2つのモジュールを使用して、Pythonでcmdコマンドを実行できます。違いは、osがブロッキングであり、サブプロセスが非ブロッキングであるため、サブプロセスを使用する方が適していることです。次に、接続されたデバイスにクエリを実行して、Pythonでどのように記述されているかを確認するコマンドを実行します。使用されるコマンドはadbデバイスです。

import subprocess
order='adb devices' #接続されたデバイスを取得する
pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)
print pi.stdout.read() #結果を印刷する

実際の印刷結果では、現在のコンピューターが3つのデバイスに接続されていることがわかります。ここで、adb devicesコマンドの結果は1回限りなので、readメソッドを使用して問題なくデータを読み取ることができることを再度説明する必要があります。ただし、携帯電話のログを出力するコマンドlogcatなど、一部のadbコマンドはリアルタイムで結果を返します。結果は、現在のデバイス操作ログ情報の内容を引き続き出力します。このタイプのコマンドの印刷結果をpythonで取得する必要がある場合、引き続きreadメソッドを使用すると、結果が返されるのを待つ時間が非常に長くなるため、ここで変更する必要があります。結果を読み取る1つの方法は次のとおりです。

import subprocess
order='adb logcat'
pi= subprocess.Popen(order,shell=True,stdout=subprocess.PIPE)for i initer(pi.stdout.readline,'b'):
print I

この印刷効果は、cmdの操作と同じで、ログ情報をリアルタイムで出力します。ここでは、readlineメソッドを使用します。実際、この書き込みメソッドは、ファイルの読み取り、1行の読み取り、およびコンテンツ全体の読み取りに似ています。 pyappのフレームワークは基本的に記述されているため、この記事を記述し、adbコマンドの処理におけるpythonの経験の一部を共有することを考えています。現在、adbコマンドの呼び出しにおけるpythonの主な違いは、これら2つの点です。目的は、結果データを取得するために必要な機能コマンドを見つけ、返されたデータをpythonで処理して、自動テストの目的を達成することです。誰もがadbコマンドを上手に使用する必要がありますが、各コマンドのさまざまなパラメーターの組み合わせにも注意する必要があります。たとえば、pyappの実装はマルチデバイス接続をサポートしているため、携帯電話でadbコマンド操作を実行する場合は-sとデバイス番号を入力して、操作する特定のデバイスを示します。そうしないと、コマンドでエラーが報告されます。

たとえば、デバイスをクリックすると、コマンドは次のように記述されます。adb-s49dsd4554wdsaシェル入力タップ600900、ここで「49dsd4554wdsa」はデバイス番号、「600900」は画面座標をクリックします。したがって、-sを追加すると、複数のデバイスを同時に簡単に操作できることがわかります。

これまでのところ、pythonでのadbの機能に関するこの記事をここで紹介します。pythonadb関数の詳細な説明については、ZaLou.Cnの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後、ZaLou.Cnをさらにサポートしていただければ幸いです。 !

Recommended Posts

pythonでのadbの機能は何ですか
pythonのid関数は何ですか
pythonの関数本体は何ですか
Pythonの用途は何ですか
python変数の範囲は何ですか
Pythonの匿名関数とは何ですか
python開発の見通しは何ですか
pythonのイントロスペクションとは何ですか
pythonのオブジェクト指向とは何ですか
エンタープライズ言語に対するpythonの利点は何ですか
pythonでのwheelの使用法
pythonのリスト内包表記とは何ですか
pythonに関数のオーバーロードはありますか
Pythonの数字は何ですか?
pythonでのタプルの使用法
pythonでのrbの意味を理解する
pythonのpipの用途は何ですか
pythonの必須パラメーターは何ですか
Python3クローラーでのAjaxの使用
python3のピップパスはどこにありますか
python言語の利点は何ですか
python3はマスク描画の機能を実現します
Pythonのシーケンステーブルとは
pythonにヘルパー関数はありますか
pythonでround関数を使用する方法
Pythonでzip関数を使用する方法
Pythonの結合関数
pythonのタブキーはどういう意味ですか
PythonはDoudizhuでカードのシャッフルを実装します
pythonでのリストの意味と使用法
pythonでformat関数を使用する方法
pythonとpycharmの違いは何ですか
ubuntuでpythonをアンインストールした結果、非常に
同期Pythonと非同期Pythonの違いは何ですか?
Python関数パラメータ分類の原理の詳細な説明
Pythonでのパッケージの導入を理解する方法
pythonでファイルを開く方法は何ですか
Pythonの基盤を統合する(4)
Python(7)の基盤を統合する
Pythonのタプルの添え字
Python(6)の基盤を統合する
Python(5)の基盤を統合する
Python変数スコープとは
Pythonの基盤を統合する(3)
pythonで円の領域を見つける方法
Pythonのハードコア操作を1分で学ぶ
ミニマリズムはPythonの魂です|バグを見つけるためのPythonコード(10)
Pythonの対数法の要約
Python開発でのパンダの使用
Pythonがメール機能を実装する方法
Pythonは中国語の4つの車輪を処理します
Pythonでのrc1の意味
Python開発でのnumpyの使用
pythonのdefは何をしますか
地主取引のPythonシミュレーション
Pythonでの辞書の詳細な使用法
pythonでのosパッケージの使用
Pythonのすべてがオブジェクトです
npはpythonで何をしますか
Pythonのモジュールについて話す
Python文字列プーリングの前提