开心生活站

位置:首页 > 综合知识 > 

android与linux的关系

android与linux的关系

安卓是基于linux内核的自由及开发源代码的操作系统,但是并不能将安卓直接理解为linux系统;Linux发行版中的软件通常只收录经过开源社区审核过的开源软件,或者经过商业机构审核的闭源软件,而安卓上面的软件基本都是闭源的,而且针对这些软件基本没有审核机制。

小编还为您整理了以下内容,可能对您也有帮助:

Linux和安卓具体是存在什么关系

Android一种基于Linux的自由及开放源代码的操作系统。Linux操作系统的内核,安卓则是基于Linux内核开发的操作系统,安卓在Linux的基础上提供了驱动以及用户编程接口。

操作系统管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。

Android以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程序移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。

Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、数据结构与宏。

扩展资料

APK安卓应用的后缀,是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。

apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接执行安装,和Windows Mobile中的PE文件有区别;

这样做对于程序的保密性和可靠性不是很高,通过dexmp命令可以反编译,但这样做符合发展规律,微软的 Windows Gadgets或者说WPF也采用了这种构架方式。

在Android平台中dalvik vm的执行文件被打包为apk格式,最终运行时加载器会解压然后获取编译后androidmanifest.xml文件中的permission分支相关的安全访问,但仍然存在很多安全,如果你将apk文件传到/system/app文件夹下会发现执行是不受的。

最终平时安装的文件可能不是这个文件夹,而在android rom中系统的apk文件默认会放入这个文件夹,它们拥有着root权限。

参考资料:百度百科-Android(Google公司开发的操作系统)

参考资料:百度百科-操作系统

android系统是基于Linux对吗

Android是一种基于Linux的自由及开放源代码的操作系统。

主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国地区较多人使用“安卓”。Android操作系统最初由Andy Rubin开发,主要支持手机。

扩展资料:

平台优势:

在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。

开放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。

参考资料来源:百度百科——android系统

安卓与Linux有什么关系

安卓与Linux有什么关系

按照是Linux核心但是借用了java虚拟机器技术,并组织编制的一个类Java作业系统。。。区别Linux的就是库和用户界面都是用的java技术。。。而Linux的桌面和api则是他们自身程式设计形成的。。。

Android是一种基于Linux的自由及开放原始码的作业系统,主要使用于移动装置,如智慧手机和平板电脑,由Google公司和开放手机联盟领导及开发。

Android 是运行于Linux kernel之上,但并不是GNU/Linux。因为在一般GNU/Linux 里支持的功能,Android 大都没有支持,包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以Bionic 取代Glibc、以Skia 取代Cairo、再以opencore取代FFmpeg等等。Android 为了达到商业应用,必须移除被GNU GPL授权证所约束的部份,例如Android将驱动程式移到 Userspace,使得Linux driver 与 Linux kernel彻底分开。Bionic/Libc/Kernel/ 并非标准的Kernel header files。Android 的 Kernel header 是利用工具由 Linux Kernel header 所产生的,这样做是为了保留常数、资料结构与巨集。

Android 的 Linux kernel控制包括安全(Security),储存器管理(Memory Management),程式管理(Process Management),网路堆叠(Neork Stack),驱动程式模型(Driver Model)等。下载Android原始码之前,先要安装其构建工具 Repo来初始化原始码。Repo 是 Android 用来辅助Git工作的一个工具。

Linux和安卓有什么关系?

Linux与Androld的关系

虽然Android基于Linux核心,但是它与Linux之间还是有很大的差别,比如Android在Linux核心的基础上添加了自己所特有的驱动程式。下面我们就来分析一下它们之间究竟有什么千丝万缕关系?

1 安卓为什么会选择Linux

成熟的作业系统有很多,比如Unix系统。但是Android为什么选择采用Linux核心呢?这就与Linux的一些特性有关了,比如:

(1)强大的记忆体管理和程序管理方案

