導航:首頁 > 操作系統 > androiddata許可權不夠

androiddata許可權不夠

發布時間:2022-05-22 12:01:50

❶ 安卓11 obb和data文件夾無權訪問怎麼解決

將安卓obb文件復制到 /storage/emulated/0/android/obb/com.ea.game.pvz2_row/ 裡面,路徑正確,就可以使用。 通常在游戲開始前,程序會自動將 obb解包/sdcard/Android/obb 目錄下。

安卓(Android)是一種基於linux內核(不包含GNU組件)的自由及開放源代碼的操作系統。主要使用於移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。

系統結構

1、系統內核

Android 為了達到商業應用,必須移除被GNU GPL授權證所約束的部份,例如Android將驅動程序移到 Userspace,使得Linux driver 與 Linux kernel徹底分開。

2、硬體抽像層

Android 的HAL(硬體抽像層)是能以封閉源碼形式提供硬體驅動模塊。HAL 的目的是為了把 Android framework 與 Linux kernel 隔開,讓 Android 不至過度依賴 Linux kernel。

3、中介軟體

操作系統與應用程序的溝通橋梁,應用分為兩層:函數層(Library)和虛擬機(Virtual Machine)。 Bionic是 Android 改良libc的版本。Android 同時包含了Webkit,所謂的Webkit 就是Apple Safari 瀏覽器背後的引擎。

❷ 小米安卓11data訪問限制如何解決

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

第一步、在小米手機桌面上找到「設置」,打開設置,如下圖所示。

❸ iqoo8 Android>data 許可權訪問限制

摘要 1、打開手機,然後進入手機設置。

安卓系統開發者許可權不足

Android系統是運行在Linux內核上的,Android與Linux分別有自己的一套嚴格的安全及許可權機制,很多像我這樣的新手,尤其是習慣了windows低安全限制的用戶,很容易在這方面弄混淆,下面是我總結的Android系統許可權相關的內容,作為這段時間對and roid許可權學習的總結,也希望能對大家有所幫助,不正確之處請指出。

首先分清兩個概念:要區分apk運行時的擁有的許可權與在文件系統上被訪問(讀寫執行)的許可權兩個概念,apk程序是運行在虛擬機上的,對應的是Android獨特的許可權機制,只有體現到文件系統上時才使用linux的許可權設置。

(一)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到底是怎樣實現它的機制的)
(3)默認apk生成的數據對外是不可見的實現方法是:Android會為程序存儲的數據分配該程序的UserID。藉助於Linux嚴格的文件系統訪問許可權,便實現了apk之間不能相互訪問似有數據的機制。例:我的應用創建的一個文件,默認許可權如下,可以看到只有UserID為app_21的程序才能讀寫該文件

<1> 使用MODE_WORLD_READABLE and/or MODE_WORLD_WRITEABLE 標記。
(4)AndroidManifest.xml中的顯式許可權聲明Android默認應用是沒有任何許可權去操作其他應用或系統相關特性的,應用在進行某些操作時都需要顯式地去申請相應的許可權。一般以下動作時都需要申請相應的許可權:
在應用安裝的時候,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錯誤。系統認為比較重要的文件一般許可權設置的也會比較嚴格,特別是一些很重要的(配置)文件或目錄
dbus.conf好像是藍牙的配置文件,從許可權上來看,根本就不可能改動,非bluetooth用戶連讀的權利都沒有。/data目錄下存的是所有程序的私有數據,默認情況下android是不允許普通apk訪問/data目錄下內容的,通過data目錄的許可權設置可知,其他用戶沒有讀的許可權。所以adb普通許可權下在data目錄下敲ls命令,會得到opendir failed, Permission denied的錯誤,通過代碼file.listfiles()也無法獲得data目錄下的內容。

❺ oppoandroid data訪問受限怎麼辦

應用許可權的設置方法

應用許可權在哪,應用許可權怎麼管理?我們下載的很多APP,在使用過程中,需要我們開啟一些許可權,比如:位置信息、簡訊、相機、電話、存儲空間等等。那麼在哪裡開啟,或者,有些我們開啟後的許可權又想要關閉,怎麼操作呢?接下來我們就來介紹下應用許可權的設置方法。

1、「手機管家」APP中許可權管理
進入「「手機管家」APP > 許可權隱私 > 許可權管理(應用許可權)」,根據實際需求設置應用許可權。

