iT邦幫忙

0

撰寫app控制其他手機

  • 分享至 

  • xImage

各位好
想請問 如果我要撰寫一個手機app
去控制其他手機,可以告訴我原理是如何做到或者必要的機制嗎
像teamviewer跟Vysor
會利用到adb的指令嗎?
(我知道adb是存在電腦,但如果試用包覆的呢)

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

謝謝

ant1017 iT邦新手 2 級 ‧ 2019-02-27 08:50:52 檢舉
我記得TeamViewer QuickSupport可以做到,但要雙方都安裝
但詳細的原理就不太清楚了,一般我都是用電腦去控制對方的手機,或是用手機去控制對方的電腦
恩恩 ,這個我明白,已有實做過電腦跟手機裝置
但想知道其原理跟背後執行的模式是怎麼走的
謝謝您的回答
froce iT邦大師 1 級 ‧ 2019-02-27 15:04:10 檢舉
VNC之類的應該是client端利用長連線去送鼠標和鍵盤事件,然後server端再模擬輸入吧。中間如何優化就是各家的技術所在。

建議先去看VNC原始碼然後想辦法在android刻一個。XD

然後我不知道android的apk有沒有辦法在adb利用傳參數進去執行,但是這方法一定很侷限就是。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
㊣浩瀚星空㊣
iT邦大神 1 級 ‧ 2019-02-27 11:22:18
最佳解答

哇!!
控制其它人手機耶~~

野心還真大。

基本上這可能無法三言兩語就可以跟你說明清楚。
因為除了app的寫作能力之外。你還需要了解root的應用才行。

因為有很多的控制命令,都是得要用root身份的。
且各家手機root身份的處理各自不同。

剛好你有說到 TeamViewer QuickSupport 但你可能也沒注意到。
它是無法在任何手機上安裝的。只能在某些廠牌的手機上才可以這樣使用。
而且其能操作的也很有限。

像你要做直接下命令的shell方式。更是不可能這樣幹。(可以的話,早就一堆了)

當然,你有那樣的野心,就去找尋經驗。先試著能操控自已的手機做為第一步吧。
加油

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

您好 , 關於在手機上執行adb的問題
我找到這個頁面參考.因為要Root所以我沒有實作
而根據他的情形,最後還是不行

這是我目前找到最相關的資料,謝謝
https://android.stackexchange.com/questions/200010/is-there-a-way-to-run-adb-as-host-on-android-without-root

你後面這個連結是早期可將你的app指定root的身份權限啟用的方式。
但映像中,這是早期安卓版本可容許的行為之一。
但自從4版以後,就改成依本機身份的方式來處理。且也不容許app變為核心應用。(一般要完全跑root身份,大多需要變成核心應用)

關於root身份的處理,其實再早期我就曾經有處理過。也可以使用。
但後期改版後,就幾乎全不能用的。

之前有曾經聽說過,可以用上架機制來開放權限。也就是只要是google pay可以允許的app。聽說可以開放一些原屬於root的權限。(不過並非是用root身份,只是權限開放)

adb的指令方式,其實是利用現有手機的核心應用在跑。
也就是透過某個通道來跑。而這個通道應用的身份就是root身份。
畢竟它是需要在usb模式下運行。講白點就是工程模式的運行方式了。

所以問題也就很簡單了。你想要不接線就運行工程模式。
基本上安卓系統來說,並不會有這樣的開放通道給你。
唯一能解決的方式就是你有辦法放一個核心應用進去提供給你運行。
但偏偏這也是我們無法做到的事。

謝謝您的回覆
讓我更明白這些細節,謝謝

0
海綿寶寶
iT邦大神 1 級 ‧ 2019-02-26 21:39:50

原來您是想寫teamviewer/Vysor類型的app
https://ithelp.ithome.com.tw/upload/images/20190226/20001787rISQzsj9Te.png
我的等級差您太多
就不浪費您的時間了

千萬別這麼說,我很入門,只是在爬文跟瀏覽一些網站之後
沒有甚麼收穫,所以才發文,希望獲得一些關鍵字或者方向
也非常謝謝您的分享

我要發表回答

立即登入回答