仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2469|回复: 18
打印 上一主题 下一主题

[学习教程] IOS编程之阿里云OS和Android的干系仓酷云

[复制链接]
不帅 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:40:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
不管是学习Objective-C语言,还是学习ios,我都只是跟着书上的例子,在苹果机上,在Xcode和InterfaceBuilder开发环境中,按部就班的“抄”些应用程序。  克日,有关谷歌Android和阿里云的争辩闹得沸沸扬扬,谷歌高管、Android开辟领头人AndyRubin在其Google+主页中如许写道:阿里云体系接纳了谷歌Android体系的运转情况,分明是由Android体系修正得来。
  AndyRubin称,现实是,阿里云体系包括了Android中运转情况,分明是从Android中演化而来,但没法与Android兼容。基于Google对阿里云网站上使用的剖析,这个平台实验与Android兼容,但未能乐成。
  阿里云OS究竟是不是Android之外的工具,笔者经由过程手艺手腕对其举行一些剖析。天语W700是一款利用了“阿里云OS操纵体系”的手机,笔者找到一个天语W700手机的阿里云OS的刷机包。翻开粗粗看一下,和Android的刷机包没两样。内里的使用全体是apk,这意味着它们都是以Dalvik可实行文件的情势存在的。

<br>
[]
  Build.prop内里也指出是,Android2.2

<br>
[]
  接下往来找个中的clibrary,由于我们晓得,Android是在Linux内核之上运转了一套Google本人构造起来的架构。和一般意义上的GNULinux一样,这个架构里最基本的工具之一就是C运转库。
  GNULinux的C运转库是Glibc,而Android用的是Bionic。经由过程利用本人构造,编写的代码,Android能够从这一层以上避开GPL协定不同意公布者具有保密源代码权力的限定。
  找到个中的lib/libc.so,也就是C运转库,用readelf检察它的标记表(这么做不触及反向工程),能够在找到”bionic”。申明它的C运转库极可能是bionic。

<br>
[]
  内核是linuxkernel,基本的C运转库是Bionic,有Dalvik,下层的使用全体是Dex格局,这些工具申明W700上的“阿里云OS操纵体系”不太多是Android之外的工具。
  固然以上的内容没法用于推想,这么做是不是与Android的受权协定发生了冲突。可是有一件事变对照明白,假如供应这个手机的厂商没有供应个中linuxkernel的源代码,那极可能长短法的。
  更新:上篇用的ROM是错的,是Android的刷机包,不是官方原生的云OS的ROM,以是论据是错的。这里用官方原生云OS的ROM剖析一下,究竟阿里云OS和Android之间是甚么干系。
  解开看年夜目次的布局:

<br>
  根目次下是一个boot.img,这就是Android体系的bootloader,也就是启动分区。别的有个system目次,这就是Android体系的system分区。进进system目次往下看:

<br>
  这里和AndroidROM的目次布局是千篇一律的,列位能够本人找个AndroidROM对照以下。中心的几个目次:
  app:寄存ROM预装的app
  bin:体系历程的目次
  framwork:AndroidFramework目次,就是Android使用程序运转所必要的库文件的目次
  lib:so库文件目次,相称于Windows的system32目次
  我们再进到app目次看一下:

<br>
  好,看出区分来了,Android下一切的app都是以apk开头的,前一篇帖子用的ROM就是Android的ROM,内里对应这张图里的文件就都是apk的。这里怎样都是lar呢?这就是阿里云OS和Android分歧的中央了,由于apk是Dalvik假造机办理使用程序的文件格局,阿里云本人弄了个假造机,用lar文件来办理。lar文件和apk文件有甚么分歧?我们晓得apk文件实在就是一个zip文件,用WinRAR能够间接翻开看,那lar文件呢?用WinRAR公然也能够间接翻开:

<br>
  做过Android开辟的人一看到这个目次布局就发明,它和apk的目次布局基础上是千篇一律的,除Android使用的classes.dex文件酿成了classes.lex。那所谓的lex文件是否是就是把dex文件换了个名字呢?我们用二进制对照一下:

<br>
  右边的是Android使用的dex文件,右侧的是阿里云使用的lex文件。可见,文件格局已完整纷歧样了。
  好,app的分歧已看出来了,我们再来看体系中心历程有甚么分歧。进进到/system/bin目次:

