當前位置:首頁 » 文件傳輸 » 安卓包訪問許可權
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

安卓包訪問許可權

發布時間: 2022-08-11 15:18:43

A. android系統怎麼設置內部存儲訪問許可權

Android支持外部存儲(case-insensitive filesystem with immutable POSIX permission classes and modes)。

外部存儲可以通過物理介質提供(如SD卡),也可以通過將內部存儲中的一部分封裝而成,設備可以有多個外部存儲實例。訪問外部存儲的許可權
從Android 1.0開始,寫操作受許可權WRITE_EXTERNAL_STORAGE保護。

從Android 4.1開始,讀操作受許可權READ_EXTERNAL_STORAGE保護。

從Android 4.4開始,應用可以管理在它外部存儲上的特定包名目錄,而不用獲取WRITE_EXTERNAL_STORAGE許可權。

比如,一個包名為com.example.foo的應用,可以自由訪問外存上的Android/data/com.example.foo/目錄。外部存儲對數據提供的保護較少,所以系統不應該存儲敏感數據在外部存儲上。

特別地,配置和log文件應該存儲在內部存儲中,這樣它們可以被有效地保護。對於多用戶的情況,一般每個用戶都會有自己獨立的外部存儲,應用僅對當前用戶的外部存儲有訪問許可權。Environment API的目錄
getDataDirectory():用戶數據目錄。

getDownloadCacheDirectory():下載緩存內容目錄。getExternalStorageDirectory():主要的外部存儲目錄。

但是這個目錄很可能當前不能訪問,比如這個目錄被用戶的PC掛載,或者從設備中移除,或者其他問題發生,你可以通過getExternalStorageState()來獲取當前狀態。

還有多用戶或者多外部存儲的情況,此文不再討論。為了不污染用戶的根命名空間,一般不會直接使用這個外部存儲的根目錄。

任何應用私有的文件的應該被放置在 Context.getExternalFilesDir返回的目錄下,在應用被卸載的時候,系統會清理的就是這個目錄。

另一些共享文件應該被放置在 (String)返回的目錄中。

寫這個路徑需要 WRITE_EXTERNAL_STORAGE許可權,讀需要 READ_EXTERNAL_STORAGE許可權,當然寫許可權默認包含了讀許可權。從KITKAT 即Android 4.4開始,如果你的應用只是需要存儲一些內部數據,可以考慮使用 :

getExternalFilesDir(String)或者getExternalCacheDir(),它們不需要獲取許可權。(String type)這個方法接收一個參數,表明目錄所放的文件的類型,傳入的參數是Environment類中的DIRECTORY_XXX靜態變數,比如DIRECTORY_DCIM等。

注意:傳入的類型參數不能是null,返回的目錄路徑有可能不存在,所以必須在使用之前確認一下,比如使用File.mkdirs創建該路徑。getRootDirectory()得到Android的根目錄。

isExternalStorageEmulated()設備的外存是否是用內存模擬的,是則返回true。(API Level 11)

isExternalStorageRemovable()設備的外存是否是可以拆卸的,比如SD卡,是則返回true。(API Level 9)Context API中的目錄
getExternalFilesDir(String type)是應用在外部存儲上的目錄。

和Environment類的(String type)方法類似,返回包含參數指定的特定類型文件的子目錄。

getExternalCacheDir()是應用的在外部存儲上的緩存目錄。從Android 4.4這兩個方法不需要讀寫許可權,是針對於本應用來說,如果要訪問其他應用的相關目錄,還是需要聲明讀寫許可權。

Android 4.4之前的版本要訪問的話還是要聲明讀寫許可權的,如果沒有在manifest中寫許可權,上面兩個get方法都會返回null。與上面兩個方法形成對比的是下面兩個方法:

getFilesDir()

getCacheDir()

這兩個方法得到的是內存上的目錄。這些目錄都是屬於應用的,當應用被卸載的時候,裡面的內容都會被移除,但是不要依賴於系統的操作。

B. Android 的許可權管理是怎麼實現的

根據用戶的使用過程體驗,可以將 Android 涉及的許可權大致分為如下三類:

(1)Android 手機所有者許可權:自用戶購買 Android 手機後,用戶不需要輸入任何密碼,就具有安裝一般應用軟體、使用應用程序等的許可權;

(2)Android root 許可權:該許可權為 Android 系統的最高許可權,可以對所有系統中文件、數據進行任意操作。出廠時默認沒有該許可權,需要使用 z4Root 等軟體進行獲取,然而,並不鼓勵進行此操作,因為可能由此使用戶失去手機原廠保修的權益。同樣,如果將 Android 手機進行 root 許可權提升,則此後用戶不需要輸入任何密碼,都將能以 Android root 許可權來使用手機。

(3)Android 應用程序許可權:Android 提供了豐富的 SDK(Software development kit),開發人員可以根據其開發 Android 中的應用程序。而應用程序對 Android 系統資源的訪問需要有相應的訪問許可權,這個許可權就稱為 Android 應用程序許可權,它在應用程序設計時設定,在 Android 系統中初次安裝時即生效。值得注意的是:如果應用程序設計的許可權大於 Android 手機所有者許可權,則該應用程序無法運行。如:沒有獲取 Android root 許可權的手機無法運行 Root Explorer,因為運行該應用程序需要 Android root 許可權。


Android 系統許可權定義