(2)基于许可权的安全模式

(3)支持共享库

(4)经过认证的驱动模型

(5)Linux本身就是开源专案

更多关于上述特性的资讯可以参考Linux 2.6版核心的官方文件,这便于我们在后面的学习中更好地理解Android所特有的功能特性。接下来分析Android与Linux真正的关系。

2Android不是Linu×

看到这个标题大家可能会有些迷惑,前面不是一直说Android是基于Linux核心的吗,怎么现在又不是Linux了?迷惑也是正常的,请先看下面几个要点,然后我们将对每一个要点进

行分析,看完后你就会觉得Android不是Linux了。

①它没有本地视窗系统

(1)它没有glibc的支持

(2)它并不包括一整套标准的Linux使用程式

(3)它增强了Linux以支持其特有的驱动

1、它没有本地视窗系统

什么是本地视窗系统呢?本地视窗系统是指GNU/Linux上的X视窗系统,或者Mac OS的Quartz等。不同的作业系统的视窗系统可能不一样,Android并没有使用(也不需要使用)Linux的X视窗系统,这是Android不是Linux的一个基本原因。

2、它没有glibc支持

由于Android最初用于一些便携的移动装置上,所以,可能出于效率等方面的考虑,Android并没有采用glibc作为C库,而是Google自己开发了一套Bionic Libc来代替glibc。

3、它并不包括一整套标准的Linux使用程式

Android并没有完全照搬Linux系统的核心,除了修正部分Linux的Bug之外,还增加了不少内容,比如:它基于ARM构架增加的Gold-Fish平台,以及yaffs2 FLASH档案系统等。

4、Android专有的驱动程式

除了上面这些不同点之外,Android还对Linux装置驱动进行了增强,主要如下所示。

(1) Android Binder基于OpenBinder框架的一个驱动,用于提供Android平台的程序间通讯( InterProcess Communication,IPC)功能。原始码位于

drivers/staging/android/binder.c。

(2) Android电源管理(PM) 一个基于标准Linux电源管理系统的轻量级Android电源管理驱动,针对嵌入式装置做了很多优化。源伐码位于:

Ⅰ kerneUpower/earlysuspend.c

Ⅱ kernel/power/consoleearlysuspend.c

Ⅲ kernel/power/fbearlysuspend.c

Ⅳ kemel/power/wakelock.c

Ⅴ kernel/power/userwakelock.c

(3)低记忆体管理器(Low Memory Killer) 比Linux的标准的OOM(Out Of Memory)机制更加灵活,它可以根据需要杀死程序以释放需要的记忆体。原始码位于

drivers/staging/android/lowmemorykiller.c.

(4)匿名共享记忆体(Ashmem) 为程序间提供大块共享记忆体,同时为核心提供回收和管理这个记忆体的机制。原始码位于mm/ashmem.c。

(5) Android PMEM (Physical) PMEM用于向用户空间提供连续的实体记忆体区域,DSP和某些装置只能工作在连续的实体记忆体上。原始码位于drivers/misc/pmem.c。

(6) Android Logger -个轻量级的日志装置,用于抓取Android系统的各种日志。原始码位于drivers/staging/android/logger.c。

(7) Android Alarm捉供了一个定时器,用于把装置从睡眠状态唤醒,同时它还提供了一个即使在装置睡眠时也会执行的时钟基准。原始码位于drivers/rtc/alarm.c。

(8) USB Gadget驱动一个基于标准Linux USB gadget驱动框架的装置驱动,Android的USB驱动是基于gaeget框架的。原始码位于drivers/u *** /gadget/。

(9) Android Ram Console为了提供除错功能,Android允许将除错日志资讯写入一个被称为RAM Console的装置里,它是一个基于RAM的Buffer。原始码位于drivers/staging/android/ramL console.c。

(10) Android timed device提供了对装置进行定时控制的功能,目前支持vibrator和LED装置。原始码位于drivers/staging/android /timed_output.c(timed_gpio.c)。

(11) Yaffs2档案系统Android采用Yaffs2作为MTD nand flash档案系统,原始码位于fs/yaffs2/目录下。Yaffs2是一个快速稳定的应用于NAND和NOR Flash的跨平台的嵌入式装置档案系统,同其他Flash档案系统相比,Yaffs2能使用更小的记忆体来储存其执行状态,因此它占用记忆体小。Yaffs2的垃圾回收非常简单而且快速,因此能表现出更好的效能。Yaffs2在大容量的NAND Flash上的效能表现尤为突出,非常适合大容量的Flash储存。上面这些要点足以说明Android不是Linux。

Linux与Androld的关系

虽然Android基于Linux核心,但是它与Linux之间还是有很大的差别,比如Android在Linux核心的基础上添加了自己所特有的驱动程式。

Ubuntu与Linux有什么关系

正如ls所说,linux有许多发行版本,比如redhat,debian,suse等。所以说debian是linux的一个发行版本,而ubuntu是debian的一个衍生版本。

Android System WebView与安卓7.0之间有什么关系

1.主题皮肤管理器

在CM等一众第三方系统中,早已支持便捷地修改桌布、图示和系统颜色。在商店和论坛中,也能找到不少优质的皮肤主题。

而当我们提到原生Android,似乎总是长著一张固定的脸。实际上,在Google自家的AOSP(即Android开源专案)中,早已内建了主题管理。

而在Android M 的开发者预览版中,也加入了主题管理器(可惜被需要Root和特定方式才能启用)。既然系统内的皮肤主题框架早已搭建好,那就只等Google在Android系统中放出啦。

2.应用程式抽屉的消失

在2月26日,Google Map的官方Twitter释出了一条介绍视讯,其中的展示机Nexus 6P的系统界面中,似乎看不到底部的应用抽屉按钮了。发现问题的同学也开始集体留言质问:‘WHERE IS THE APP DRAWER?!?!’

而在之前也确实有传闻爆料:在新版Android N 中,或许会将应用抽屉的设计去除,选择采用iOS和MIUI的应用呈现方式,即全部在桌面首页中展示。

去除二级选单的做法,会带来更加凌乱的桌面,还是更有效率的操作体验?似乎很难定论,但作为Android玩家,大可选择Nova启动器等优秀的第三方桌面,而不必担心我卓药丸。

3.夜间模式会许要来了

在Android M 的开发者预览版中,Dark Mode夜间模式曾短暂地出现过,而在正式版中又被砍去。

而最新的Android N 泄露图中,黑色背景的右图也表示著:夜间模式回归Android了。

而更加值得期待的是,Google已经放出了夜间模式的开发程式码,开发者可以轻松地为自己的应用设定‘暗色主题’。也许今后只需轻按‘夜间模式’的按钮,从系统到各个应用,都能直接更换成夜间模式。

这一改变,不仅对于越来越多AMOLED萤幕手机而言,是省电的好方法。对于经常深夜玩手机的同学来说,似乎也可以和刺眼的白光说再见了。

4.分屏多工以及平板支持

在LG和三星都推出了‘分屏模式’后,Google在Android N 中加入分屏功能也是众望所归了。同样的,在上一个版本Android M 中,分屏模式也被隐藏起来,需要特定方式才能启用。

不负众望,来自Google的Pixel C 团队在接受Reddit AMA论坛访谈时,确认了‘split screen is in the works’。

而分屏多工,似乎在Android平板上也更加适用。值得一提的是,该团队也宣称Android系统的平板,在Android N 中将会更加好用,而不仅仅是将应用界面拉升就够了。

但对于Chrome OS的联动猜想、DPI切换和和界面的调整,似乎只能等Google I/O那

天,才知道答案。

5.支持触控笔

在三星公布的文件中,我们发现三星在Android N 中,采用了系统自带的触控笔界面,而不再使用原先的S PEN专属界面。

