android單步
① mac 下 android studio 怎樣使用 jni 單步調試
JNI對性能的提升沒有我預想中的大,對於for循環的速度提升大概在1倍左右,所以如果數量級不大的話,性能提升不會很明顯
JNI編完之後,不能調試,是不是很蛋疼,不像android java可以看出錯信息。JNI crash之後,界面上表示為沒有任何反應,過段時間直接退出應用,沒有提示、也沒有XXX已停止運行。第一次遇到真是無從下手,有沒有!!!,經過對Java層的log研究發現,原來JNI crash後,cpu就直接死在那裡(相當於assert,程序停止運行)。果斷時間後JAVA層發現程序已掛之後(進程僵死),就強制殺死該進程。於是程序直接退出而無提示。(以上分析純屬個人分析,如有不對,敬請指正)。這時發現如果能有單步調試功能那該多好!!網路一下 ndk單步調式 一般能搜出如下結果:
1、安裝CDT插件
2、安裝Sequoyah插件
3、使用插件裝入JNI文件、導入JNI頭文件
4、配置eclipse JNI編譯環境
5、修改ndk-gdb腳本
6、運行ndk-gdb腳本,並修改生成的文件(windows需安裝cygwin)
7、配置eclipse native調試環境
嚇尿了,有沒有!!!單步調試這么麻煩!!!麻煩不說,windows下使用ndk-gdb效率還特別低另外,對於修改google release的ndk腳本,我一直持保留態度,安說release的腳本應該直接能用的,為什麼要做修改後才能用呢?以上步驟,我花了2~3小時搞定,僅僅為了能打個斷點~~~在機緣巧合下,我看到一篇google官方的文章「Using NDK Plugins」
令人興奮的是,ADTr20已經支持JNI單步調試,再也不需要如上這么麻煩的步驟了
你現在需要做的只需以下2步:
1、使用ndk-build編譯時,加上如下參數NDK_DEBUG=1,之後生成so文件之外,還會生成gdbobserver,gdb.setup調式文件
2、在項目的Debug Configuration中選擇Android Native Apllication,點擊下方Debug
3、Enjoy your Debugging!如何?是不是超簡單,而且調試速度還相當快哦ADTr20已經比較完美支持NDK開發了。可以集成ndk編譯,只需在項目右鍵Add Native Support,就能自動生成jni文件,並部署編譯環境(注意這個過程是不可逆的,手動刪除jni文件後,會編譯不過)。如果需要生成NDK調試文件,需要右鍵項目->properties->C/C++ build->Builder Setting 把默認的Build Command : ndk-build 修改成 ndk-build NDK_DEBUG=1最後推薦一個很有用的android官方網站//tools。android。com/ 這個網站包含大多數ADT使用方法和新版ADT的介紹,獲益匪淺
只可惜這種方法只能在ndk環境下使用,如果要對framework中的jni進行單步調試,應該就行不通了,推薦的一種方法是把它在NDK中編譯調試完畢,然後將生成的so放在system/lib下
② 怎樣通過Eclipse運行APK文件,以達到可以單步調試Android源碼的目的
Eclipse開發的Android程序可以直接在手機上運行。
運行方式:
1. 手機打開 USB調式模式(不同的手機操作可能打開方式不一樣)。
2. 將手機連接到電腦。
3. 電腦上安裝手機USB驅動程序。
4. 運行android 應用。
5.點擊工程 run as android application後,系統就會查找已經連接到電腦的設備,選擇已經連接的設備即可運行在手機上了。
單步調試就是點擊工程debug run as android application 注意是選擇debug run as android application ,然後當程序運行到斷點處就會停下來。
③ android開發debug調試怎麼做
1.在程序中添加一個斷點
如果所示:在Eclipse中添加了一個程序斷點
在Eclipse中一共有三種添加斷點的方法
第一種: 在紅框區域右鍵出現菜單後點擊第一項 Toggle Breakpoint 將會在你右鍵代碼的哪一行添加一個程序斷點 (同樣的操作方可取消程序斷點)
第二種: 在紅框區域雙擊滑鼠左鍵將會在你雙擊代碼的哪一行添加一個程序斷點 (同樣的操作方可取消程序斷點)
第三種 :在游標停留的地方使用快捷鍵 Ctrl + Shift + B 將會在游標停留的這一行添加一個程序斷點 (同樣的操作方可取消程序斷點)
2.運行Debug 調試 讓程序停留在添加的斷點上
如下圖所示,在紅框內點擊下拉菜單選中需要調試的項目 則開始運行Debug調試
如果不在下拉表中選直接點擊表示Debug運行默認項目(默認項目為上一次運行的項目)
Debug調試 快捷鍵為單擊F11
分析一下如何科學的添加程序斷點, 上圖中我為了加斷點查看生成出來隨機數的值我一共添加了6個程序斷點,綠框表示最為科學的斷點位置 ,紅框表示不科學的位置。 我們分析一下為什麼, 如果switch case 中的代碼片段過長 或者 case 的數量過多 如果採用紅框的方式來添加程序斷點,程序員須要添加很多程序斷點萬一有疏漏 所以會很難快速定位代碼執行到了那裡 ,如果使用綠框的方式添加程序斷點,程序員只須要在斷點出按 F6 單步跳過這一行代碼就會走進正確的case中方便繼續調試。
Debug調試運行後,程序停在了紅框處,按F6單步跳過 發現隨機數為4 程序停留在了綠框中,程序員可以迅速定位random的值為4
3.程序停留後查看變數的數值
關閉
④ 按鍵精靈安卓版的,自己試了很多次,單步測試都能成功,合在一起總跳不出循環,請問這個腳本要怎麼寫
圖3應該返回操作4,而不是1
⑤ Android程序如何(單步)調試
1、設置斷點
在程序裡面放置一個斷點,也就是雙擊需要放置斷點的程序左邊的欄目上。
2、調試
(1)點擊"打開透視圖"按鈕,選擇調試透視圖,則打開調試透視圖界面,然後先設置斷點,按調試按鈕則可以調試程序。
(2)或者直接點擊調試按鈕,那個蟲子樣子的按鈕,然後就會進入調試透視圖的界面。前提你需要是要在程序中設置好斷點。
(3)或者右鍵單擊該程序,選擇debug as(調試方式) -> java application(Java應用程序),則可以調試程序了。前提需要是要在程序中設置好斷點。
3、調試快捷鍵
以debug方式運行java程序後
(F5)單步執行程序,遇到方法時進入;
(F6)單步執行程序,遇到方法時跳過;
(F7)單步執行程序,從當前方法跳出;
(F8)直接執行程序。遇到斷點時暫停;
按F5就是一層層深入的debug相當於剝蔥樣,會進入每個方法內部;
按F6就是在當前函數一步步debug,不理會深層次運作;
按F7就是如果當前進入了某個方法內部,都跳轉到該方法的結尾代碼處;
按F8就是如果後面還有斷點,則運行到下一斷點處,否則運行完程序;
另,在debug時,會有很多有用信息顯示在debug框里,如堆棧信息,需要自己實踐;在程序界面里,滑鼠移到變數上時會有當前變數的屬性值。
4、改變變數的值
在變數窗口中右擊變數,在彈出的菜單中選擇[change value],彈出修改畫面。
改變其值後,按下ok按鈕;這時變數的值就改為修改後的值了。
5、檢查代碼段執行結果
在程序運行的時候,想看看某段程序運行的結果是否正確,或者查看某個變數的值時:
選擇一句或一段代碼,右鍵單擊在彈出的菜單中選擇Watch(創建查看錶達式)項,此時,代碼的執行結果將顯示在Expressions(表達式)窗口中。
選擇一句或一段代碼,右鍵單擊在彈出的菜單中選擇Inspect(檢查)項,可以直接顯示表達式的值。
⑥ android studio怎麼debug調試快捷鍵
1.
【Ctrl+Shift+B】:在當前行設置斷點或取消設置的斷點。
2.
【F11】:調試最後一次執行的程序。
3.
【Ctrl+F11】:運行最後一次執行的程序。
4.
【F5】:跟蹤到方法中,當程序執行到某方法時,可以按【F5】鍵跟蹤到方法中。
5.
【F6】:單步執行程序。
6.
【F7】:執行完方法,返回到調用此方法的後一條語句。
7.
【F8】:繼續執行,到下一個斷點或程序結束。
⑦ android怎樣單步調試
(1)加入相應的包:import android.util.Log;
(2)用相應的Log函數輸出調試信息:
• Log.e( ): Errors
• Log.w( ): Warnings
• Log.i( ): Information
• Log.d( ): Debugging
• Log.v( ): Verbose
• Log.wtf( ): What a Terrible Failure5 (Since Android 2.2.)
(3)在eclipse中通過以下方法打開LogCat查看輸入的調試信息:
Window >Show View > Other… > Android > LogCat
如果不使用eclipse,則用adb logcat命令打開logcat查看輸入的調試信息
(4)如果需要斷點單步調試,則在AndroidManifest.xml文件中加入 android:debuggable=」true」,如下:
<application android:icon=」@drawable/icon」
android:label=」@string/app_name」
android:debuggable=」true」 >
(5)在Eclipse中的Run菜單下用Toggle Breakpoint等命令添加斷點;
(6)在Eclipse中的Run菜單下用Debug As運行程序;在相應斷點停止程序後,按F6(step over)運行到下一個斷點;
詳情請見:http://blog.micro-studios.com/?p=689
⑧ Android移動應用自動化測試都需要哪些環境
所需環境:Java(JDK)、Android-sdk、android模擬器(可用安卓真機)、Appium、python/Java
1. Java環境:移動應用程序是java程序開發,要運行java語言開發的程序就需要搭建java運行環境,直接安裝JDK或JRE即可。
2. Android-sdk:Android程序開發、調試工具包,需要使用工具包內的ADB命令和Uiautomatorwebview查看元素屬性工具
3. android模擬器:開發調試安卓應用,就需要一部安卓手機,使用模擬器代替安卓真機,也可以使用真機,需要開啟root許可權
4. Appium:移動應用自動化測試框架,提供了常用移動及應用的操作的API方法,支持Android、ios
5. python/java:需要一門語言來調用Appium框架提供的API方法來操作移動應用 傳智播客有全套Android移動應用自動化測試的視頻教程,你可以去官網找找看。
⑨ 如何使用android studio及夜神模擬器開發調試
方法/步驟
1、通過android studio新建自己的工程,
2、下載並安裝夜神模擬器
先啟動夜神模擬器
然後運行cmd命令,cd到夜神安裝目錄,執行命令
nox_adb.exe connect 127.0.0.1:62001
連接到模擬器
3、通過第一步新建的工程,按照下圖,進行配置,並debug啟動
4、彈出了模擬器選擇框,OK後,我們就可以查看及單步調試了。
5、效果1
6、效果2
7、模擬器分別率如何設置,各種分配率,隨便配置,平板及手機隨便切換。
⑩ Android程序如何(單步)調試
.util.Log;(2)用相應的Log函數輸出調試信息: