日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MonkeyRunner——如何在实体机上启动一个程序

發(fā)布時(shí)間:2024/9/5 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MonkeyRunner——如何在实体机上启动一个程序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  閑來(lái)無(wú)事,研究了下MonkeyRunner調(diào)試實(shí)體機(jī)。之前JDK,Python,SDK,MonkeyRunner環(huán)境都已配置完畢,這里就不一一詳述了。

一)啟動(dòng)MonkeyRunner并連接設(shè)備:

  打開CMD進(jìn)入到SDK安裝目錄中的tools,運(yùn)行命令:“monkeyrunner” ,進(jìn)入shell命令交互模式(若你環(huán)境變量配置好了,則不需進(jìn)入tools目錄)。然后導(dǎo)入所需模塊,運(yùn)行命令:

  from com.android.monkeyrunner import MonkeyRunner

  輸入“MonkeyDevice”回車后,運(yùn)行命令:

  device=MonkeyRunner.waitForConnection(”device id")

  設(shè)備就可以成功連接了(獲取device id:在CMD 中運(yùn)行命令“adb devices”就可以獲取device id)。

?

二)安裝并啟動(dòng)設(shè)備的應(yīng)用程序:

  我們可以通過(guò)以下兩個(gè)命令安裝并啟動(dòng)設(shè)備的應(yīng)用程序"

  device.installPackage(“xxx.apk”)

  device.startActivity(packageName/startActivity)

?

三)獲取packageName和startActivity:

  接下的問(wèn)題就是如何獲取“packageName”和“startActivity”。 有源碼的話,我們可以從源文件的AndroidManifest.xml中獲得。沒(méi)源碼的話就相對(duì)麻煩些了。

  首先我們要在手機(jī)中配置SL4A并連接PC調(diào)試,這個(gè)暫時(shí)放在后面講。我們先直接參考代碼:

  1.獲取packageName: 

1 import android 2 import pprint 3 droid=android.Android() 4 pacs=droid.getRunningPackages() 5 pprint.pprint(pacs.result)

  這樣就可以獲取packageName列表了,找出與Apk對(duì)應(yīng)的packageName即可。

  2.獲取startActivity:

1 import android 2 import pprint 3 droid=android.Android() 4 apps=droid.getLaunchableApplications() 5 pprint.pprint(apps.result)

  同樣可以獲取到startActivity列表,找出與之對(duì)應(yīng)的即可。

?

四)安裝配置SL4A:

  1. 設(shè)置環(huán)境變量:windows增加一個(gè)環(huán)境變量AP_PORT,其值為9999。ubuntu下執(zhí)行export AP_PORT=9999即可。

  2.?訪問(wèn)SL4A的主頁(yè):http://code.google.com/p/android-scripting/下載最新的版本并安裝在手機(jī)上。

  3. SL4A安裝成功后,啟動(dòng)SL4A,Menu>View>Interpreters,如果之前沒(méi)有安裝過(guò)解釋器,列表中應(yīng)該只有Shell一項(xiàng),點(diǎn)擊Menu>Add,在顯示出來(lái)的列表中會(huì)有可供選擇安裝的解釋器,選擇后會(huì)自動(dòng)進(jìn)入下載安裝的過(guò)程,我們選擇Python即可。

  4. 解釋器安裝成功后,在內(nèi)存卡或手機(jī)內(nèi)存中會(huì)生成“com.googlecode.pythonforandroid”文件夾,進(jìn)入目錄extras>python,將python目錄下的android.py拷貝到PC的python安裝目錄下。

  5.?在手機(jī)上啟動(dòng)遠(yuǎn)程調(diào)試的端口:在SL4A的Preferences選項(xiàng)中,設(shè)置Server Port為一個(gè)未占用的,例如‘65000’?。運(yùn)行SL4A,Menu->View->Interpreters->Menu中選擇Start Server即可,然后將手機(jī)端口映射到PC端口,代碼如下:

  adb forward tcp:9999 tcp:65000

  所有步驟完成后我們來(lái)測(cè)試下SL4A是否配置正確,在CMD中啟動(dòng)Python,運(yùn)行以下代碼:

1 import android 2 droid = android.Android() 3 droid.makeToast('Hello World')

?

  若返回結(jié)果為:Result(id=0, result=None, error=None),則SL4A配置正確。

  若運(yùn)行以上代碼報(bào)錯(cuò):1.可能是端口的轉(zhuǎn)發(fā)設(shè)置有問(wèn)題。2.PC中的python不兼容所導(dǎo)致,本人就因?yàn)閜ython33運(yùn)行android.py報(bào)錯(cuò)而不能運(yùn)行以上代碼。

?

  以上這些都是參考網(wǎng)友的一些文檔,自己通過(guò)實(shí)踐總結(jié)而來(lái),若有錯(cuò)誤或侵權(quán)行為,請(qǐng)速告之,謝謝!

    

    

    

  

轉(zhuǎn)載于:https://www.cnblogs.com/dimdusk/archive/2013/04/09/3008575.html

總結(jié)

以上是生活随笔為你收集整理的MonkeyRunner——如何在实体机上启动一个程序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。