當前位置:首頁 » 安卓系統 » androidapp許可權

androidapp許可權

發布時間: 2022-08-19 12:31:41

① 為什麼有些安卓軟體不獲得一些許可權就無法打開

對於一些安卓APP來說,獲取相關許可權是必要的操作。比如微信如果要使用「語音」功能,就必須給它麥克風的許可權,支付寶如果想要用「掃一掃」支付的話,就必須給它攝像頭的許可權。一般情況下,大部分APP都會要求攝像頭、麥克風、讀寫存儲空間、定位這幾個許可權,如果不給於這些常用許可權的話,APP可能就無法正常工作了。但是,並非所有的許可權都是必要的。比如「聯系人列表」、「簡訊」、這兩個許可權就比較隱私,甚至涉及到用戶安全。但是絕大多數APP仍然會要求讀取手機的聯系人列表或者簡訊。一些APP擁有正當的理由,比如微信如果不讀取聯系人列表的話,就無法使用通訊錄添加好友的功能。一些日程管理軟體如果不能讀取用戶簡訊的話,也就沒辦法使用日程提醒功能了。其實現在安卓系統的許可權管理已經非常完善,應用軟體需要用到哪些許可權在系統設置中都可以看到。用戶也可以根據實際需要,禁用某款應用的敏感許可權。


現在是所謂的「大數據時代」,各種免費的應用軟體在提供了很多便利的同時,也會從用戶這里索取它們想要的東西,聯系人資料就是最基本的一種。另外比較常見的還有通過收集用戶的網頁瀏覽記錄甚至聊天記錄,來向用戶推送精準的廣告信息。對於一般用戶而言,這種數據的收集基本上是防不勝防的,我們能做的就是提高警惕,避免因為隱私的泄露而導致更進一步的損失。

② 如何管理android手機中app的許可權

一般的安卓手機都是在設置裡面管理app許可權的。 工具:華為榮耀6\安卓5.1\EMUI3.1 進入設置界面 2.在全部設置里找到許可權管理 3.進入應用選項卡 4.設置該應用的各種許可權

③ Android的許可權都有哪些

