總網頁瀏覽量

關於我自己

我的相片
人生的必修課是接受無常,人生的選修課是放下執著。
顯示具有 教學文件 標籤的文章。 顯示所有文章
顯示具有 教學文件 標籤的文章。 顯示所有文章

2021年6月9日 星期三

[文件大師HD]擷取安裝於Device中的APK做備份

進入Device的shell環境中
$adb shell

從Market下載的檔案 & adb install的檔案 & 從SD卡安裝 & 自己開發的AP
可從以下查到info
#cd data/app/

系統預設的(整合進image的AP)則放在以下路徑
#cd system/app/

:four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover::four_leaf_clover:

但市面上沒有root權限的Device是無法使用adb shell來瀏覽&備份我們所需的資料
此時可以借助一個好用的軟體 - 文件大師HD -

下載.apk檔

✿ 開啟「文件大師HD」

✿ Click「應用與遊戲」

在此會列出所有可備份的APP,勾選要抓出.apk檔的應用程式
✿ Click底部功能列左邊數來第二個(備份)icon


click「本地備份」


✿ Toast顯示.apk檔被放到\Phone\storage\emulated\0\APK\路徑下
 不過實際上是從「電腦\Phone\backup_apps」找到.apk檔


✿ 傳輸.apk至其它Android裝置便可直接執行安裝



2018年3月12日 星期一

【Android APP】【Automation】Monkey指令

Monkey常用命令
1,adb shell pm list packages 表示檢視手機內所有的包名。

2,-help 列出簡單使用指南。
如:adb shell monkey -help

3,-throttle < milliseconds> 在事件之間插入固定延遲。通過這個選項可以減緩Monkey的執行速度。如果不指定該選項,Monkey將不會被延遲,事件將盡可能快地被產成。
如:adb shell monkey -throttle 300 -v 100 表示執行100個偽隨機使用者事件流,事件間隔為300毫秒。

4,-p < allowed-package-name> 表示如果用此引數指定了一個或幾個包,Monkey將只允許系統啟動這些包裡的Activity。如果你的應用程式還需要訪問其它包裡的Activity(如選擇取一個聯絡人),那些包也需要在此同時指定。如果不指定任何包,Monkey將允許系統啟動全部包裡的Activity。要指定多個包,需要使用多個 -p選項,每個-p選項只能用於一個包。
如:adb shell monkey -p com.jzf.simple1 -p com.jzf.simple2 100
表示對包「com.jzf.simple1」和「com.jzf.simple2」執行100個偽隨機使用者事件流。

5,-ignore-crashes 表示當應用程式崩潰或遇到任何型別的未處理的異常時,Monkey將停止。如果指定此選項,則Monkey將繼續向系統傳送事件,直到計數完成。

6,-ignore-timeouts 表示當應用程式遇到任何型別的超時錯誤(如「應用程式無響應」對話方塊)時,Monkey將停止。如果指定此選項,則Monkey將繼續向系統傳送事件,直到計數完成。

7,-ignore-security-exceptions 表示當應用程式遇到任何型別的權限錯誤時,Monkey將停止,例如,如果它嘗試啟動需要某些權限的活動。如果指定此選項,則Monkey將繼續向系統傳送事件,直到計數完成。

8,-kill-process-after-error 當Monkey由於一個錯誤而停止時,出錯的應用程式將繼續處於執行狀態。當設定了此選項時,將會通知系統停止發生錯誤的程序 進程。注意,正常的(成功的)結束,並沒有停止啟動的程序 進程,裝置只是在結束事件之後,簡單地保持在最後的狀態。

9,-wait-dbg 表示停止執行中的Monkey,直到有偵錯程式和它相連線。

10,-s < seed> 偽隨機數生成器的種子值。如果你用相同的種子值重新執行Monkey,它將生成相同的事件序列。
如:adb shell monkey -s 1123 表示重現種子值為1123的事件序列。

11,-pct-touch< percent> 表示調整觸控事件的百分比(觸控事件是螢幕上單個位置的down-up事件)。
如:adb shell monkey -pct-touch 67 -v 10
表示執行10個偽隨機使用者事件流,並調整其中觸控事件的百分比為67%。

