安卓

安卓11是有史以来最容易升级的安卓?

我们知道,Google一直为解决系统碎片化问题做努力,力求设备能够升级最新版本的安卓。

安卓8

为此,Google作了很多努力,例如在安卓8.0中推行了Project Treble机制,将系统(Android OS framework)单独分区,和硬件驱动(Vendor implementation)分离,此后厂商可以为设备单独推送新版安卓,而不需要重新适配驱动。

Project Treble将Google的安卓系统框架和硬件供应商提供的驱动作了分离

Project Treble大大简化了安卓系统的升级流程,但这还不够。在安卓10当中,Google推行了Project Mainline,将系统进一步细分模块化。

安卓10

在安卓10中,14个系统组件被Mainline化,媒体解码器、权限控制器、网络组件等系统组件,都可以像普通App一样,通过应用商店来更新——很多朋友发现,今年安卓机的GPU驱动竟然能够独立更新,就得益于此。

安卓11

在安卓11中,Google又进一步对安卓组件进行细分,安卓的组件模块达到了20个之多,安卓的系统维护将会变得前所未有地灵活。

新的系统升级方案

不仅如此,Google还将改制推行到了系统内核当中,安卓的Linux系统内核升级将会变得更加灵活。

在当前的安卓系统中,Linux系统内核升级大体需要经历三个步骤。首先,Google选定一个Linux LTS版本作为安卓内核,打上安卓运行所需要的Patch;

接着,Google将这个内核提交给高通等SoC供应商,供应商再次将其打造成为适配SoC的内核;

最后,三星等设备商再让内核适配不同的元器件,再次为内核打上各种Patch,让内核成为真正可以在安卓机上运行的版本。

Android 11变化:刷机不再变砖?Recovery分区成为历史!

传统的Android系统Linux内核升级流程,需要经由重重环节,非常麻烦

由于步骤繁琐,因此当前的安卓机一旦出厂,Linux内核就很少变动,即使是Google旗下的Pixel设备,内核也依然只是较为老旧的Linux 4.14。

而在安卓11中,情况有所变化,Google将系统内核进行了模块化修改,内核被分成了Generic Kernel Image(GKI)和其他GKI模块。

如果想要升级Linux版本,Google可以直接面向安卓机推送GKI,手机直接升级GKI即可,再也不需要经历从SoC厂商到手机设备厂商的繁琐步骤。

Android 11开始,内核进行了模块化,一个GKI内核可以通用于市面上的大量安卓机

据了解,安卓11的这一特性,在内核版本高于Linux 5.4以上的设备上,是要求强制执行的。

可以说,如果安卓11的设备出厂内核版本就是Linux 5.4以上,那它有可能会是史上最容易升级的安卓。

安卓存储目录文件夹乱象彻底解决?

相信不少人发现,安卓机用久了以后,存储目录下就会多出很多奇奇怪怪的文件夹,这些文件夹是由各种App生成的,这其实是一个历史遗留问题。

安卓机的内部存储目录一度非常小,例如经典的Milestone的ROM只有512M,需要用SD卡扩展存储空间,因此安卓App往往会将文件保存在外部存储目录下(也就是sdcard目录)。

而安卓在4.3版本前并没有提供外部存储目录的规范,App习惯在sdcard目录中随意建立自己的文件夹,这个习惯一直保留到如今。

现在,尽管安卓建立了sdcard目录的存储规范,例如安卓系统规定App如果要在内部存储空间建立文件夹,需要建立到/data/data/目录下,在外部存储空间则需要建立在/sdcard/Android/data/目录下。

然而这一规范并非是强制性的,很多App由于使用第三方SDK等各种各样的原因,视安卓的存储目录规范不见,依然在sdcard目录下自建文件夹,安卓存储目录的混乱由此而来。

在安卓11中,文件夹乱象终于有望得到彻底解决。安卓11将不再允许App在sdcard建目录和文件,APP只能够往特定目录的私人文件夹写入数据。

目前某些APP已经开始为此做准备,例如新版QQ将存储目录从/sdcard/tencent/变更到了/sdcard/Android/data/com.tencent.mobileqq/Tencent/,就是为了适应安卓的存储新机制。

总结