(一)linux文件系統上的許可權
-rwxr-x--x system system 4156 2010-04-30 16:13 test.apk
代表的是相應的用戶/用戶組及其他人對此文件的訪問許可權,與此文件運行起來具有的許可權完全不相關。
比如上面的例子只能說明system用戶擁有對此文件的讀寫執行許可權;system組的用戶對此文件擁有讀、執行許可權;其他人對此文件只具有執行許可權。
而test.apk運行起來後可以干哪些事情,跟這個就不相關了。
千萬不要看apk文件系統上屬於system/system用戶及用戶組,或者root/root用戶及用戶組,就認為apk具有system或root許可權
(二)Android的許可權規則
(1)Android中的apk必須簽名
這種簽名不是基於權威證書的,不會決定某個應用允不允許安裝,而是一種自簽名證書。
重要的是,android系統有的許可權是基於簽名的。比如:system等級的許可權有專門對應的簽名,簽名不對,許可權也就獲取不到。
默認生成的APK文件是debug簽名的。
獲取system許可權時用到的簽名,見:如何使Android應用程序獲取系統許可權
(2)基於UserID的進程級別的安全機制
大家都知道,進程有獨立的地址空間,進程與進程間默認是不能互相訪問的,是一種很可靠的保護機制。
Android通過為每一個安裝在設備上的包(apk)分配唯一的linux userID來實現,名稱為"app_"加一個數字,比如app_43
不同的UserID,運行在不同的進程,所以apk之間默認便不能相互訪問。
Android提供了如下的一種機制,可以使兩個apk打破前面講的這種壁壘。
在AndroidManifest.xml中利用sharedUserId屬性給不同的package分配相同的userID,通過這樣做,兩個package可以被當做同一個程序,
系統會分配給兩個程序相同的UserID。當然,基於安全考慮,兩個package需要有相同的簽名,否則沒有驗證也就沒有意義了。
(這里補充一點:並不是說分配了同樣的UserID,兩程序就運行在同一進程, 下面為PS指令摘取的,
顯然,system、app_2分別對應的兩個進程的PID都不同,不知Android到底是怎樣實現它的機制的)
User PID PPID
system 953 883 187340 55052 ffffffff afe0cbcc S system_server
app_2 1072 883 100264 19564 ffffffff afe0dcc4 S com.android.inputmethod.
system 1083 883 111808 23192 ffffffff afe0dcc4 S android.process.omsservi
app_2 1088 883 156464 45720 ffffffff afe0dcc4 S android.process.acore
(3)默認apk生成的數據對外是不可見的
實現方法是:Android會為程序存儲的數據分配該程序的UserID。
藉助於Linux嚴格的文件系統訪問許可權,便實現了apk之間不能相互訪問似有數據的機制。
例:我的應用創建的一個文件,默認許可權如下,可以看到只有UserID為app_21的程序才能讀寫該文件。
-rw------- app_21 app_21 87650 2000-01-01 09:48 test.txt
如何對外開放?
<1> 使用MODE_WORLD_READABLE and/or MODE_WORLD_WRITEABLE 標記。
When creating a new file with getSharedPreferences(String, int), openFileOutput(String, int), or openOrCreateDatabase(String, int, SQLiteDatabase.CursorFactory), you can use the MODE_WORLD_READABLE and/or MODE_WORLD_WRITEABLE flags to allow any other package to read/write the file. When setting these flags, the file is still owned by your application, but its global read and/or write permissions have been set appropriately so any other application can see it.
(4)AndroidManifest.xml中的顯式許可權聲明
Android默認應用是沒有任何許可權去操作其他應用或系統相關特性的,應用在進行某些操作時都需要顯式地去申請相應的許可權。
一般以下動作時都需要申請相應的許可權:
A particular permission may be enforced at a number of places ring your program's operation:
At the time of a call into the system, to prevent an application from executing certain functions.
When starting an activity, to prevent applications from launching activities of other applications.
Both sending and receiving broadcasts, to control who can receive your broadcast or who can send a broadcast to you.
When accessing and operating on a content provider.
Binding or starting a service.
在應用安裝的時候,package installer會檢測該應用請求的許可權,根據該應用的簽名或者提示用戶來分配相應的許可權。
在程序運行期間是不檢測許可權的。如果安裝時許可權獲取失敗,那執行就會出錯,不會提示用戶許可權不夠。
大多數情況下,許可權不足導致的失敗會引發一個 SecurityException, 會在系統log(system log)中有相關記錄。
(5)許可權繼承/UserID繼承
當我們遇到apk許可權不足時,我們有時會考慮寫一個linux程序,然後由apk調用它去完成某個它沒有許可權完成的事情,很遺憾,這種方法是行不通的。
前面講過,android許可權是經營在進程層面的,也就是說一個apk應用啟動的子進程的許可權不可能超越其父進程的許可權(即apk的許可權),
即使單獨運行某個應用有許可權做某事,但如果它是由一個apk調用的,那許可權就會被限制。
實際上,android是通過給子進程分配父進程的UserID實現這一機制的。
(三)常見許可權不足問題分析
首先要知道,普通apk程序是運行在非root、非system層級的,也就是說看要訪問的文件的許可權時,看的是最後三位。
另外,通過system/app安裝的apk的許可權一般比直接安裝或adb install安裝的apk的許可權要高一些。
言歸正傳,運行一個android應用程序過程中遇到許可權不足,一般分為兩種情況:
(1)Log中可明顯看到許可權不足的提示。
此種情況一般是AndroidManifest.xml中缺少相應的許可權設置,好好查找一番許可權列表,應該就可解決,是最易處理的情況。
有時許可權都加上了,但還是報許可權不足,是什麼情況呢?
Android系統有一些API及許可權是需要apk具有一定的等級才能運行的。
比如 SystemClock.setCurrentTimeMillis()修改系統時間,WRITE_SECURE_SETTINGS許可權好像都是需要有system級的許可權才行。
也就是說UserID是system.
(2)Log里沒有報許可權不足,而是一些其他Exception的提示,這也有可能是許可權不足造成的。
比如:我們常會想讀/寫一個配置文件或其他一些不是自己創建的文件,常會報java.io.FileNotFoundException錯誤。
系統認為比較重要的文件一般許可權設置的也會比較嚴格,特別是一些很重要的(配置)文件或目錄。