而在Android 5.0 (开始支持节电助手)之前,三星关闭了自家的节电模式界面。在Android 6.0 (开始支持指纹识别)之前,又关闭了自家的指纹识别界面。而在Android 7.0公布之前,三星又再一次关闭了自家的触控笔界面,这……

6.更好的Doze省电模式

Doze省电模式首次出现在Android M 中,其省电原理是在装置休眠时,关闭关闭应用后台,以达到省电的效果。

在亲身体验后,Doze模式确实发挥了很好的效果,起码待机的时候不掉电了。但在目前这一功能,在操作体验和用户自定义方面,却有些过于简单了。

所以直到今天Android 6.0,我依然选择绿色守护等第三方应用,去实现控制后台应用耗电的问题。但Root终归有风险,而Android N 也有理由提供一个更好用的Doze省电模式。

7.重新设计的通知栏

在设计上,似乎能探寻的蛛丝马迹,则是一张Android N 的通知栏模拟图,国外媒体Android Police在看到开发样机图后,大致模拟出的新版界面截图。

根据爆料,左图通知栏目前已开始尝试承载更多的资讯量,长按后即可检视通知详情。而在右图显示的快速设定页面,将快捷按钮铺满并支持分页,而不像之前只支持固定数量的快捷按钮。

8.更多玩法的指纹识别

随着Nexus 5X和Nexus 6P的释出,Google终于开始为Android提供指纹的支持。在Android 6.0中,关于指纹的界面也正在逐步完善。

在目前看来,似乎指纹最常用也仅限于Play Store和锁屏应用中。期待在Android N 中,能通过指纹解锁完成更多的事情,在iOS的Touch ID上,有许多值得借鉴的场景。也许之后Androidi用户能通过指纹,便捷地检视Google相簿中的隐私图片,或者直接解锁启动私人应用。

9.为虚拟现实助力

我们知道,Google正尝试着于打造一款,不需要额外硬体的头戴式VR装置。

而反观目前市面上大部分VR产品,软体部分的开发似乎都与Android系统多少有些联络,也许Google自家的VR装置也需要Android的支持。

所以我们有理由相信,Google会为新版本的Android系统,在VR方向上提供更多系统层面的支持。

10.Now on Tap

Now on Tap作为Android M 的重磅功能,在去年收获了业界好评。大致功能则是基于不同情景而直接提供对应资讯,通过识别你正在执行的app中的内容,提供针对性的建议和资料。

比如在网上聊天时,当聊到某部电影时,只需上滑Home键,关于电影的所有资讯就能直接呈现。

而在Android N 中,我们期待它能发挥更大用处。毕竟Now on Tap中‘上下文感知’和‘基于情景’都是是人类智慧的重要能力。

也许之后当我们开启相机,它就能为你找寻镜头中包含的关键资讯。而不仅限于设定日历提醒,或者帮你搜索维基百科那么简单。

综上所述的大部分内容,都是我们作为Android老粉丝的期待和猜想。所有一切都要等到Google I/O 2016才会揭晓。

但不得不说的是,虽然在AppSo年度精选的Android榜中,绝大部分应用都采用了Material Design,但是直到今天,这一设计风格在动效和互动上,依然缺少一个完美的榜样。

我们不会期待Android N 完全改头换面,带来全新的界面,但在图示、按钮、互动动画和界面设计上,我们期待Google能做得更好。

Java和安卓有什么关系

安卓就是Java写的

C语言与安卓开发有什么关系。

安卓的底层使用的是C语言开发的

所以会使用到C语言

另外安卓在嵌入式控制系统中

使用软体控制嵌入式系统的时候会使用到NDK技术

这里面也会使用到C语言开发

java和c 和安卓有什么关系

它们都是计算机语言,c语言称为底层架构与其他两个语言没多大关系,但是学了c后掌握java就很快啦。java是安卓的基础,安卓是基于java平台来编写的。

标签:linux android