除了上文所提到的,安卓11还有很多非常有意义的更新,例如更强大的隐私保护、改进的通知系统等等,这里就不一一列举了。

总的来说,安卓11是一个从里到外都进行了重大改革的版本,它解决了安卓的很多历史问题,大家共同期待吧。

windows

windows的软件安装

常见安装目录

  • Program Files 通常的软件主体安装目录(一般不包含独特的用户数据)。所有用户都能使用的软件安装在此。

    • Program Files x86后缀代表32位软件
  • ‘$user’/AppData 用户特定的数据。或者只有某个特定用户能使用的软件放这里
    • local 特定于pc 一般无需移动的数据,比如微信的缓存文件
    • local low LocalLow专门存储优先级比较低的程序的文件。因为优先级低的程序没有足够的权限写入到更敏感的位置
    • roaming 漫游的意思 那些当你换电脑的时候 需要和能方便的转移的数据。比如某ide的配置文件

为什么越来越多软件默认安装到appdata

你发现了什么?开始安装界面有什么不同?最大的不同就是安装路径的变化。很多朋友也开始发觉注意到软件安装默认路径变成了AppData下的路径了,而且还不只是一个软件,大批的新软件都这么做了。这不禁让人产生疑问。到底为什么这些新软件要改变默认的安装路径呢?

这一改变首先给用户带来了什么影响。我们习惯了标准化的安装路径即Program Files。所有规范的程序都会选择安装在这个目录之下,用户也方便管理软件的安装文件。而且Program Files目录直接在根目录下,方便找,如果软件出现什么问题,要手动替换文件,或者卸载时没有删除干净,我们都可以手动到Program Files目录下处理。然而新软件的安装目录悄悄的改变为了AppData,AppData是用户目录下的,路径比较深,不好找。这给用户带来一定的困扰。可见,这一改变,对于用户来说,没有什么好处。当然,对于一般的用户来说,安装到哪似乎影响不大。反正都是点击快捷方式启动软件。

但是,改变默认安装路径这一行为,并不是这么简单。有人说,这一改变,是权限问题。

那么我们就从权限问题说起。这里说的权限问题就是用户账户控制UAC,这是Windows对于系统设置修改、软件安装设置的一道安全权限,而且这些修改会通知用户,以免程序默默执行。这一招防止了恶意软件的安装,当然也防止了病毒的传播。而默认的Program Files目录则会有很好的安全控制,可以很好的规范软件的行为。然而现在的新软件,很多为什么不遵守这样的规则了呢?而是将安装路径安装到AppData下了呢?
从技术上来讲,我们会说是微软对Program Files目录有权限限制,在安装的时候需要提权。那么请问,在之前,各种软件不是好好的安装,好好的运行的吗?为什么现在就有权限问题了呢?仅仅一个权限问题不足以解释这个问题了。对于技术,这个权限问题,不应该是问题,以前的版本都可以安装在Program Files里,自然技术是没有问题的。那必然有其他秘密。

我们就从微软的系统的升级说起。自从Win8出现,系统的安全性更高了,也就是对程序的操作权限做了很多限制,这些限制都需要有用户的同意才能执行,这样可以让系统更加安全。到了Win10系统,安全更是加固了不少,所以,一些程序想做一些小动作,也就难上加难了。虽然这些软件都是正规的,谁说正规软件不会做手脚,不会搞小动作呢?
所以,使用不要求权限的AppData目录,可以更方便的实现静默安装、静默升级、静默下载、广告推送、广告展示等,而不需要得到用户的通知。当然不排除一些小软件为了省去提权的麻烦,而直接将默认目录改为AppData。或者说,因为Win8、Win10的严格权限,为了在win7\8\10用同一个安装包,就不用Program Files目录了,这样不管在哪个系统都可以顺利安装。

linux

