如何正确地在Android手机上安装国产软件?(2)

对于TouchWiz系统,我们可以利用KNOX Standard SDK的机制冻结应用(包括系统应用),常见的利用这一机制的软件包括“空调狗”、“冻住”,它们都可以做到应用使用后立即冻结,从根源拒绝“关联启动”等流氓行为,只可惜这一机制只针对三星系列手机。



 

隐私方面,可以通过AppOps将部分权限设置为ignore。实际上AppOps在Android 4.4.2之前是集成在系统中的,4.4.2之后,Google不知处于何种想法将其从系统中移除了,系统自身没有权限进行管理。上文中所使用的AppOps是以root为前提的。如果手机没有root,只有两种相对比较麻烦的方法,两种方法都需要电脑端操作。

一是通过电脑端adb进行设置:

  adb shell appops set包名权限名称ignore

其中权限名称包括:

READ_CONTACTS 读取联系人

  POST_NOTIFICATION 通知

  CALL_PHONE 拨打电话

  READ_SMS 读取短信

  WRITE_SMS 写入短信

  RECEIVE_SMS 接收短信

  OP_READ_PHONE_STATE 读取设备ID(包括IMEI)

  FINE_LOCATION 定位权限

  COARSE_LOCATION 定位权限

  VIBRATE 震动

  CAMERA 摄像头

  WRITE_CLIPBOARD 写入剪切板

  READ_EXTERNAL_STORAGE 读取外部存储空间

  WRITE_EXTERNAL_STORAGE写入外部存储空间

  BOOT_COMPLETED 开机时启动

  GET_ACCOUNTS 获取设备账号信息

第二种方法是使用App Ops手机端软件,在免root模式下,App Ops使用远程adb进行权限控制,而远程adb仍然需要在电脑端开启:adb tcpip 5555,将端口号5555输入App Ops即可使用。但需要注意的是,重启后需要重新开启远程adb。

然而,想要完全将流氓软件隔离开来,我们要用到类似“沙盒”的机制。好在Android自从5.0以后就加入了Android for Work功能,功能的初衷是为了让大家在工作时能够使用自己的私人设备,通过Android for Work,我们可以建立“个人”和“工作”两套档案,工作档案由企业的IT管理员管理,为了安全起见,在两套方案中的应用无法互相访问,应用数据存储的区域其实也是不一样的,Island中的/data目录、内置存储空间、通话记录、联系人、日历等数据是与原用户独立的。

利用这种思路,我们也可以将这套机制用来对付流氓应用,将应用安装到工作档案后,它就无法获取到个人档案的应用和数据。Island就是利用Android for Work将流氓应用隔离在“岛”上的应用,这款软件与绿色守护出自同一作者,通过上述方式来实现类似沙盒的效果。

除了沙盒,Island还自带了冻结应用的功能。然而,使用了Island中自带的冻结功能后再次解冻时,该应用的AppOps状态就会被恢复到初始状态(也就是允许所有权限)需要重新设置权限。如上文所说,进行AppOps设置的两种方法都需要用到电脑,因此冻结后再解冻软件需要重新设置权限的成本较高。



 

接下来我们就在沙盒环境内解决唤醒和隐私的问题。

唤醒问题我们可以通过在Island中安装绿色守护来解决。尽管是在非root环境下,它依然能够强制关闭程序(原理是通过Android辅助功能模拟点击“强制停止”程序)。建议开启“嗜睡模式”,它能够部分禁止应用的后台行为,该模式利用的是Android 6.0引入的Doze Mode。在睡眠状态下,系统将停止一些软件运行,例如一些非即时通讯软件的后台就会在锁屏的状态下被Android清理掉。从而达到节省电量、延长续航时间的作用。绿色守护中的“嗜睡模式”会将进入Doze Mode的时间缩短,从而进一步节省电量。



 

而隐私问题则可以通过在沙盒中安装App Ops来控制,或者同样地,可以通过电脑端adb操作,但需要注意的是由于沙盒实际上是在Android中使用了多用户,因此需要在参数中指定用户:

adb shell pm list users

  adb shell appops get com.eg.android.AlipayGphone --user XX



 

除了上述方案,笔者最近还发现了一款名叫“容器”的应用。



 

与Island的思路完全不同,该应用利用的是VirtualApp和文件夹重定向。VirtualApp会在你的App内创建一个虚拟空间,你可以在虚拟空间内任意的安装、启动和卸载APK,这一切都与外部隔离,如同一个沙盒。目前“容器”尚在开发中,但按照作者的说法,今后会加入隐私、权限的控制和应对流氓行为的功能。

  总结

要想解决流氓app的唤醒和隐私读取问题,Xposed平台和Root后的手机上有各种简单的方案,包括Greenify与XPrivacy,而非root环境下则相对困难,我们可以使用Island创造Android for Work环境,我们可以把这环境看作沙盒,将应用安装在沙盒内,应用的启动问题则通过Android 6.0后引入的Doze Mode来解决。

想这么多方法来安装国产App,一方面是为了设备保持流畅的状态,不至于被各种唤醒的应用长期占据内存和耗电,另外也考虑到隐私问题。折腾安装国产应用,实际上是无奈之举,也希望国内的Android生态能够良性发展。

(责任编辑:安博涛)

分享到:

更多
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
  • 微笑/wx
  • 撇嘴/pz
  • 抓狂/zk
  • 流汗/lh
  • 大兵/db
  • 奋斗/fd
  • 疑问/yw
  • 晕/y
  • 偷笑/wx
  • 可爱/ka
  • 傲慢/am
  • 惊恐/jk
用户名: 验证码:点击我更换图片
资料下载专区
图文资讯

2017年5个最佳网络监控工具 你知道哪些

2017年5个最佳网络监控工具 你知道哪些

网络支撑着现代企业的IT基础设施,连接着电脑与平板电脑和手机、服务器及其他关键硬件...[详细]

这个简单方案可以防御下一个“震网”病毒的

这个简单方案可以防御下一个“震网”病毒的出现

新加坡和印度的科学家表示,全球最老编程风格之一,运行在工业可编程逻辑控制器(PLC)...[详细]

如何正确地在Android手机上安装国产软件?

如何正确地在Android手机上安装国产软件?

国产软件往往会申请与之功能不符的权限,读取着用户手机信息,开机后就驻足系统,这些...[详细]

担心会遇到勒索软件?用用这六款免费的勒索

担心会遇到勒索软件?用用这六款免费的勒索解密工具吧

你曾担心会遇到勒索软件?那么其实你并不孤单。告诉你一个好消息:安全专家和执法部门...[详细]

怎么样给路由器提升网速

怎么样给路由器提升网速

怎么样给路由器提升网速。十年前我们还在换算56K下载一首MP3要多久,十年后的我们经常...[详细]

返回首页 返回顶部