iT邦幫忙

0

ADB 與 APP執行差異

  • 分享至 

  • twitterImage

各位好
我對android不是很熟
在各個網頁爬文學習
有個問題想請教

ADB (android debug bridge)
1.用於電腦與裝置的軟體測試與安裝
2.能夠互傳文件,下指令等等

APP 手機應用程式
1.由android studio編譯出來給手機執行時會用adb指令安裝
2.app裏頭可以用adb指令,如

Process process = Runtime.getRuntime().exec("your command");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));

問題在於
今天我寫一個app裏頭寫的程式碼,用於執行操作手機功能,他編譯的時候會用到adb嗎?
例如文件移動,或者撥號,開啟相機,安裝apk等等

我認為app是compiler成apk,執行的應該是android/java的程式碼
除非適用adb的指令包覆在app裡面,不然平常是用不到adb對嗎??

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
海綿寶寶
iT邦大神 1 級 ‧ 2019-02-26 10:20:25
最佳解答

不是很熟
在各個網頁爬文學習

如果你爬過這一頁
就可以不用問人
還可以教人了

選我正解

看更多先前的回應...收起先前的回應...

您好,我有看過
就我所知的是adb是由command line 去執行動作
但我現在不確定的是app背後執行的情形
不知道會不會用到adb的指令
我覺得是不會
看起來不像
進而想提問確認這個想法
謝謝你的回答

我也有在中文網頁
一個一個測試過大部分指令在自己的電腦跟手機
需要root的部分除外

簡單說
adb 和 Android Studio/java compiler/Gradle 一樣
都是「Development time」的工具
不是「Run time」的工具

文件開宗明義就寫了三個組成的元件
其中 client/server 是在「development machine」
只有 daemon 是在手機上執行的背景程式
前提是要在使用者手動打開 USB debugging 才會執行

換言之
市面上的 Android 手機
如果沒有拿來接電腦做為開發機(eg.打開 USB debugging)
就根本不會有任何 adb 的存在

謝謝您的回答
由於我對這方面知識不足
您的回答讓我受益匪淺
謝謝

我要發表回答

立即登入回答