-------------------------------------------------------------------------------------------------------------------------

CRASH即崩潰資訊,程式在執行中非正常退出。 不設定忽略crashes,在測試過程中出現CRASH,會中斷測試,並顯示CRASH資訊和seed資訊



可直接根據log日誌定位bug並修復,也可根據seed值來完成bug的復現。
如:adb shell monkey -p com.feicuiedu.monkeytestdemo -s 1476474162566 -v 100






透過adb同時測試多個設備

adb可以透過ethernet同時連結多個設備進行除錯,使用到基本命令如下:
adb start-server 執行adb server

adb kill-server 關閉adb server

adb connect <host>[:<port>] 連接至指定IP address之設備

adb disconnect <host>[:<port>] 取消指定IP address之設備的adb連結
adb devices 列出adb已連結之設備
adb -s <serial number> 命令導向至指定的已連結設備
adb shell <command> 在遠端shell執行命令


Money透過adb同時測試多個設備使用流程如下:
1. adb kill-server
    adb start-server
 (重新啟動adb,確保adb沒有舊的連線,造成連線失敗,若確認無連線可以略過)


2. adb connect 10.10.10.90 (沒有輸入port會使用預設port 5555)
adb connect 10.10.10.89 
adb connect 10.10.10.88

進行多個設備連線


3. adb devices
列出連線設備,以確認有將設備加入連結,結果會如下所示
List of devices attached
10.10.10.90:5555 device
10.10.10.89:5555 device
10.10.10.88:5555 device


4. adb -s 10.10.10.90:5555 shell monkey –throttle 1000 –v 90000
    
adb -s 10.10.10.89:5555 shell monkey –throttle 1000 –v 90000
    
adb -s 10.10.10.88:5555 shell monkey –throttle 1000 –v 90000
    透過上面命令即可在多個設備進行monkey測試

若操作過程與到某個設備無法連線並且已存在adb devices清單中
 可以透過disconnect與connect來重新連結
 Ex:
 adb disconnect 10.10.10.90
 adb connect 10.10.10.90
 然後可以透過adb devices進行確認指令是否有成功執行
如果adb server有異常現象無法排除,請透過使用流程的步驟
 kill-serverstart-server來重新啟動adb server,並重新建立連結即可

2017年1月15日 星期日

【invisionapp】免費建立手機模擬器


Google搜尋關鍵字:invisionapp


首頁:https://www.invisionapp.com/

註冊新帳號:填妥「NAME」、「EMAIL ADDRESS」、「PASSWORD」→Click「SIGN UP FREE」button

Click「STAR FIRST PROJECT」button

Click「CREATE NEW PROTOTYPE」button

Input PROJECT NAME and choose the type of emulator→Click「GET STARTED」button

Click「browse」to choose psd、pdf、png、jpg、gif file


After upload one picture, Click「VIEW SCREEN」button

Click「BUILD MODE」button

接著可以框選範圍,進一步指定當User Click框選範圍後執行的動作

再選一張圖上傳,作為Click框選範圍後要開啟的圖片

點一下圖片就可以設定好了




選好「Gesture」和「Transition」後→Click「SAVE」button

滑鼠移到框選範圍上,看到提示訊息「SHIFT + Click to Navigate」=按下鍵盤Shift鍵+滑鼠點一一下框選範圍就可以切換到所連接的圖片

另外裝置上超出螢幕的內容,可以用Photoshop接成一張大圖,超過螢幕畫面的部分可以作滑動。


------------------------------------------------------------------------------------------------------------------
【分享網址給他人】



會得到一個短網址。EX:https://invis.io/PF9X43NXY


開新分頁貼上,會自動轉成一般網址讀取內容










2017年1月9日 星期一

現行Android版本市占率 - 2017.01.09

查詢網站:
https://developer.android.com/about/dashboards/index.html#platform