app安装路径和权限规范以及androd 如何使得升级更加容易相关推荐

  1. Android APP存储路径和缓存清理规范

    1. Android APP统一存储数据规范 基于Android系统对存储卡访问的各种特性,在充分保证基线的产品交互体验前提下,定义Android APP各业务开发中的可选存储路径,对应存储特性,各自 ...

  2. Android APP的安装路径

    小Tips:app安装在哪个路径? 2021/6/10更新: 1.安装路径共五个 system/app 系统自带的应用程序,无法删除.root后可以删除 system/priv-app 比system ...

  3. App安全测试-软件权限/安装与卸载安全性

    APP的安全测试点 -----------转摘某位大神,看过之后,觉得比一些介绍APP测试的书籍都要写的好,若是测试APP完全可以参考,并结合自己的工作,看是否有漏测或者自己工作需要改进的地方 软件权 ...

  4. anaconda中python的位置_科学网—查询Anaconda安装路径、安装包位置及授予访问权限 - 张伟的博文...

    (1)确认安装路径 输入以下命令: conda info --env 可以知道当前有哪些环境,以及环境路径: (2)Anaconda管理的包的位置 具体路径为F:\Anaconda\Lib\site- ...

  5. 更改qq服务器中文件夹权限,win10QQ提示安装路径无效您没有权限的两种解决办法...

    腾讯视频/爱奇艺/优酷/外卖 充值4折起 今天给小伙伴安装QQ,居然提示安装路径无效您没有权限,我想是不是那个问题呢?经过检查终于搞定,这就分享给大家. 方法一: 1.我们重新运行QQ安装程序,并不是 ...

  6. qq安装路径无效Linux,QQ提示安装路径无效您没有权限的两种解决办法

    今天给小伙伴安装QQ,居然提示安装路径无效您没有权限,我想是不是那个问题呢?经过检查终于搞定,这就分享给大家. 方法一: 1.我们重新运行QQ安装程序,并不是在它上面直接双击,而是使用鼠标右键单击-- ...

  7. Android 12.0 第三方app安装完成后默认授予运行时权限

    目录 1.概述 2.第三方app安装完成后默认授予app所有运行时权限的解决方案的核心类

  8. Android 11.0 系统默认授予app安装权限(去掉app首次运行时权限授权弹窗)

    目录 1.概述 2.系统默认授予app安装权限去掉app首次运行时权限授权弹窗功能分析

  9. 【Android 逆向】应用安装目录 ( Android 应用的默认安装目录 | 查找 Android 应用的安装目录 | 查询当前正在运行的应用包名 | 根据包名查询应用安装路径 )

    文章目录 一.Android 应用的默认安装目录 二.查找 Android 应用的安装目录 1.查询当前正在运行的应用包名 2.根据包名查询应用安装路径 一.Android 应用的默认安装目录 应用安 ...

最新文章

  1. Linux进程管理:进程状态和CPU平均负载
  2. php接收flutter,来自Flutter中的PHP的API流(非Firebase)
  3. android问题记录
  4. HDU - 3613 Best Reward(字符串哈希)
  5. 社交网络图中结点的“重要性”计算 (30 分)【最高效解法】
  6. java oca_OCA第2部分中的Java难题
  7. using matlab drawing line graph for latex
  8. Linux(Fedora 20) EFI 启动Windows出错 \EFI\Microsoft\Boot\bootmgfw.efi is missing
  9. 淘宝获取收货地址列表的 API
  10. HBuilderX日常踩坑之隐私合规检测
  11. 计算机组成原理学习笔记(3.存储系统 4.指令系统)
  12. 高冷一字id_一个字网名 高冷一字id
  13. 解决Maven cannot access in offline mode问题
  14. 学Git?这一篇就够了
  15. 【CSS基础】Sass预处理器个人学习使用记录
  16. Unity的IOS PlayerSettings的设置说明
  17. Duplicate entry '1106a210d0794c45a005ef034bc1b664' for key 'PRIMARY'
  18. 1.【Linux】如何在Ubuntu18.04上安装微信
  19. 如何安装最新版Docker
  20. Spring之完整版学习笔记

热门文章

  1. Using a coordinate with ws.cell is deprecated问题的解决
  2. Spring MVC上传图片,Java二…
  3. PHP最佳实践指南(中英对照)
  4. 计算机网络入门之TCP/IP模型
  5. python set集合的基本运算
  6. 互联网行业经常讲 EDB,是什么意思
  7. 【电力电子技术】 THE FLYBACK 电路
  8. mysql三国人物库_一文带你使用neo4j生成三国人物社交关系图
  9. 有赞 java_响应式架构与 RxJava 在有赞零售的实践
  10. 【进阶Python】第一讲:开篇