導航:首頁 > APP軟體 > app請求root許可權

app請求root許可權

發布時間:2022-09-25 03:14:24

① 如何使Android應用程序獲得root許可權

一般來說, Android 下的應用程序可以逗直接地得到的最大的許可權為 system ,但是如果我們需要在程序中執行某些需要 root 許可權的命令,如 ifconfig 等,就需要 root 許可權了。按照 Simon 的文章中提到的,應用程序有以下兩種辦法臨時獲得 root 許可權:
1) 實現一個 init 實現一個 Service ,來幫助 Android 應用程序執行 root 許可權的命令。
2) 實現一個虛擬設備,這個設備幫助 Android 應用程序執行 root 許可權的命令。

第二種辦法我這里沒有嘗試,暫時也不會。這里講講我在實現第一種辦法的過程和遇到的一些問題。

1. 將我們要執行的命令寫成腳本,或者可執行程序。
下面是我的腳本 ifconfig_test.sh :

# ! /system/bin/sh
ifconfig
注意: 腳本的第一行必須為 # ! /system/bin/sh ,否則無法執行,通過 dmesg 可以查看到信息內容為 cannot execve ./ifconfig_test.sh: Exec format error

也可以採用 C/C++ 編寫需要執行的命令或者程序,並在編譯 image 的時候編譯成可執行程序。

2. 在 init.rc 中注冊 service
Android 中的 service 需要在 init.rc 中注冊, Init.rc 中定義的 Service 將會被 init 進程創建,這樣將可以獲得 root 許可權。當得到相應的通知(通過屬性設置)後, init 進程會啟動該 service 。
本文中注冊的內容如下:

service ifconfig_test /system/etc/ifconfig_test.sh
oneshot
disabled
其中, oneshot 表示程序退出後不再重新啟動, disabled 表示不在系統啟動時啟動。

注意: 這里 service name 不能超過 16 個字元。我之前的 service name 由於定義的比較長, 18 個字元,設置屬性通知 service 啟動後查看 dmesg 可以看到提示: init: no such service 。查看 /system/core/init/parser.c 的源代碼,在 parse_service->valid_name 函數中可以看到如下內容: if (strlen(name) > 16) { return 0; } ,證明 service 的名字的確不能超過 16 個字元。

3. 將 Android 應用程序提升為 system 許可權
既然應用程序可以通過啟動 service 獲得 root 許可權,那麼豈不是很不安全。 Android 考慮到了這點,規定只有 system 許可權的應用程序才能設置屬性,通知 service 啟動。關於提升 system 許可權的文章網上已有很多,這里就不再細說,

4. 在應用程序中添加屬性設置代碼
前面已經提到,對於 Android 來說,應用程序通知 init 啟動 service 是通過設置系統屬性來完成的,具體為設置 System 系統屬性 逗ctl.start地 為 逗ifconfig_test地 ,這樣 Android 系統將會幫我們運行 ifconfig_test 這個 service 了。
對該系統屬性的設置有三種方法,分別對應三種不同的應用程序:
1) Java 代碼
Android 在 Java 庫中提供 System.getProperty 和 System.setProperty 方法, Java 程序可以通過他們來設置和獲得屬性。代碼如下:
SystemProperties.set("ctl.start", "ifconfig_test");
上面的代碼是通知 Android 執行 ifconfig_test service ,如果需要查詢當前 service 執行的狀態,如是否執行完畢,可以通過如下代碼查詢:
ret = SystemProperties.get("init.svc. ifconfig_test ", "");
if(ret != null && ret.equals("stopped"))
{
return true;
}
2) JNI 代碼
當編寫 NDK 的程序時,可以使用 property_get 和 property_set 這兩個 API 來獲得和設置屬性。使用這兩個 API 必須要包含頭文件 cutils/properties.h 和鏈接 libcutil 庫。

3) Shell 腳本
Android 提供了命令行 setprop 和 getprop 來設置和獲取屬性,他們可以在腳本中被使用。

由於我的程序是在 JNI 中調用腳本,腳本中又執行 ifconfig ,因此我將設置屬性的部分放在了腳本中完成,代碼如下:
setprop ctl.start ifconfig_test