API Level OS CodeName Distributionn
1 1.0    
2 1.1    
3 1.5 Cupcake  
4 1.6 Donut  
5 2.0 Éclair  
6 2.0.1 Éclair  
7 2.1 Éclair  
8 2.2 Froyo  
9 2.3    
10 2.3.3   1.0%
11 3.0    
12 3.1 Gingerbread  
13      
14      
15 4.0.3 ICSandwich  1.1%
16 4.1.x Jelly Bean 4.0%
17 4.2.x Jelly Bean 5.90%
18 4.3 Jelly Bean 1.70%
19 4.4 kitkak 22.60%
20      
21 5.0 Lollipop 10.10%
22 5.1   23.30%
23 6.0 Marshmallow 29.60%
24 7.0 Nougat 0.50%
25 7.1   0.20%

2016年11月7日 星期一

【adb】【Windows】無法找到裝置時下載ADB Driver Installer

電腦端要安裝手機的驅動程式,HTC手機請安裝HTC Sync,MOTO手機請安裝Motorola USB drivers,Samsung手機請安裝Kies,SONY手機請安裝Xperia Companion。

【萬用】下載 ADB Driver Installer.exe 執行檔以自動安裝不同廠牌手機Android ADB Interface的驅動程式


下載後執行

指令adb kill-serveradb devices可以找到Device了!!!
  • 手機端要開啟「USB除錯」,進入手機設定>應用程式>開發>勾選USB除錯

    本例中使用HTC手機
  • 2016年10月12日 星期三

    【建立Android環境】 PC_Windows7_64bit

    <外網狀態, 避免透過公司proxy> 
    下載java 1.8 jdk 

    http://java.sun.com/javase/downloads/index.jsp



    下載
    Windows x64187.4 MB  jdk-8u91-windows-x64.exe

    安裝java 1.8 jdk 
    C:\Program Files\Java\jdk1.8.0_91

    設定環境變數

    「我的電腦」>滑鼠右鍵>「內容」>「進階系統設定」>進階>環境變數>找到Path變數>編輯>在最後加上
    C:\Program Files\Java\jdk1.8.0_91\bin


    下載ADT Bundle 20140702 版 ~ Android 開發者懶人包、整合 Android SDK、eclipse、Android Development Tools

    新版整合Eclipse與SDK一併下載
    入口一:http://forum.jeasy.info/viewtopic.php?f=61&t=1521
    
    
    
    
    入口二:http://developer.android.com/sdk/index.html
    選擇Windows 64-bit
    


    執行eclipse.exe
    解壓縮以後,執行eclipse.exe


    安裝ADT

    Help > Install New Software > Add
    Name: ADT
    Location: http://dl-ssl.google.com/android/eclipse

    安裝Juno for Unit 4


    若工具列「Window」找不到Android SDK Manager,按以下步驟設定:
    1.  window  ->  
    2.  customize perspective -> 
    3.  command group availability tab -> 
    4.  on the check box android SDK and AVD manager check it -> 
    5.  click on ok
    --------------------------------------------------------------------------------------------------------------------------
    若指令adb kill-serveradb devices無法找到Device
    Step 1
    以指令netstat -ano|findstr "5037"檢查5037 port是否有被占用
    Step 2
    下載 ADB Driver Installer.exe 執行檔以自動安裝不同廠牌手機Android ADB Interface的驅動程式
    下載後執行

    指令adb kill-serveradb devices可以找到Device了!!!



    >>>>>>>>>>>>若不採用ADT Bundle包,則可各別下載SDK、Eclipse<<<<<<<<
    下載SDK
    http://developer.android.com/sdk/index.html
    選擇「Download the SDK」

    1. 選擇Eclipse IDE for Java EE Developers Windows 32 Bit2. Help > Install New Software > Add
        Name: 隨便填
        Location: http://dl-ssl.google.com/android/eclipse
    3. 指向SDK 
       Window > Preferences > Android > Browse > 選到SDK的資料夾
    4. 更新SDK的platforms
       Window > Android SDK and AVD Manager > Available packages 
       個人是全部都打勾做下載
    5. 建立模擬器
       Window > Android SDK and AVD Manager > Virtual devices > New
       看前面下載了多少種platforms, 決定這裡可以建哪些模擬器喔


    Emulator PANIC: Could not open 

    將D:\My Documents\.android的內容copy至C:\Users\使用者名稱\.android