<br>
  熟习Android体系的人一眼就可以看出来,am,app_process之类的名字都是Android中心历程的名字。多出来了几个:cloudserver,chpasswd.cgi之类,看来这就是阿里云所谓的“云服务”的中心历程了。
  好,文件的对照就到这里,那如今基础上能够下结论了,一个完全的Android体系,包含以下几个部分:
  1.bootloader:用来启动操纵体系
  2.kernel:体系内核
  3.中心历程,就是/system/bin上面那堆工具
  4.so库:体系运转基本,就是/system/lib上面那堆工具
  5.Android假造机,一切的下层使用都是靠假造机来运转的
  6.AndroidFramework:一切的下层使用都是经由过程挪用Framework来完成功效的,就是/system/framework上面那堆工具
  7.下层使用,好比说桌面Launcher,拨号,短信,通信录之类,就是/system/app上面那堆工具
  那末,阿里云OS,在下面7个部分中,假造机用的是本人的,下层使用是本人定制的,别的分外加了一个“云服务”,其他部分都是用的Android的。它和Android是甚么干系已很分明了。
  那特地八卦一下,为何阿里云要弄成这个模样呢?说来就话长了,话说昔时阿里云刚建立的时分,仍是很有寻求滴,事先收买了一家国际做Java假造机的公司(叫“猛犸科技”),同时还找了一帮MOTO做Linux内核的人,想弄个本人的操纵体系出来。阿里云的CEO叫王坚,和李开复一样都是从微软研讨院出生,可是颇看不起李开复弄的“点心OS”,以为“拿个Android来改一改,多土啊!我们要弄本人的操纵体系!”因而呢,阿里云的一帮人就吭哧吭哧弄“本人的操纵体系”了。了局呢,人人脚指头都能想到,重新弄一个操纵体系哪有那末简单,做了半年没做出来,咋给马云交差呢?因而也顾不上土不土了,拿Android改吧。假造机是现成的,那就换失落Android的假造机吧,好歹能算是本人的事情功效。但光换个假造机意义也不年夜啊,HTML5和WebOS的观点对照新潮,那就再加个“云服务”的观点吧,也算是国际HTML5的倡议者了。HTML5经由过程扫瞄器引擎跑,功能一定比不上原生使用,那怎样包管操纵流利呢(出格是桌面Launcher,每天用,如果太卡,用户就疯了),那仍是用原生使用来完成吧……因而,最初阿里云OS就长成如今如许了。
  willproven投稿。

如果你现在开始学到编出像样的APPiOS5可能已经普及了可以直接用ARC(另之前对ARC的了解很粗浅现在开发程序完全可以直接ARCiOS4不支持的weak是有办法替代的用unsafe_unretained
深爱那片海 该用户已被删除
沙发
发表于 2015-1-21 12:45:22 | 只看该作者
这个办法就是在WindowsXP或Win7的电脑上,使用vmware虚拟机来搭建一个真实的Mac OS X环境。
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-22 05:43:29 来自手机 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
金色的骷髅 该用户已被删除
地板
发表于 2015-1-27 15:32:30 | 只看该作者
首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书
柔情似水 该用户已被删除
5#
发表于 2015-2-5 06:44:07 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
不帅 该用户已被删除
6#
 楼主| 发表于 2015-2-11 06:56:26 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
蒙在股里 该用户已被删除
7#
发表于 2015-3-1 23:17:24 | 只看该作者
学习ios没什么捷径,关键在于多动手敲,曾看到前辈开玩笑说怎么快速学会某技术,答案是:“提高打字速度,快点写代码就能快点学会了”。
小妖女 该用户已被删除
8#
发表于 2015-3-7 09:34:29 | 只看该作者
最后在做项目的时候一定要认真对待,毕竟这个直接和你的就业挂钩,这也是锻炼你实际操作的能力。
山那边是海 该用户已被删除
9#
发表于 2015-3-12 09:23:53 | 只看该作者
边吃零食边看Stanford的视频教程
莫相离 该用户已被删除
10#
发表于 2015-3-13 22:09:38 | 只看该作者
要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。
冷月葬花魂 该用户已被删除
11#
发表于 2015-3-20 20:21:29 | 只看该作者
在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
爱飞 该用户已被删除
12#
发表于 2015-3-23 06:08:04 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
简单生活 该用户已被删除
13#
发表于 2015-3-30 23:08:44 | 只看该作者
首先是基础,在汉昌的课程非常全面。从object—c到最后的毕业项目,基本上方方面面都涉及到了,我是一名非计算机专业的学生,起初学习还有点吃力,因为基础知识薄弱。经常像听天书
再见西城 该用户已被删除
14#
发表于 2015-4-2 22:03:29 | 只看该作者
特别是在校的学生,都存在一个小小的尴尬——虽然学习iOS开发的热情高涨,但由于没有多余的银子购买昂贵的Mac电脑而踟蹰不前。其实,针对初学者,如果想进入iOS开发的天地
15#
发表于 2015-4-7 18:10:03 | 只看该作者
在百度搜索你想要了解的类名(苹果的cocoa和cocoatouch框架的类名很有特点很容易搜到,前缀都是NS or UI),看别人写的博客详解
分手快乐 该用户已被删除
16#
发表于 2015-4-27 14:13:54 | 只看该作者
要学会通过各种方法将面前的事情变成自己感兴趣的,那专研起来就不会是无聊和折磨了。
谁可相欹 该用户已被删除
17#
发表于 2015-4-27 17:52:06 | 只看该作者
培训时可以选择安卓,iOS,Java,因为实习的时候我选了安卓,当时实习时间只有三周,学的晕头转向,而java我也没学过,iOS的基础是C语言,这个大学里还是学过的,于是选择了iOS。
飘灵儿 该用户已被删除
18#
发表于 2015-6-24 12:52:29 | 只看该作者
培训的时候很痛苦,每天要待12个小时,上午讲课,下午和晚自习解决作业,看文档,学习的时候感觉就是资料太少,而且看着资料也不明所以,非常痛苦,
愤怒的大鸟 该用户已被删除
19#
发表于 2015-6-27 19:25:48 | 只看该作者
才在自己的Windows电脑上安装配置成功了一个完美的Mac OS X Lion(10.7.4)系统,而且下载了Xcode4.5的最新版本。虽然不能实机调试,但是作为iOS开发学习已经非常完美了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 19:33

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表