#wait for the service until it stops
ret=1
while [ $ret -ne 0 ]
do
getprop | grep "$ENABLE_MAPPER_SRV" | grep stopped
ret=$?
done
通過上面 4 個步驟, Android 應用程序就獲得了 root 許可權,更具體的說,是在執行我們需要執行的命令時臨時獲得了 root 許可權。
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請~~哦

② 求助.如何手動給某個APP授予ROOT許可權

按我說的試試
打開騰訊手機管家首頁,滑到最下面
找到高級工具——鍵root或凈化師,就可以管理軟體許可權了

③ 怎麼給手機軟體獲取ROOT許可權

給手機軟體獲取ROOT許可權步驟:

1、首先要安裝一個ROOT大師,用這個來給手機軟體獲取ROOT許可權。

2、打開ROOT大師,把手機連接到USB上,等待USB連接成功。

④ 請教如何提升app的許可權,root許可權

方法如下:
方法一:
1、在手機的應用中心搜索一鍵ROOT工具。
2、挑選後進行下載。
3、下載安裝完畢後運行軟體,點擊一鍵獲取ROOT。
方法二:
1、數據線連接電腦。
2、下載root工具,然後等待軟體識別手機。
3、然後點擊獲取ROOT,工具一般會提供多種方法。
4、工具會自動進行獲取,按照提示進行即可。

注意:雖然獲取許可權後可以自己進行各種操作,但是極易造成手機性能上的缺陷或系統上的不穩定,同時失去保修的機會,建議不要獲取ROOT許可權。

⑤ 如何主動授予app root許可權

可以去魅族官方論壇 這款手機開發root許可權 好像是這樣的

⑥ Android的一個APP需要獲取root許可權,如何實現比較好

你沒有嘛?印象中的g3通常都有這個root許可權的。
如果沒有,直接去下版載歐洲的權ruu,並做金卡後再直接刷機。刷機成功後有root
root完成後,再直接去下載安桌網里的那個getroot.apk安裝,安裝成功後再刷改版固件
刷機完成後你就有root許可權
不過另一個你完全沒需要的root許可權的ruu也是有的
就是2.1固件發布了。你不知道嗎?ruu_hero_htc_asia_hk_wwe_3.34.721.1_r_radio_63.18.55.06p_6.35.15.14_release_signed.exe
你搜索這個就有了。即可下載並刷機
刷完後,你一般的軟體都不需要許可權。別給自己折騰

⑦ 為什麼會出現應用經常申請使用root許可權我每次都點同意,但是過一會又申請使用

您好!
根據您的描述,
您手機成功獲得許可權時,
所有已下載的App都要各自申請Root許可權,
否則不能自啟及後台運作!
每App只會申請一次。
您發現不停有App申請使用許可權,
原因是因為您有新下載的Apps,
或有Apps未處理許可權。
放心, 選 no都可以的!選了便不會再pop up。
真是一勞永逸的。

希望這能幫到您 !!

閱讀全文

與app請求root許可權相關的資料

熱點內容
怎麼開網路教學 瀏覽:915
630升級工程武器 瀏覽:936
用換機助手接收的軟體文件在哪找 瀏覽:282
閱達app一教一輔五年級有哪些 瀏覽:7
win10系統用f2調節音量 瀏覽:19
壓縮文件密碼器 瀏覽:840
線下活動數據分析有哪些 瀏覽:314
助聽器插片式編程線如何連接 瀏覽:293
怎麼刪除系統休眠文件 瀏覽:914
搜索文件內容中包含的文字並替換 瀏覽:542
微信相冊程序圖標 瀏覽:714
win8怎麼顯示文件格式 瀏覽:547
文件伺服器中毒 瀏覽:721
如何修改網站訪問次數 瀏覽:518
mdfldf是什麼文件 瀏覽:569
文件在桌面怎麼刪除干凈 瀏覽:439
馬蘭士67cd機版本 瀏覽:542
javaweb爬蟲程序 瀏覽:537
word中千位分隔符 瀏覽:392
迷你編程七天任務的地圖怎麼過 瀏覽:844

友情鏈接