-r--r----- bluetooth bluetooth 935 2010-07-09 20:21 dbus.conf
drwxrwx--x system system 2010-07-07 02:05 data
dbus.conf好像是藍牙的配置文件,從許可權上來看,根本就不可能改動,非bluetooth用戶連讀的權利都沒有。
/data目錄下存的是所有程序的私有數據,默認情況下android是不允許普通apk訪問/data目錄下內容的,通過data目錄的許可權設置可知,其他用戶沒有讀的許可權。
所以adb普通許可權下在data目錄下敲ls命令,會得到opendir failed, Permission denied的錯誤,通過代碼file.listfiles()也無法獲得data目錄下的內容。

④ 安卓手機許可權管理在哪

1)在桌面打開手機【設置】功能,如圖所示;

⑤ 如何限制安卓app許可權

控制許可權當然首推Xposed框架中的XPrivacy

根據我自己歸納,控制許可權的方式大致分為以下幾種:

0. AppOps. 4.3以上系統的原生許可權控制。但是目前官方的Android系統還未開放這項功能,需要自己找工具開啟。(應該是一個Xposed下的工具,所以不如直接用XPrivacy)即使開啟後能控制的范圍也比較有限。

1. 第三方應用。也就是LBE、360這一類XX手機助手,它們的使用門檻最低,但是缺點在於提供的選項比較單一、效率較低在舊機子上明顯卡頓、而且這些軟體發行者本身的可信任程度值得商榷。

2. 強行吊銷應用許可權。包括修改apk文件和CM系統自帶的許可權管理。效率最高,但是有些應用不吃這套,修改後直接閃退,估計是在啟動時會先檢查許可權的完整性(鄙視之)。

3. 也就是這里推薦的 XPrivacy. 基於Xposed框架,直接從虛擬機層面進行操作,具體的原理我不太清楚,但可以肯定效率高於第一類應用。更大的好處在於極為豐富具體的選項,精確控制每一項許可權,還可以用偽造數據等方法確保應用穩定運行。最重要的是完全開源,安全性更高。但有一定的使用門檻,建議至少對Android有基本的了解再使用。

⑥ 安卓系統手機如何設置軟體許可權

若使用的是vivo手機,可參考進入設置--應用與許可權/更多設置--許可權管理--許可權中設置應用的許可權。

⑦ 安卓手機軟體許可權如何設置呀!

您可以通過以下步驟打開手機軟體許可權設置,並通過對此的設置對手機進行許可權設置。

1、手機要開啟或關閉一些軟體的許可權,如關閉手機軟體調用攝像頭,開啟手機軟體的錄音功能(如微信就需要開啟錄音功能才可發語言)等,可以按以下,去設置管理手機軟體的許可權。首先打開手機設置。

⑧ android刪除app許可權

一般的安卓手機都是在設置裡面管理app許可權的。
工具:華為榮耀米\安卓多.受\EMUI曉.受
進入設置界面

電.在全部設置里找到許可權管理

曉.進入應用選項卡

聯.設置該應用的各種許可權

⑨ 安卓手機裝APP時為什麼總會索取那麼多許可權呢

因為他們想獲得一些方面的信息,他們想獲取一些信息,所以讓你給他們那些許可權。

熱點內容
用腳本砍價 發布:2025-01-16 11:04:36 瀏覽:680
公司密碼包括什麼 發布:2025-01-16 11:04:04 瀏覽:544
php批量查詢 發布:2025-01-16 10:43:38 瀏覽:917
適合搭建代理伺服器的雲 發布:2025-01-16 10:42:49 瀏覽:428
我的世界手機版伺服器怎麼注冊 發布:2025-01-16 10:41:30 瀏覽:614
小米雲電視伺服器 發布:2025-01-16 10:37:03 瀏覽:350
php開源wiki 發布:2025-01-16 10:27:19 瀏覽:189
sql加欄位備注 發布:2025-01-16 10:21:49 瀏覽:565
線割編程教程 發布:2025-01-16 10:21:03 瀏覽:18
谷歌瀏覽器緩存刪除 發布:2025-01-16 10:19:36 瀏覽:414