[改正]Android 7 正式版可能将于 8 月 22 日推送到亲儿子

2016-08-19 01:07:42 +08:00
 honeycomb

Huawei Nexus 6P August 22 Android N Update

LG Nexus 5X August 22 Android N Update

android central 有一条新闻,说 telus 的官方论坛表示 5x 和 6p 会收到 Android N 的更新 显然这个 Android N 肯定是 Android 7 的第一个正式版

来源:

http://www.androidcentral.com/android-70-nougat-likely-releasing-august-22

http://forum.telus.com/t5/Mobility/Software-Update-Schedule/ta-p/53566

对付那些喜欢非必要地占后台的可能不需要的软件(PUAs), Android 7 提供了一个很好的 AppOps OP 也就是

RUN_IN_BACKGROUND

打开 adb shell 然后输入:

appops set [package name] RUN_IN_BACKGROUND ignore

[package name]是应用的包名。 这么做会让隐式启动的 Service 无法运行,后台类型的 Service 也会在离开应用后几分钟内,被系统杀掉。大致在微信上测试了下,确实有效果。

还有一个从 Android 6 开始就可使用的:

appops set [package name] OP_READ_PHONE_STATE ignore

可以解决那些拿不到电话权限便强退的 PUA 此外,电话权限对应了数个 OP 。

OP_READ_PHONE_STATE

只是其中一个,其它还有

CALL_PHONE

等。此外,有一个叫

WAKE_LOCK

的 OP 实际上是没有用的,只是做了审计,具体可以看 Android 的源代码

前面那个帖子多次穿越,语无伦次,非常抱歉。

14547 次点击
所在节点    Android
49 条回复
honeycomb
2016-08-19 15:03:29 +08:00
@fyooo 啊,你是希望让它能发短信但不能收 /查看短信数据库的内容?

这样的话确实需要 appops 的细分设置了而且在 appops 设置好后,再到权限机制里允许短信权限( appops 和权限机制的设定部分是串联的,即在运行时权限机制部分放行整个短信权限,但在 appops 部分阻止短信权限的一部分)
fyooo
2016-08-19 15:12:59 +08:00
@honeycomb 不是啦,可能刚才没有表达好。

我是希望通过一些设置可以使得 android 可以跟 iOS 一样,除了默认的短信应用 messenger ,其他 app 一律默认没有读取短信,电话,通讯录的权限。
fyooo
2016-08-19 15:18:23 +08:00
不过应该有批量处理的方法,比如

1.用 adb shell 'pm list packages -3' 列出所有第三方的 app 的名字。
2.adb shell dumpsys package PACKAGENAME |grep permission 枚举每一个 app 的权限
3.如果有发现 app 滥用了,就 appops set [package name] OP_READ_PHONE_STATE ignore 教育它

不知道有没有开源的项目做了上面的事情呢?有的话就不用造轮子了。
fyooo
2016-08-19 15:28:49 +08:00
有趣的是发现没有限制读取短信的指令

拿权限大户微信做试验: adb shell dumpsys package com.tencent.mm |grep permission
返回
runtime permissions:
android.permission.READ_SMS: granted=true
...
android.permission.READ_PHONE_STATE: granted=true
...

然后
$ adb shell appops set com.tencent.mm OP_READ_SMS ignore
Error: Unknown operation string: OP_READ_SMS
$ adb shell appops set com.tencent.mm OP_READ_PHONE_STATE ignore
$

结论:
OP_READ_PHONE_STATE 成功,但是自己拼凑出来的指令 OP_READ_SMS 则失败。
honeycomb
2016-08-19 15:29:59 +08:00
@fyooo 确实值得为此做一个 app 。
fyooo
2016-08-19 15:56:11 +08:00
哦,刚刚 google 一下,发现短信相关的权限设置应该是 adb shell appops set com.tencent.mm READ_ICC_SMS ignore
honeycomb
2016-08-19 16:44:11 +08:00
@fyooo 源代码的 AppopsManager.java 里有说明的
lsmgeb89
2016-08-20 03:38:14 +08:00
手持 6P ,但不知道国外大厂的 App 兼容情况怎么样了?
dvorak
2016-08-20 16:14:31 +08:00
@honeycomb 能请教下具体的测试方法吗,我测试了淘宝和百度云,即使 set ignore ,也还可以看到服务在运行。
honeycomb
2016-08-20 21:55:34 +08:00
@dvorak
这个 OP 似乎不会限制前台 service ,或者是处于 bound 状态的


我只找到了一个关于这个 OP 的说明:
“ They have an adb command that will make the app stop receiving Implicit Broadcasts that are registered statically, and also impose a timeout on Background Services when the app is in the background ”

这里“ Background Services ”显然不包括前台 Service ,可能也不包括 bound service

https://oneprogrammingtip.wordpress.com/2016/04/11/getting-your-apps-ready-for-android-n-background-optimization/


在 Android 7 DP5 及以前的 Android 有一个一直没有解决的 bug ,应用可以发起一个前台 service 并不显示通知(前台 service 本被设计为不允许出现这种情况)。但是这个 bug 目前已经被标注为 releaseFuture ,所以有可能会出现在 22 号的更新
dvorak
2016-08-21 12:59:07 +08:00
@honeycomb 多谢指教
int64ago
2016-08-22 11:41:34 +08:00
所以 已经 22 号了,按照时差算,美国也基本 22 号了
zhxhwyzh14
2016-08-22 17:30:52 +08:00
这个相当于 组织运行的功能啦?
zhxhwyzh14
2016-08-22 17:31:06 +08:00
@int64ago 咋也得等人家上班吧。。
janeyee110
2016-08-22 19:06:53 +08:00
估计明天,今天并没有收到 7.0 的推送。
honeycomb
2016-08-23 01:12:30 +08:00
@zhxhwyzh14

见 30 楼,是有限的限制。

相比之下,这个 managed profile 新增的特性比较有用:

Work mode: Work mode allows you to turn on and off your device's work apps and notifications for a better work, life balance.

意味着 Oasisfeng 的新应用 island 可以加入在某种程度比冰箱 /阻止运行更好的解决方案:

1 ,那些不令人喜爱的应用会老实地呆在额外地 managed profile 沙盘里,无法访问外界的任何用户数据
2 ,为了让它们没有后台运行,直接“ turn off your device's work apps ”即可

注: Android for work 使用了 Android 5.0 新增的 managed profile 特性
int64ago
2016-08-23 07:13:32 +08:00
caiych
2016-08-23 11:21:25 +08:00
@honeycomb Island 刚出的时候给 oasis 写过 feedback 问会不会加一个按钮停掉所有 Work Profile 中的 App
结果现在 Android 有这个 feature 了…
honeycomb
2016-08-24 00:17:57 +08:00
@caiych 有可能它们是同一个东西
BROWNURSIDAE
2016-08-28 15:32:38 +08:00
@honeycomb 所以打算做一个有 gui 的吗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/300304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX