python在Android
『壹』 python可以進行android開發么
完全沒問題,目前python for android項目的進展很迅速,python能在android上穩定運行。是否流暢還要看硬體配置如何了。圖形界面也有成熟的項目,比如kivy等。可以製作穩定實用的App。
『貳』 python 能開發 Android 應用嗎
python可以開發Android應用。
Python是一種解釋型腳本語言,可以應用於以下領域:
1、Web 和 Internet開發;
2、科學計算和統計;
3、人工智慧;
4、教育;
5、桌面界面開發;
6、軟體開發;
7、後端開發。
(2)python在Android擴展閱讀:
操作系統與應用程序的溝通橋梁,應用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。
Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背後的引擎。Surface flinger 是就2D或3D的內容顯示到屏幕上。Android使用工具鏈(Toolchain)為Google自製的Bionic Libc。
Android採用OpenCORE作為基礎多媒體框架。
Open CORE可分7大塊:PVPlayer、PVAuthor、Codec、PacketVideo Multimedia Framework(PVMF)、Operating System Compatibility Library(OSCL)、Common、OpenMAX。
Android 使用skia 為核心圖形引擎,搭配OpenGL/ES。skia與Linux Cairo功能相當,但相較於Linux Cairo, skia 功能還只是雛形的。
2005年Skia公司被Google收購,2007年初,Skia GL源碼被公開,Skia 也是Google Chrome 的圖形引擎。
Android的多媒體資料庫採用SQLite資料庫系統。資料庫又分為共用資料庫及私用資料庫。用戶可通過ContentResolver類(Column)取得共用資料庫。
Android的中間層多以Java 實現,並且採用特殊的Dalvik 虛擬機(Dalvik Virtual Machine)。Dalvik虛擬機是一種「暫存器型態」(Register Based)的Java虛擬機,變數皆存放於暫存器中,虛擬機的指令相對減少。
Dalvik虛擬機可以有多個實例(Instance), 每個Android應用程序都用一個自屬的Dalvik虛擬機來運行,讓系統在運行程序時可達到優化。Dalvik 虛擬機並非運行Java位元組碼(Bytecode),而是運行一種稱為.dex格式的文件。
參考資料:網路-Android
『叄』 如何使用python做android的自動化測試
一、首先說說手機自動化測試的原理 1、手機自動化測試的原理為PC上一個控制端(測試工具)與手機上的一個agent端,通過串口、USB或者無線方式將PC與手機終端相連,然後應用測試工具向手機發送請求或者命令,手機收到命令或者請求後,交給agent端解析,然後agent將這些解析的命令下發給手機的各個功能模塊所能識別的命令,調用那些功能模塊模擬操作。完成這些操作後,手機會返回一些信息,agent可以抓取這些信息,然後傳回給PC端,這樣就完成了一個完整的手機自動化測試。 2、關鍵點在於agent,有的公司是向自己的手機終端的軟體功能模塊中植入測試程序響應代碼,有的公司可以利用MMI_Command的方式來控制手機終端;原理就是給手機提供一個響應的介面。 3、而對於PC控制端,這個測試腳本用各種編程語言都可以,看如何定義 4、而又的自動化測試設計成錄制的機制,說通俗點,就是記錄手工操作的鍵盤信息或者LCD的操作信息(LCD需要用到智能識別機制) 5、自動化測試框架的搭建方法是通用的,你需要有一套自己的測試框架才能保證自動化測試的順利開展。 二、Android自動化測試方向: 1、CTS,CTS 測試基於Android instrumentation 測試, 其又基於JUnit 測試。說白了, CTS 就是一堆單元測試用例。這也是Java 語言的擅長部分。 2、 Monkey工具,Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對正在開發的應用程序進行壓力測試。Monkey測試是一種為了測試軟體的穩定性、健壯性的快速有效的方法。 3、ASE,ASE 意思為Android 腳本環境, 即我們可以通過腳本(比如Python)調用Android 的功能,從而定製一些測試。比如打電話,發簡訊,瀏覽網頁,等。我們可以擴充它的API(Java 部分), 並用python 腳本調用這些API, 從而實現豐富的測試功能。用於API 部分可以訪問到Android 全部API, python 又能靈活部署測試,所以ASE 的擴展性非常好。 4、Robotium,該工具用於黑盒的自動化測試。可以在有源碼或者只有APK 的情況下對目標應用 進行測試。Robotimu 提供了模仿用戶操作行為的API,比如在某個控制項上點擊,輸入Text 等等。(推舉你可以研究一下這個工具,開源的,我有資料) 5、可以自己開發一個手機方面的自動化測試工具,原理上一樣的 如果你想要什麼資料的話或者想一起學習研究的話,可以給我發郵件:[email protected]
『肆』 如何在android上運行Python代碼
在android上運行python腳本,或者在android上使用python交互界面,對熟悉python的研究或開發人員來說,是一件很有吸引力的事情,因為python腳本真是非常高效,另外,有很多非常好的庫
android官方目前沒有支持在android設備運行python,但是網上有一些項目組做了這個事情on-apps-scripts-on-android/ 這個鏈接就提供好幾個項目,我稍微嘗試了 Kivy 這種方式, 需要安裝
的東西太多,就放棄了. 推薦 e/28這種方式,使用 qpython 項目, 可以用非常少的付出得到 android 上可以運行的 python 環境.
1. Please download QPython from url:hcom/ 這里我採用不同的方式,直接從360手機助手搜索並安裝 qpython , 更加方便
2. adb install qpython package into device or emulator
3. change /system folder to be readable and writeable
4. modify /system/etc/mkshrc to add following at the end of the file
ANDROID_PRIVATE=/data/data/com.hipipal.qpyplus/files;export ANDROID_PRIVATE
ANDROID_PUBLIC=/storage/sdcard/com.hipipal.qpyplus;export ANDROID_PUBLIC
ANDROID_SOCKET_zygote=9;export ANDROID_SOCKET_zygote
AP_HANDSHAKE=10e4c98a-4216-47a3-bf67-57b99d7d516e;export AP_HANDSHAKE
AP_HOST=127.0.0.1;export AP_HOST
AP_PORT=45367;export AP_PORT
LD_LIBRARY_PATH=/vendor/lib:/system/lib:/data/data/com.hipipal.qpyplus/files/lib:/data/data/com.hipipal.qpyplus/files:/data/data/com.hipipal.qpyplus/lib
export LD_LIBRARY_PATH
PATH=/data/data/com.hipipal.qpyplus/files/bin:/sbin:/vendor/bin:/system/bin:/system/xbin
export PATH
PYTHONHOME=/data/data/com.hipipal.qpyplus/files;export PYTHONHOME
PYTHONOPTIMIZE=2;export PYTHONOPTIMIZE
PYTHONPATH=/data/data/com.hipipal.qpyplus/files/lib/python2.7/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/lib-dynload/:/data/data/com.hipipal.qpyplus/files/lib/python2.7/site-packages/:/storage/sdcard/com.hipipal.qpyplus/lib/python2.7/site-packages/:
export PYTHONPATH
PYTHONSTARTUP=/storage/sdcard/com.hipipal.qpyplus/lib/python2.7/site-packages/qpythoninit.py
export PYTHONSTARTUP
TMPDIR=/storage/sdcard/com.hipipal.qpyplus/cache;export TMPDIR
5 relogin the shell
6. type python in the adb shell
root@generic:/ # python // 我嘗試的時候,直接運行 python (其實是運行 /data/data/com.hipipal.qpyplus/files/bin/python) 會報錯: error: only position independent executables (PIE) are supported. 我測試的設備是 Nexus 6 , android 6.0 , 在
這些比較新的 android 系統上有保護,需要可執行程序使用 -PIE 進行編譯,否則無法運行. 但我發現同樣的目錄下 python-android5 是可以運行的, 所以就 mv python python.bak ; ln -s python-android5 python ; 這樣後面就可以直接運行 python 了.
分類:android
『伍』 android中python有什麼作用
Python解釋器的位置是一個安裝選項,因此它可能在其它的位置。必要時詢問你身邊的Python專家或者系統管理員(/usr/local/python是另一個常見的安裝路徑)。在Windows上,Python通常安裝在C:\Python24[U1] ,但你可以在安裝時改變這個路徑。要把這個路徑加入到你的path中,請在命令行窗口裡執行以下命令
在Python的提示符候輸入一個文件結束符(Control-D on Unix and Control-Z on Windows)會使解釋器退出並返回狀態碼0。如果文件結束符不起作用,你還可以執行命令」import sys;sys.quit()」來退出解釋器。解釋器的行編輯功能通常並不是很強大。但在Unix上,安裝了解釋器就激活了GNU readline庫的支持。該庫加入了很多復雜的互動式編輯和歷史紀錄的功能。
最快的檢測命令行編輯是否支持的辦法也許是在你遇到的第一個Python提示符候輸入Control-P。如果聽到嘟嘟響,就說明你可以使用命令行編輯。在附錄A中可以看到關於這些編輯鍵的介紹。如果什麼都沒有發生或者顯示了字母P,則表示命令行編輯功能不可用,你只能使用backspace從當前行刪除字元。
解釋器有些像Unix的Shell:當調用時的標准輸入連接到一個tty設備時,交互的讀入命令並執行。如果跟著一個文件名作為參數,或者以一個文件作為標准輸入,則從該文件讀入並執行腳本。
第二種啟動解釋器的辦法是」python –c command [arg]…」。解釋器會執行傳入的命令,就像shell的-c選項一樣。因為Python的語句經常包含空格或者其它對shell有特殊意義的字元,最好把命令用雙引號引起來。一些Python模塊也是很有用的腳本。可以用」python –m mole [arg]…」的方式來調用。解釋器會執行模塊的源文件,就如同你在命令行上給出了模塊的全名一樣。
注意」python file」和」python <file」有一點區別。後一種方式程序需要的輸入,如input()和raw_input()的調用會從輸入文件讀。同時在程序執行以前解釋器已經讀到輸入文件的末尾了。
因此程序會立刻遇到一個end-of-file。在前一種情況下(通常是你希望的)輸入從Python解釋器標准輸入相關聯的任何文件或者設備讀入。當使用腳本文件時,有時需要在執行完腳本候進入交互模式。可以通過在腳本前加上-i達到這種效果。(當腳本從標准輸入讀入時該方法不起作用,和上一段解釋的原因一樣)。
腳本名稱和附加的參數被放在sys.argv中傳入腳本。sys.argv是一個字元串列表,長度最少為1。當沒有腳本和參數傳入時,sys.argv[0]是一個空串。當腳本名用』-『指定時(表示標准輸入),sys.argv[0]被置為』-『。使用-m mole選項時,sys.argv[0]被置為模塊的全名。
-c command 或-m mole以後的選項不被Python解釋器處理,而是作為sys.argv傳給要執行的命令或模塊。
從tty讀入命令時,解釋器處於交互模式。
在這種模式下它用主提示符來提示用戶輸入下一個命令。主提示符通常是三個大於號(「>>>」)。在一行輸入沒有終結需要在下一行繼續輸入時的副提示符預設時三個點號(「…」)。
『陸』 如何使用python做android的自動化測試
目前大家對Python都有一個共識,就是他對測試非常有用,自動化測試里Python用途也很廣,但是Python到底怎麼進行自動化測試呢?今天就簡單的向大家介紹一下怎麼使用Python進行自動化測試,本文只是自己的一點點分享,若有錯誤,請大家多多批評指正。這里主要介紹的是一些Python測試的框架
1、單元測試
a、unittest :Python自帶的單元測試框架
b、pyunit:Junit的Python版本
2、使用Pyhon進行Windows GUI測試
這部分的功能主要就是和大家平時使用的QTP類似。在Windows下我們可以使用pywinauto這個開源的框架:
來個小例子:
app.Notepad.MenuSelect("Help->About Notepad")
app.AboutNotepad.OK.Click()
app.Notepad.Edit.TypeKeys ("pywinauto Works!", with_spaces = True)
呵呵,強大吧
3、使用Python進行Web自動化測試
使用Python進行Web自動化測試的工具有很多,這里就向大家推薦一下我比較熟悉的Selenium(Web Driver)吧。