对于一些安卓APP来说,获取相关权限是必要的 *** 作。比如微信如果要使用“语音”功能,就必须给它麦克风的权限,支付宝如果想要用“扫一扫”支付的话,就必须给它摄像头的权限。一般情况下,大部分APP都会要求摄像头、麦克风、读写存储空间、定位这几个权限,如果不给于这些常用权限的话,APP可能就无法正常工作了。但是,并非所有的权限都是必要的。比如“联系人列表”、“短信”、这两个权限就比较隐私,甚至涉及到用户安全。但是绝大多数APP仍然会要求读取手机的联系人列表或者短信。一些APP拥有正当的理由,比如微信如果不读取联系人列表的话,就无法使用通讯录添加好友的功能。一些日程管理软件如果不能读取用户短信的话,也就没办法使用日程提醒功能了。其实现在安卓系统的权限管理已经非常完善,应用软件需要用到哪些权限在系统设置中都可以看到。用户也可以根据实际需要,禁用某款应用的敏感权限。
对于一些不获得敏感权限就不能正常打开的安卓应用软件,就需要用户自己权衡利弊了。比如有的应用软件明明没有社交功能,却要求读取联系人权限,不给它这个权限的话就无法打开应用,这显然是不合理的。对于这种某名奇妙要求隐私权限的应用,个人的建议是不要用它。现在网上有很多安卓软件打着“免费”的旗号来套取用户的个人信息,虽然这些应用软件可能的确会提供一些免费的福利,但它最终的目的还是为了套取用户的手机号码,甚至读取联系人列表以及短信内容。要知道一个正常用户的手机里可能保存了上百条亲朋好友****,一旦这些****被泄露,各种广告推销电话,甚至诈骗电话就会接踵而来。
有的网友可能有这样的经历:自己明明很注重手机隐私安全,绝不轻易泄露自己的号码,应用软件都是从正规应用市场下载的,也禁止这些软件读取手机电话号码。但即使这样,仍然会时不时收到各种垃圾短信和推销、诈骗电话,这就是因为你的亲朋好友的手机可能安装了读取联系人列表的应用软件,从而导致的你的手机号码被泄露给了第三方。
现在是所谓的“大数据时代”,各种免费的应用软件在提供了很多便利的同时,也会从用户这里索取它们想要的东西,联系人资料就是最基本的一种。另外比较常见的还有通过收集用户的网页浏览记录甚至聊天记录,来向用户推送精准的广告信息。对于一般用户而言,这种数据的收集基本上是防不胜防的,我们能做的就是提高警惕,避免因为隐私的泄露而导致更进一步的损失。
Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,很多像我这样的新手,尤其是习惯了windows低安全限制的用户,很容易在这方面弄混淆,下面是我总结的Android系统权限相关的内容,作为这段时间对and roid权限学习的总结,也希望能对大家有所帮助,不正确之处请指出。
首先分清两个概念:要区分apk运行时的拥有的权限与在文件系统上被访问(读写执行)的权限两个概念,apk程序是运行在虚拟机上的,对应的是Android独特的权限机制,只有体现到文件系统上时才使用linux的权限设置。
(一)linux文件系统上的权限-rwxr-x--x system system 4156 2010-04-30 16:13 testapk代表的是相应的用户/用户组及其他人对此文件的访问权限,与此文件运行起来具有的权限完全不相关。比如上面的例子只能说明system用户拥有对此文件的读写执行权限;system组的用户对此文件拥有读、执行权限;其他人对此文件只具有执行权限。而testapk运行起来后可以干哪些事情,跟这个就不相关了。
千万不要看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打破前面讲的这种壁垒。在AndroidManifestxml中利用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)AndroidManifestxml中的显式权限声明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中可明显看到权限不足的提示。此种情况一般是AndroidManifestxml中缺少相应的权限设置,好好查找一番权限列表,应该就可解决,是最易处理的情况。有时权限都加上了,但还是报权限不足,是什么情况呢?Android系统有一些API及权限是需要apk具有一定的等级才能运行的。比如 SystemClocksetCurrentTimeMillis()修改系统时间,WRITE_SECURE_SETTINGS权限 好像都是需要有system级的权限才行。也就是说UserID是system
(2)Log里没有报权限不足,而是一些其他Exception的提示,这也有可能是权限不足造成的。比如:我们常会想读/写一个配置文件或其他一些不是自己创建的文件,常会报javaioFileNotFoundException错误。系统认为比较重要的文件一般权限设置的也会比较严格,特别是一些很重要的(配置)文件或目录
dbusconf好像是蓝牙的配置文件,从权限上来看,根本就不可能改动,非bluetooth用户连读的权利都没有。/data目录下存的是所有程序的私有数据,默认情况下android是不允许普通apk访问/data目录下内容的,通过data目录的权限设置可知,其他用户没有读的权限。所以adb普通权限下在data目录下敲ls命令,会得到opendir failed, Permission denied的错误,通过代码filelistfiles()也无法获得data目录下的内容。
您好,感谢您对金山网络的支持:
我明白您的问题了。
1、金山手机卫士是不能自主获取root权限的,需要连接电脑使用软件root。
2、怎么获取root?连接电脑,选择金山手机助手(左下角)的root大师。
3、不要乱删系统软件哦,同时注意:root后不要卸载授权管理。
希望可以帮到您!微笑为您解答,如果有什么问题还可以继续咨询哦!
如仍有疑问,欢迎您向金山企业知道提问!
如仍有疑问,欢迎您向金山网络企业平台提问
以上就是关于为什么有些安卓软件不获得一些权限就无法打开全部的内容,包括:为什么有些安卓软件不获得一些权限就无法打开、安卓系统开发者权限不足、尊敬的团队,请问:三星SCH-I779Android2.3.6为什么获取Root权限总是失败,要怎样才能获取Root等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)