安卓開發的程序怎麼獲取許可權
⑴ 如何使android應用程序獲取system許可權
不論何種系統版本,均需要root許可權。
安卓4.4以下版本的方法:
使用re管理器移動想要獲取system許可權的軟體的apk安裝包到/system/app文件夾,更改許可權為rw-r-r確定後重啟手機。
安卓4.4和以上版本的方法:
使用re管理器移動想要獲取system許可權的軟體的apk安裝包到/system/priv-app文件夾,更改許可權為rw-r-r確定後重啟手機。
備註:安卓系統並不像windows,system許可權(uid1000)並不是最高許可權,僅僅比普通用戶擁有少量的特殊許可權,比如安裝軟體無需彈窗。而系統中最高許可權是root許可權(uid0)。
⑵ 安卓怎麼讓軟體獲得最高許可權
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 許可權。
⑶ Android應用程序怎樣獲取讀取系統文件的許可權
Android應用程序怎樣獲取讀取系統文件的許可權
1、必須是Android系統開發人員,否則你無法修改init.rc等文件。 2、你的應用程序必須要獲得system許可權。
在應用層 你要想用代碼獲得系統文件許可權,除非你手機root了
要麼你自己坐rom。。。。 自己修改 init,rc
具體可以參考這篇博文::blog.sina../s/blog_5f35912f0100w4ld.
怎樣使Android應用程序獲得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
android應用程序獲取了root許可權,依然不能訪問系統data目錄下的文件
- Root後授權Re文件管理器許可權可以訪問。
-
授權管理----允許Re獲取許可權。
-
Root是獲取手機的管理員用戶帳戶,它可以訪問和修改手機操作系統里幾乎所有的文件,這樣操作有可能影響到手機的穩定性,導致出現人為性故障現象,如死機、重啟等。依據「消費者三包規定」Root屬於修改操作系統軟體,不屬於包修范圍李轎。
android應用程序如何獲取View的坐標
public boolean onTouchEvent(android.view.MotionEvent event) { int x = event.getX(); int y = event.getY(); 多點觸摸時 假如是第i個點 int x = event.getX(i); int y = event.getY(i); 坐標就是 P(x,y) }
如何使Android應用程序獲得root許可權
下載並安裝好騰訊手機管家PC版之後,打開該軟體並進入工具箱,你會發現「一鍵ROOT」和「KingRoot」兩款工具。通過USB 將手機同電腦連接後,無論選擇那純液款工具,用戶都可以通過簡單的滑鼠點擊,完成之前難以達成的任務。選擇「一鍵ROOT」按鈕後,應用工具將智能匹配手機系統,尋找最適合該手機的ROOT方案,幾分鍾之後,用戶手機即可成功獲得ROOT許可權。
Android應用程序獲得root許可權
在獲取root許可權後可以批量卸載系統自帶應用
並且可以批量備份,在卸載系統應用之前先備份一次
然後就可以安心卸載系統自帶應用了,
我一直是在用應用寶的手機管理軟體在工具
箱的常用工具中找到一鍵ROOT工具,
點擊啟動該工具便可以輕松的實現手機一鍵ROOT。
此外,你還可以點擊一鍵優化按鈕來優化
手機建議一鍵優化,選擇您需要的單個優化項,如垃圾緩存清理。
你可以嘗試安裝Kingroot授權管理軟體,或者安裝一鍵root大師軟體進行root操作,只要你嘗試root操作,一定可以root成功的。
Root許可權的獲取方式: 1.用手機連接電腦,下載一鍵root工具。 2.下載成功後,打開一鍵ROOT軟體。會出現root准備,點擊下一步,正式開始root。 3.檢查root條件,要是需要文件備份的話,一定要備份後。點擊開始ROOT。 4.root正式開始,需要幾鍾左右時間,期間可能會重啟數次,root就會完成。 5.root完成後,就可以隨意刪除手機中的垃圾應用了包括系統應用。
Android system 要獲取Root許可權, 方法眾多。
例如 : Bai Root, Amazing Root ...都可以
現以 BAIDU ROOT介紹步驟, 操作如下 :
1、機子下載 BAIDU ROOT(APK版)。
2、運作 BAIDU ROOT, 點選 "一鍵獲取Root"。
3、機子 Root 成功了, 自動重啟 。
PS:建議Rooting前備份手機數據。 Rooting過程約需時5min。
你可以試試刷機精靈,蘑菇雲,深度刷機,Z4ROOT,甜椒等等,,,注意ROOT後,必須安裝SUPERUSER,用於許可權的管理,否則將沒有任何作用,,,其實手機端也有很多,你可以到安卓軟體站搜索ROOT,下載並安裝,進行ROOT破解即可,,,不過解決方法會少很多,最好是電腦端ROOT破解。。。。刷機工具,可以到XIAZAIBA下載、。、
⑷ 安卓開發我想獲取System許可權
System許可權需要先獲取ROOT許可權,由於 /system 和 /data都是root用戶的目錄,普通用戶沒有讀寫許可權,需要獲取root許可權才可以,修改。
目前應用市場有非常多的一鍵ROOT工具,這里就不舉例了,功能基本都是一樣的,Root許可權的獲取方式:
1.用手機連接電腦,下載一鍵root工具。
2.下載成功後,打開一鍵ROOT軟體。會出現root准備,點擊下一步,正式開始root。
3.檢查root條件,要是需要文件備份的話,一定要備份後。點擊開始ROOT。
4.root正式開始,需要幾鍾左右時間,期間可能會重啟數次,root就會完成。
5.root完成後,就可以隨意刪除手機中的垃圾應用了包括系統應用。
當你獲取root許可權後通過adb訪問 /system/app目錄:
adb shell 進入shell模式
su 切換到root用戶
chmod 777/system/app修改/system/app目錄的許可權為 777即可
exit 退出root用戶
cd/system/app即可進入/system/app目錄了
獲取root許可權後,將apk復制到/system/app目錄下即可。