① 安卓系统是开源的,开源是啥意思
手机的系统简单的,分为开源和闭源,开源的系统典型代表就是现在的安卓系统,国产厂商所使用的系统都是安卓系统,虽然他们都有自己的名字。但是他们都是基于安卓系统的框架上面所进行的优化,除了华为最近推出的鸿蒙系统是属于他们自己的。
但这样所带来的问题就是安卓端的软件乱七八糟什么都有,有一些是确实好用的小软件,一些资源的集合之类的,但有一些他会偷偷在后台窃取用户的信息,包括视图打开相机视图,自行打开软件,试图获取通讯录,试图发送短信这些乱七八糟的权限,部分国产手机厂商有这个应用权限的自测。可以看到哪个软件在后台试图在干一些什么事情,所以导致安卓的手机在用户信息保密这方面可能做的要稍微差一些。
② 现在到哪获取android系统源代码
Android系统源码都在http://android.git.kernel.org/网址下,其中那个系统app都在platform/packages/apps结构下。
在刚才的Git的shell命名行窗口中输入下面的命名:
git clone git://android.git.kernel.org/platform/packages/apps/Luancher2.git
你就可以在你的msysGit安装目录的git下(~\msysgit\msysgit\git)看到Luancher工程文件夹了。
然后打开~\msysgit\msysgit\git\Luancher2文件夹,就可以看到Android的Luancher系统源码工程了。
对于其他的app系统源码的获取方法和上述的Luancher相同,只是命名行后的参数不同。
git clone git://android.git.kernel.org/需下载源码的app所在的位置。
③ 如何编辑android 系统源码
1、通过 ubuntu 软件中心安装 wine;
2、通过 ubuntu 软件中心安装 winetricks;
3、通过 winetricks 在 shell中输入: winetricks mfc42
1、通过 wine windows 的方式启动代理服务器
2、设置浏览器代理服务器
3、设置shell代理服务器:
在shell中输入 sudo gedit /etc/bash.bashrc
在文件 /etc/bash.bashrc 中添加
通过shell安装如下的组件:
1、sudo apt-get install bison g++-multilib git gperf libxml2-utils
2、新建一个存放源码的目录,如:mkdir ~/andorid/source
3、在源码目录中输入命令:repo init -u -b android-4.0.1_r1
其中: android-4.0.1_r1是android源码的版本,更多的版本可以通过下面的方式查询:
4、修改source/.repo/manifest/default.xml 文件中的 fetch 的值为:
git://Android.git.linaro.org/
通过如下的指令来设置邮箱和用户名
git config --global user.name "<your name>" ----修改用户名git config --global user.email "<your email>" ----修改email
5、在source目录下输入指令:repo sync
便开始了代码的下载
方便他人亦是方便自己,如果觉得还行就点下下边的投票吧,这样可以帮助其他人更快的找到解决问题的方法;有疑问的也可留言哦, 谢谢!
④ android系统源码有多少行
大概有10G的源代码,一Byte一个字符,也就是说有超过100亿个字符,每行按标准80字符来算的话,超过1亿行。开放的WinXP系统有2亿行,从数量级上来看的话,应该差不多。Android 4.4,是由Google公司制作和研发的代号为KitKat的手机操作系统,于北京时间2013年9月4日凌晨对外公布了该Android新版本的名称,为Android 4.4(代号 KitKat 奇巧)。据悉,该代号来自雀巢的KitKat巧克力。"Kit Kat"原本是雀巢公司的一款巧克力名称。谷歌表示,他们非常感谢雀巢授权使用该名称,但使用的时候会将中间的空格去掉。Android 4.4 KitKat针对RAM占用进行了优化,甚至可以在一些仅有512MB RAM的老款手机上流畅运行。它也进一步优化了系统在低配硬件上的运行效果, 支持内核同页合并 KSM,zRAM 交换,似乎是为了更好地在众多智能穿戴设备上运行。
是指sdk的源码,还是android操作系统的源码,不过都有10G左右,另外sdk的源码是用git管理的,一次下载后,用git check就可以切换到各个版本。Android SDK是用于开发Android上JAVA应用程序的,另外发布Android NDK,可以添加一些C语言写的链接库,至于Linux代码,可以在Android源代码中找到(SDK程序中只有编译好的测试映像)。应用程序开发用不到Linux代码(搞嵌入式开发才会用到,而SDK不负责底层开发)。
⑤ 如何单独编译安卓系统源码指定模块
Android源码目录下的build/envsetup.sh文件,描述编译的命令
- m: Makes from the top of the tree.
- mm: Builds all of the moles in the current directory.
- mmm: Builds all of the moles in the supplied directories.
要想使用这些命令,首先需要在android源码根目录执行. build/envsetup.sh 脚本设置环境
m:编译所有的模块
mm:编译当前目录下的模块,当前目录下要有Android.mk文件
mmm:编译指定路径下的模块,指定路径下要有Android.mk文件
下面举个例子说明,假设我要编译android下的\hardware\libhardware_legacy\power模块,当前目录为源码根目录,方法如下:
1、. build/envsetup.sh
2、mmm hardware/libhardware_legacy/power/
编译完后 运行 make snod
会重新将你改过的模块打入到system.img中
⑥ 安卓系统是开源的,开源是啥意思
简单的来说 ,比如谷歌开发了安卓系统最基础的框架了,华为等手机厂家可以利用其源代码开发修改升级匹配自身的系统,但是因为基础源代码来自于安卓(所以我们的手机开机时一般都会体现 POWERED BY Android )。而且开发者对于源代码的任何改进都必须要告知开源软件的公司,这样也有利于开源的公司进一步提高源代码。在这方面华为为安卓的发展壮大做出了巨大的贡献。
早期的时候可能困难,但是以现在华为的技术水平来说,开发一个手机操作系统根本不难,但是为什么一直不推出自己的系统呢?这是因为系统容易,生态难。
每一种操作系统都有它的运行环境,所有你在下载APP的时候,不同的操作系统是要下载不同的APP的。一个新的操作系统进来,没有你那个系统的APP,那么根本没人会使用你的手机,因为它等于以前的老人机。
举个例子 :比如华为开发了一个系统(据传是鸿蒙),但是微信、支付宝、网络等等这些企业都不开发适用于鸿蒙系统的APP软件,那么鸿蒙系统将会面临的无软件可下载的情况,这时候,这个系统等于废弃的一个系统。之前微软在意识到的手机操作系统的重要性之后,也推出了Windows Phone,不过最终也败下阵来了,因为没有匹配的app可以下载,所以安卓并不是强大,只是它抢占了先机而已。
PS: 很多人会说那苹果属于闭源系统,这些软件开发公司是怎么开发APP的。简单的来说app应用是需要调取系统的权限完成一些特定的工作,系统闭源可以简单理解成禁止其他开发者获取系统的代码,但是应用需要获取的权限是可以赋予的,还有编写应用的代码也是开放的,ios虽然不让你看源码,但它也提供了sdk用来调用系统资源,也提供了api接口来和系统通信调度,所以微信支付宝这些公司可以开发适用于ios的app。
华为最好的解决办法是直接开发出可以兼容安卓APP的系统,那么关于系统的问题就全部迎然而解了,华为的回应中也说明有能力继续发展和使用安卓生态,所以大概率预计新系统是可以兼容的。
假设华为的系统无法兼容安卓的app,那么需要目前所有开发APP的各家企业支持,重新开发适用于华为系统的app应用,这个难度就有点大了,国内或许还好,国际就比较困难了,毕竟别人没有义务做这件事。
一个操作系统就像一个生态圈,一旦这个生态圈稳定,其它的系统就很难进得来,电脑等其它操作系统也是如此,所以华为的困难不在与开发操作系统,而在于其生态圈的架构,最简单的方式就是直接兼容安卓app。
开源从字面上的理解就是开放源头,使用者可以在源代码的基础上进行修改和补充,形成具有特点的定制功能,很多人认为开源就是免费的,它只是对外界开放,但必须要符合原始开发公司的要求。
其中最具代表性的开源系统就是Linux,各种应用不断完善更新都离不开它。最大的特点是开放源代码可以自由定制,由于用户的技术水平有限,很多的硬件和软件厂商并没有提供开源的功能,这就要靠使用者在选择操作系统时根据自己的技术水平来选择,这也说明了很少人用开源操作系统的原因。而对于专业的开发人员来说,开源系统有很大的优势,开发应用可以随心所欲也没那么复杂,因为是开放的源代码,可以根据自己特定的需求进行修改,这对于互联网开发人员来说,是非常重要的帮助。
像Android的系统就是开源的,基于Linux程序开发的一个Java虚拟器,然后在这个设备里运行Java。很多手机厂商在原生Android系统里添加一些定制的功能,形成独有的系统特色,这些操作也不用谷歌授权。但有个前提,只能修改一些普通的代码,重要的核心部分不能修改。
系统开源给了大家很多的便利,用户也在不断增长,对于开源的部分也是会受到一定的限制,谷歌公司可以给你空间去创新,但核心技术还是在别人手里,只有开拓局面,掌握核心技术开发自己的操作系统才是王道。
开源,顾名思义,就是开源源代码,但是使用者需要遵守开源规则。
安卓开源,就是说所有的厂商或者开发者都可以直接使用安卓的源代码去开发,但是需要遵守谷歌的使用条件。
比如说,
全球所有厂商必须预装Google全家桶(中国内地,朝鲜除外,因为谷歌已经退出该市场,服务不可用)。
而对于国内的安卓在开机时都会有一个Android的标签,这个是在Android 4.4开始强制要求的,不然以前很多厂商改成跟自己家的系统一样,完全不把谷歌放在眼里。
其次是核心代码功能不能随意更改,必须遵守API的协议,某些厂商乱改底层导致一堆兼容性变差,谷歌被黑锅(说得就是中国定制的Android)。
还有很多条例就不一一列举。
但是开源必须遵守开源精神,这对作者也是一个尊重。
作为个人开发者的我,使用他人代码依然会注明原作者信息。
欢迎在点击右上角关注:“太平洋电脑网”,不定时放送福利哦!
开源,全称为开放源代码,是每个人都能看到,每个人都可以在规则之内使用,使用和开发之后需要把你的产品返回到代码之中。
主要是为了人人为我,我为人人的精神,共同推动这个社区或者是这个系统进步。
安卓开源,那就是谷歌需要会把安卓的代码公布公开出来,方便用户在这个代码的基础上进行学习,同时也能修改,甚至可以进行商业化。
但是,你在这个基础上开发和修改的代码也需要公布出来,不能只索取不付出的,需要求同存异,互利共赢。
当然,这样做的方式,是想要通过全世界的程序员的力量,把开发的工作的难度降低了,提高了程序员的工作效率,避免重复造轮子。
同时,如果你用到了别人的代码,你需要备注代码的作者,表示对于作者的尊重。
所以说,安卓系统是全世界的程序员的成果,因为大家在这个基础上开发了是需要把代码公开的,供大家使用和学习的。这也是安卓能这么快发展和进步的原因,因为这汇聚了全世界程序员的智慧。
所以,世界上没有任何一个人能够阻止其他人去使用安卓系统的代码。谷歌不授权,也只不过是不能使用Google的APP,也不能使用GSM服务协议而已。当然,这个在国外影响挺大的,但是依然可以使用安卓系统的。
安卓系统开源,就是安卓系统源代码对外开放,给你举个例子,假如你要写小说,小说的内容就像系统里面的代码,然后你发布到网上那么其他网站就会找你合作,希望得到你的授权,那么你同意过后才能发布,你当然希望有更多的人来看你的小说,也希望读者能给你提提建议,那么你肯定也会要求网站备注这个小说的作者是谁,一来防止别人修改你的小说内容,二来你可以收到读者的建议!那么你就会不断的完善其小说的内容!
那么你的小说内容对外发布,就相当于把源代码公开,这就是系统开源,然后就是别人拿你的小说内容拍电影,它也要表明影片内容的作者及作品,这相当于把你的作品作为影片内容的框架,可能在小说的内容上修改一下,然后拍成影片发布,说到这里,是不是明白什么是系统开。
也就是说我可以将我的系统开放给你使用,但是你只能在系统上进行创作和修改,因为这系统里面有我的版权技术在里面!我只是给你免费使用而已,当我不想给你使用,你必修删除我在系统里面的版权技术。
android (安卓)是完全开源的。
Android是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google(谷歌)公司和开放手机联盟领导及开发。
尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。
2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。
(6)安卓操作系统源码扩展阅读:
一、发展历程
2003年10月,Andy Rubin等人创建Android公司,并组建Android团队。
2005年8月17日,Google低调收购了成立仅22个月的高 科技 企业Android及其团队。安迪鲁宾成为Google公司工程部副总裁,继续负责Android项目。
2007年11月5日,谷歌公司正式向外界展示了这款名为Android的操作系统,并且在这天谷歌宣布建立一个全球性的联盟组织,该组织由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成。
并与84家硬件制造商、软件开发商及电信营运商组成开放手持设备联盟(Open Handset Alliance)来共同研发改良Android系统,这一联盟将支持谷歌发布的手机操作系统以及应用软件,Google以Apache免费开源许可证的授权方式,发布了Android的源代码。
2008年,在GoogleI/O大会上,谷歌提出了AndroidHAL架构图,在同年8月18号,Android获得了美国联邦通信委员会(FCC)的批准,在2008年9月,谷歌正式发布了Android 1.0系统,这也是Android系统最早的版本。
二、系统内核
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),网络堆栈(Network Stack),驱动程序模型(Driver Model)等。下载Android源码之前,先要安装其构建工具 Repo来初始化源码。Repo 是 Android 用来辅助Git工作的一个工具。
直白点就是可以改,你可以利用他转变为自己的需要,在系统中添加自己的功能,就说一个茄子吧,你可以拿来炒拿来煮,这个茄子就是开源的,某个人把茄子炒好给你端在面前,你只能拿来吃,这盘炒好的茄子就是闭源的,像win系统所有功能都摆在哪里你无法在系统里面去添加功能,
意思就是随便用,谁爱用谁用。
应该是开放源代码!就象设计师公开了自己的工程设计图线一样。那样别人就能够拿着别人公开的这些东西进行各种仿制和在人家的基础上做一些相应改动,从而弄成你想要要的样子。
开源的就是开放的。不开源,就是不提供开发细节。
开源就可以让别人掌握技术细节。不开源就不能掌握技术细节。