Android 系統在 /system/core/private/android_filesystem_config.h 頭文件中對 Android 用戶 / 用戶組作了如下定義,且許可權均基於該用戶 / 用戶組設置。

在 Android 系統中,上述用戶 / 用戶組對文件的訪問遵循 Linux 系統的訪問控制原則,即根據長度為 10 個字元的許可權控制符來決定用戶 / 用戶組對文件的訪問許可權。該控制符的格式遵循下列規則:

第 1 個字元:表示一種特殊的文件類型。其中字元可為 d( 表示該文件是一個目錄 )、b( 表示該文件是一個系統設備,使用塊輸入 / 輸出與外界交互,通常為一個磁碟 )、c( 表示該文件是一個系統設備,使用連續的字元輸入 / 輸出與外界交互,如串口和聲音設備 ),「.」表示該文件是一個普通文件,沒有特殊屬性。

2 ~ 4 個字元:用來確定文件的用戶 (user) 許可權;

5 ~ 7 個字元:用來確定文件的組 (group) 許可權;

8 ~ 10 個字元:用來確定文件的其它用戶 (other user,既不是文件所有者,也不是組成員的用戶 ) 的許可權。

第 2、5、8 個字元是用來控制文件的讀許可權的,該位字元為 r 表示允許用戶、組成員或其它人可從該文件中讀取數據。短線「-」則表示不允許該成員讀取數據。

第 3、6、9 位的字元控制文件的寫許可權,該位若為 w 表示允許寫,若為「-」表示不允許寫。

第 4、7、10 位的字元用來控制文件的製造許可權,該位若為 x 表示允許執行,若為「-」表示不允許執行。

舉個例子,「drwxrwxr--2 rootroot40962 月 11 10:36 lu」表示的訪問控制許可權(黑色字體標明)為:因為 lu 的第 1 個位置的字元是 d,所以由此知道 lu 是一個目錄。第 2 至 4 位置上的屬性是 rwx,表示用戶 root 擁有許可權列表顯示 lu 中所有的文件、創建新文件或者刪除 lu 中現有的文件,或者將 lu 作為當前工作目錄。第 5 至 7 個位置上的許可權是 rwx,表示 root 組的成員擁有和 root 一樣的許可權。第 8 至 10 位上的許可權僅是 r--,表示不是 root 的用戶及不屬於 root 組的成員只有對 lu 目錄列表的許可權。這些用戶不能創建或者刪除 lu 中的文件、執行 junk 中的可執行文件,或者將 junk 作為他們的當前工作目錄。


Android 應用程序許可權申請

每個應用程序的 APK 包裡面都包含有一個 AndroidMainifest.xml 文件,該文件除了羅列應用程序運行時庫、運行依賴關系等之外,還會詳細地羅列出該應用程序所需的系統訪問。程序員在進行應用軟體開發時,需要通過設置該文件的 uses-permission 欄位來顯式地向 Android 系統申請訪問許可權。

C. android 獲取文件訪問許可權 用chmod命令可以設置某個文件的訪問許可權,但如

完全錯誤用戶有沒有訪問許可權看他的組 和文件許可權比如 你chmod 777 /test他的許可權就是 rwxrwxrwx前3個是用戶 (文件擁有者)中間3個是組許可權後面是其他許可權如果你想讓任何人都不能訪問這個文件 只有aaa 能訪問可以設置ACL (控制訪問列表)比如/test 的許可權是rw------- root root 如果你還想讓aaa訪問可以用setfacl命令 不打字了 你多man吧。。

D. 安卓11怎麼解除文件訪問限制

在手機設置的「安全和隱私」選項中取消即可。

1、在手機桌面上找到「設置」,打開設置。如下圖所示:

E. 安卓應用包訪問許可權幫助程序。這個能刪除嗎有什麼用

這個你可以理解是一個幫你監控你手機上所有程序的軟體,就是記錄了手機程序利用許可權的次數以及時間還有提示

F. 在android AndroidManifest.xml文件中怎樣設置訪問網路的許可權

Android訪問網路的許可權是android.permission.INTERNET。
聲明許可權的方式:
第一步:打開 AndroidManifest.xml文件
第二步:在application節點之前增加<uses-permission android:name=」android.permission.INTERNET」></uses-permission>
代碼中需要通過Thread來訪問網路,UI線程連接網路Android會拋出異常。

資料拓展:

Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的操作系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。

G. 如何解除vivo安卓11文件訪問許可權

若是指進入【文件管理--手機存儲--Andriod--data/obb】,提示:因Android許可權限制,無法訪問此目錄,建議前往「文件」應用查看的現象,由於安卓系統安全機制升級,基於消費者的隱私和信息安全,應用產生的數據不允許文件管理直接訪問,建議點擊「前往查看」跳轉到谷歌原生文件管理界面查看相關文件。進入谷歌原生文件管理界面後,如果文件夾名稱尾部顯示」...「導致無法識別出文件夾名稱,可以點擊頁面右上角的方形網格圖標,切換成列表顯示,如果身邊有電腦,建議暫時通過數據線連接電腦與手機,手機端選擇:管理文件,通過電腦訪問手機存儲目錄,即可進入相應目錄查看文件。
註:【文件管理--常用分類】中,QQ、微信、釘釘軟體進行了單獨分類,如果需要查看這些軟體下載的圖片、視頻等資料,可進入這些分類查看。