2、設置中許可權管理
ColorOS 12及以上版本:進入手機「設置 > 許可權與隱私 > 許可權管理」,根據實際需求設置應用許可權。

ColorOS 11.0-11.3版本:進入手機「設置 > 隱私(應用管理) > 許可權管理」,根據實際需求設置應用許可權。

ColorOS 7.0-7.2版本:進入手機「設置 > 安全(應用管理)> 應用許可權」,根據實際需求設置應用許可權。

3、單個應用許可權管理
單獨設置桌面應用許可權,可長按桌面「應用圖標 > 點擊「應用信息(詳情)」 > 應用許可權」,根據實際需求設置應用許可權。

溫馨提示:
若單個應用之前未請求任何許可權時,無法通過長按應用圖標方式設置應用許可權。需通過「手機管家」APP或手機設置中開啟或關閉應用許可權。

本回答適用於OPPO全系機型。

❻ 安卓data訪問限制怎麼解除

可以在文件管理器中找到安卓文件,對data文件夾進行添加書簽的操作,來解除data訪問限制。

1、首先打開手機上的文件管理器,點擊Android文件夾。

❼ OPPOAndroiddata訪問受限怎麼辦

摘要 親,你好

❽ 安卓11解除data許可權

咨詢記錄 · 回答於2021-10-21

❾ 我用的是vivo z1x,打開文件管理系統數據,Data,他說安卓許可權影響無法打開是什麼原因

經確認該情況是由於谷歌在安卓11的功能上進行了部分更改,所以在對Andriod路徑下的「data」,「obb」等目錄進行操作時會出現此提示,並非手機異常,手機端暫不支持操作,建議可嘗試通過數據線連接電腦,開啟USB調試,選擇管理文件,然後對該文件夾進行操作。
溫馨提示:需進入設置--系統管理--關於手機--(版本信息)--軟體版本號或進入設置--我的設備--更多參數,連續點擊軟體版本號7次,再進入設置--系統管理--開發者選項--進入開啟USB調試。
★部分機型需進入設置--更多設置--關於手機--(版本信息)--連續點擊軟體版本號7次後,再進入設置--更多設置的最底部找到「開發者選項」,進入開啟USB調試;

❿ Androi開發,應用程序需要往/data/local/tmp/內寫入數據,許可權不夠,怎麼解決,很著急的。謝謝

查看這個Stack Overflow上的帖子,

《Android: Permission denied for /data/local/tmp/*》網頁鏈接

這裡面說了曾經可以,而現在可以通過在/data/data/包名目錄下執行,原文引文如下

If I understand the scenario correctly, you create the script on the fly, and use/data/local/tmpas an easy location that is both publicly writable and executable. Once, this was possible. But on recent versions of Android, security has been tightened.

Your app can execute files under/data/data/${your.package}. You can usegetContext().getFilesDir()to reliably obtain the full path. Note that you still need to usechmod 500to ensure that the file hasexecutablepermission.

總的來說,如果要動態釋放so或者sh然後執行,解決方案是不在/data/local/tmp中釋放,而放到getContext().getFilesDir()獲取到的/data/data/${your.package}目錄中執行,記得釋放後手工加上運行許可權

我是剛剛遇到這個問題搜索到這里的,貼在這里方便後來人

閱讀全文

與androiddata許可權不夠相關的資料

熱點內容
javajunit4for 瀏覽:843
華為伺服器如何進陣列卡配置 瀏覽:433
apache伺服器ip地址訪問 瀏覽:718
如何買到安卓手機預裝軟體 瀏覽:537
冤罪百度雲不要壓縮 瀏覽:85
蘇州雲存儲伺服器 瀏覽:173
解壓收納原聲 瀏覽:384
java注冊驗證 瀏覽:374
火花app怎麼上推薦 瀏覽:980
什麼app能游戲投屏到電視上 瀏覽:455
伺服器託管到雲端是什麼意思 瀏覽:835
app保存草稿怎麼用 瀏覽:808
安卓如何進入proumb 瀏覽:144
主機虛擬雲伺服器 瀏覽:619
刪除分區加密的空間會不會恢復 瀏覽:706
京東app客戶上門怎麼看搜索量 瀏覽:741
怎麼在農行app購買黃金 瀏覽:46
c型開發板和單片機 瀏覽:146
虛擬機建立用戶的模板文件夾 瀏覽:904
無錫代碼編程培訓班 瀏覽:632