各位好
想請問 如果我要撰寫一個手機app
去控制其他手機,可以告訴我原理是如何做到或者必要的機制嗎
像teamviewer跟Vysor
會利用到adb的指令嗎?
(我知道adb是存在電腦,但如果試用包覆的呢)
Process process = Runtime.getRuntime().exec("your command");
BufferedReader bufferedReader = new BufferedReader(
new InputStreamReader(process.getInputStream()));
謝謝
哇!!
控制其它人手機耶~~
野心還真大。
基本上這可能無法三言兩語就可以跟你說明清楚。
因為除了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模式下運行。講白點就是工程模式的運行方式了。
所以問題也就很簡單了。你想要不接線就運行工程模式。
基本上安卓系統來說,並不會有這樣的開放通道給你。
唯一能解決的方式就是你有辦法放一個核心應用進去提供給你運行。
但偏偏這也是我們無法做到的事。
謝謝您的回覆
讓我更明白這些細節,謝謝
原來您是想寫teamviewer/Vysor類型的app
我的等級差您太多
就不浪費您的時間了