Re: [問題] 軟體需要root權限?
※ 引述《sometimes4 (賠了夫人又折兵)》之銘言:
: 請問有些軟體安裝使用時,會聲明需要root權限,
: 想問的是使用sdk開發時,有那些api會需要root權限,
: 如果沒有,那是ndk開發才有可能嗎?
API =>不需要root
NDK =>還是不需要ROOT
android的 JAVA 應用程式 不可能 具有ROOT 權限
除了去zygote那邊搞些破壞,才有可能吧
為什麼要取得ROOT呢,那你必須要了解root是甚麼
定義上就是用 UID=0 的身分來做事情 叫做取得root權限
但所有的APK不可能讓自己UID=0,最強只能到UID=1000(system),
但這部分就是由zygote決定的,做應用程式的話沒辦法做到這樣
而且UID=1000還是很弱...很多事情都不能做..XD
所以一般來說ap要root就是用shell comand去跑程式,
shell command可以讓你從JAVA去叫linux的C程式來跑,
然後對他(C程式)打些命令,他就會幫你做一些需要UID=0的事情
由於android的linux裡面並沒有sudo,
所以ROOT的機器(意味著使用非官方的ROM)會直接把"修改版" su 程式
放到你的手機中,然後該su程式有些額外的功能,
可以讓你用root的身分執行一些其他你想要的程式
當然,他執行前,可能會多一些有趣的檢查,像是現在普片使用的"授權程式"的APK
就是幫忙把關的
如果你要做一些root的動作,你就必須要準備好C的程式,
然後在JAVA中,可以使用類似
Runtime.getRuntime().exec("su -c helloworld");
這類的功能來使用,su根據你機器中的版本不能,功能性也不一樣
像有些機器的su是不能接受 -c 參數的....
也就是說你做出來的應用程式,放到android market上,
可能有些"號稱"root過的user不能使用
他可能會因此給你 "一顆星" 的評分
這方面就是很多經驗的累積了 :(
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.38.194
推
03/17 15:39, , 1F
03/17 15:39, 1F
推
03/17 16:35, , 2F
03/17 16:35, 2F
推
03/17 19:59, , 3F
03/17 19:59, 3F
討論串 (同標題文章)
AndroidDev 近期熱門文章
PTT數位生活區 即時熱門文章