前面一份投稿的错误很抱歉,rom本身就找错了,用了一个AOSP-like的刷机包。好在这份内容错误的投稿多少起到了抛砖引玉的作用,当天晚上,就给出了正确的rom的分析《纯技术分析阿里云OS和Android之间的关系》。这里想做的事情就是把它的工作进一步展开,办法很笨,简单而直观:找出整个rom中,linuxkernel以上的所有部件各是什么东西。这样各位看官就能知道整个rom由什么组成,至于阿里云OS到底是什么,想必能获得属于自己的正确判断。
使用的方法是,通过Binary,动态库的名字来推测它本质上是什么,在AOSP Android中有没有相同或类似的东西。
刷机包的来源是http://bbs.aliyun.com/read.php?tid=22809
.so文件一般指的是linux下的动态链接用的库,它的作用类似于windows架构中的dll。简单地说,源代码的函数被编译成二进制格式,存放在.so库中。.so库可以被动态调用。在Android中的app如果要使用C,C++代码编译出的二进制程序,一般都得通过JNI调用.so库的方式。
system/lib/ 中的动态库
liba2dp 蓝牙a2dp协议用的参数
libacc Android内建的轻量级C编译器
libAK8975Compass 可能是日本旭化成Electronic的Ak8975指南针相关库
libaligl2 可能是阿里云的相关库
libalipy 可能是阿里云的相关库
libalitag 可能是阿里云的相关库
libandroid Android提供的一些API实际执行时调用的库
libandroid_runtime 和Android中实现的JNI的主要库,由frameworks/base/core/jni/下的代码编译而来
libandroid_services 和Android中实现的JNI有关的库
libappengine 可能是阿里云appengine相关库
libardrv_dynamic 可能是和NVIDIA相关的库(W700使用了NVIDIA Tegra2作为其AP处理器)
libasound alsa-lib(Advanced Linux Sound Architecture),linux的音频系统的中间层,用于Android
libasound 同样是alsa的库
libaudioeffect_jni Android与音效有关的库,涉及到密集运算,因此用C代码实现可能更有效率
libaudioflinger Android的audio最核心的部分是audioflinger,audioflinger向上处理来自于应用程序的声音相关的所有请求,向下通过AudioHardwareInterface访问硬件
libaudiopolicy audioflinger必需的库
libbinder Android用于实现binder机制的库,binder用于Android的跨进程通信
libbluedroid Android中和蓝牙(bluetooth)相关的库
libbluetooth Android中和蓝牙(bluetooth)相关的库
libbluetoothd Android中和蓝牙(bluetooth)相关的库
libc Android中C运行库的实现,也就是Bionic
libcalibrate Android中与触摸屏相关的库
libcamera Android中与摄像头相关的库
libcamera_client Android中与摄像头相关的库
libcameraservice Android中与摄像头相关的库
libcgdrv 可能是与Tegra 2相关的库
libcloudletevent 可能是阿里云云服务相关库
libcloudletos 可能是阿里云云服务相关库
libCommon Android的相关库
libcrypto Android中所使用的OpenSSL的一部分,包含了所使用到的加密算法的库
libctest C++测试工具,被Android采用
libcutils Bionic的一部分,是Android中最基础的库
libdbus Dbus,被Android拿来用于进程间通信
libdiskconfig Android中与储存(磁盘)相关的库
libdl Bionic实现的动态链接相关的库
libdrm1 Android中与drm(电子版权管理)相关的库
libdrm1_jni Android中与drm相关的库
libdvm Dalvik虚拟机本体
libeffects Android中与媒体相关的库,源代码在/mdia/libeffects/中
libEGL Android采用的OpenGL相关库
libemoji “絵文字”(颜文字)相关库
libETC1 OpenGL相关库
libexif Android所采用的编辑照片EXIF信息相关的库
libexpat (The Expat XML Parser)一个叫做Expat的XML解析器,可在Android的源码目录/platform/external/下面
libFFTEm Android使用的一个用于计算FFT(快速傅里叶变换)的库
libGLESv1_CM Android采用的OpenGL ES相关库
libGLESv2 Android采用的OpenGL ES相关库
libgui Android中与用户界面相关的库
libhardware Android中HAL(硬件抽象层)相关库
libhardware_legacy Android中HAL(硬件抽象层)相关库
libicui18n ICU(International Component for Unicode),Android中与字符编码有关的库,i18n指的是internationalization,也就是国际化,还有一个叫L10n(localization,本地化)的类似概念。
libicuuc 同样是libicu的一部分
libiprouteutil Android中与TCP/IP栈相关的库
libjni_latinime Android中与拉丁字母输入法相关的库
libjni_pinyinime Android中与中文拼音输入法相关的库
libjnigraphics Android 2.2开始引入的部件,与绘图有关,对bitmap的访问进行了封装。
libjniktouchinner 似乎是和天语(K-touch)触摸屏相关的库
libjpeg Libjpeg是被Android拿来用于处理jpeg图像的相关库
liblame1lib LAME,是一个著名的mp3编码器,AOSP中似乎没有它。LAME本身仅以源代码形式,按照LGPL发布以躲避法律问题,发行LAME的可执行程序(包括库)可能需要MP3专利持有者的授权
liblamelib LAME
liblog Android所使用的,有关日志记录的库
libm Bionic的一部分,与内存分配回收有关
libmapview-jni 没有出现在AOSP中,可能是和阿里云OS的地图部件有关的库
libmedia Android的MediaPlay架构的一部分,源代码在/frameworks/base/media/libmedia/中
libmedia-jni MediaPlayer中负责与JNI通信的部分
libmediaplayerservice MediaPlayer架构的一部分,通过继承libmedia.so的类实现服务器的功能
libmllite Android中与传感器相关的库
libmlplatform Android中与传感器相关的库
libmpl Android中与传感器相关的库
libnativehelper Dalvik的一部分,用于注册JNI调用的原生代码函数,源代码在\dalvik\libnativehelper 里面
libnetlink RSVP协议开源实现,被Android采用
libnetutils Android中有关以太网(Ethernet)的模块
libnfc_ndef Android中用于实现nfc的一小部分,主要是实现NDEF消息的解析,供Framework调用,但在这个rom中没有找到libnfc这个主要模块
libnggame Samsung GameHub相关库(这显然不太可能是AOSP的一部分)
libnodejs Node.JS,一个服务器端JavaScript 解释器,可能用于阿里云相关服务
##以下一长串libnv开头的都是和NVIDIA Tegra2有关的库,nv是NVIDIA的惯用缩写。也就是说,也可以在别的使用Tegra芯片的手机中找到类似的内容
libnvddk_2d ddk指的可能是Driver Development Kit
libnvddk_2d_v2
libnvddk_audiofx
libnvddk_vmr
libnvdispmgr_d
libnvec
libnvmm
libnvmm_audio
libnvmm_camera
libnvmm_contentpipe
libnvmm_image
libnvmm_manager
libnvmm_misc
libnvmm_parser
libnvmm_service
libnvmm_tracklist
libnvmm_utils
libnvmm_video
libnvmm_videorenderer
libnvmm_vp6_video
libnvmm_writer
libnvodm_dtvtuner
libnvodm_imager
libnvodm_query
libnvomx
libnvomxilclient
libnvos
libnvrm
libnvrm_channel
libnvrm_graphics
libnvsm
libnvtestio
libnvtestresults
libnvwinsys
libnvwsi
##
libopensl_audio 与OpenGL ES的音频部分相关的库
libOpenSLES 与OpenGL ES的音频部分相关的库
libpixelflinger Pixelflinger是Android系统中为OpenGLES引擎提供的一套软件渲染器
libpmstatus 可能是阿里云邮的库
libqqsecure 和腾讯QQ有关的库
libreference-cdma-sms Android中与CDMA这种蜂窝网络制式相关的库
libreference-ril
Android中的ril库,负责与基带(baseband)芯片的驱动(经常会被称作‘基带’,‘radio’等)通信的部分
libRS Android中与用户界面有关的库,和launcher有关
librs_jni Android中与用户界面有关的库,和launcher有关
librtp_jni Android中和RTP协议相关的库
libsensors.mpl Android中和传感器有关的库
libsensorservice Android中和传感器有关的库
libsinautility 和新浪微博有关的库
libskia Android所采用的SKIA图形引擎
libskia Android所采用的SKIA图形引擎
libskyeye SkyEye(天目)硬件模拟平台相关库,可能是阿里云OS所使用的库
libsmsChecker 可能是QQ管家的组件
libsonivox 一个电子声音合成器,源码在/external/sonivox/ 中
libsoundpool Android中和声音回放有关的库
libsqlite Android所使用的Sqlite的相关库
libsqlite_jni Sqlite的相关库,用于JNI通信
libSR_AudioIn 和Tegra 2有关的库
libsrec_jni 源代码在/external/srec/ 中,
libssl OpenSSL模块主体
libstagefright FFmpeg(现在叫libav)的模块
libstagefright_amrnb_common FFmpeg(现在叫libav)的模块
libstagefright_avc_common FFmpeg(现在叫libav)的模块
libstagefright_color_conversion FFmpeg(现在叫libav)的模块
libstagefright_enc_common FFmpeg(现在叫libav)的模块
libstagefright_foundation FFmpeg(现在叫libav)的模块
libstagefright_omx FFmpeg(现在叫libav)的模块
libstagefrighthw FFmpeg(现在叫libav)的模块
libstdc++ Bionic的C++库
libstlport Bionic的C++的STL模版库
libstorageservice 可能是阿里云OS的库
libsurfaceflinger Android显示系统的部件相关库
libsurfaceflinger_client Android显示系统的部件相关库
libsystem_server Android中和系统服务有关的库
libsysutils Android的核心模块,这里的一个(可能是曾经的)漏洞和zergrush的提权有关
libthread_db Android采用的与多线程调试有关的库
libttspico Android采用的TTS语音相关库
libttssynthproxy Android采用的TTS语音相关库
libtyidservice 可能是阿里云OS的库
libui Android的GUI(图形用户界面)的中枢
libutils Android的底层库,这个库以C++实现,它提供的API也是C++的。Android的层次的C语言程序和库,大都基于libutils开发。
libVideoCtrl 和视频控制相关的库
libvmkid_clibs 阿里云OS的lemur虚拟机
libvmkid_lemur 阿里云OS的lemur虚拟机
libvorbisidec Android采用的Vorbis解码器(如ogg等)
libwebcore Android中的Webkit网页渲染引擎
libwpa_client Android中和无线局域网wpa加密相关的部分
libxgold-ril 也是一个Ril模块
libz Android所使用的Zlib
node_compress node.js所使用的流压缩器扩展,应该是阿里云OS的部件
node_zipfile node.js管理zip压缩文件的扩展,应该是阿里云OS的部件
omxplayer omxplayer是Android所使用的一个媒体播放器
system/bin 中的可执行文件,linux的原生可执行文件不需要,通常也没有扩展名
akmd8975 W700所使用的指南针有关
am Android所使用的命令行工具
app_process Android中启动java程序的途径
applypatch 源码在tools/applypatch/
应该是和.patch差分补丁有关的工具,可能与OTA更新有关
auth.cgi 可能是阿里云OS的部件
bootanimation Android负责渲染启动动画的
BqTool 可能是阿里云OS的部件
brcm_patchram_plus Android中与蓝牙相关的模块
bugreport Android的调试工具,可以通过adb启动
chpasswd.cgi 可能是阿里云OS的部件
cyttsp_fwloader 似乎是一个Android的硬件校正工具
dalvikvm Dalvik虚拟机的执行文件
dbus-daemon Android采用的Dbus的看守进程
debuggerd 一个Android的守护进程,他会把出问题的进程信息打印到文件里面
dexopt Android中执行odex相作的程序
dhcpcd Android负责进行DHCP的守护进程,可能用于wifi热点模式
dnsmasq Android使用的一个域名解析服务器,用于提供DNS 缓存和DHCP 服务功能
dumpstate Android的命令行调试工具
dumpsys Android的命令行调试工具
dyz Android的命令行调试工具,和Dalvik虚拟机的Zygote机制有关
fsck_msdos Android使用的磁盘检查工具
FWHelper 可能是阿里云OS的部件
glgps Android使用的负责GPS芯片与上层通信的守护进程
gyrotest 与陀螺仪有关的
gzip gzip压缩工具,在Andoid上都能见到
hciattach Android上用于蓝牙芯片初始化,协议绑定等功能的程序
ime Android的一个部件,源代码在/frameworks/base/cmds/ime/
input Android的一个部件,提供一种在终端输入命令来控制系统的方式
installd 安装apk时相关的服务
iptables iptables防火墙,AOSP源码中德/external/ipdables/ 里可以找到
keystore Android采用的密钥/数字证书管理工具
lemur 阿里云OS的虚拟机进程
lexopt 阿里云OS的虚拟机的“dexopt”
linker Android用于共享库的加载,链接
logcat Android的调试工具,用于输出日志
logmodule Android的调试工具,和日志有关
logwrapper Android的调试工具,和日志有关
mediaserver Android的mediaserver
monkey Android的压力测试工具,向系统发送伪随机的用户事件流(键盘输入、触摸屏输入、手势输入等)
mtpd Android中和VPN有关的守护进程
ndc Android中和网络有关的工具
netcfg Android中获取网络信息的工具
netd Android中和网络有关的工具
nv_hciattach NVIDIA相关的内容
nvtest NVIDIA相关的内容
omx_tests Android的测试工具
pand Android中和建立wifi热点有关的工具
phoneService.cgi 可能是阿里云OS的组件
ping 这个就不用说了吧,除了ping以外还有什么
pm Android用于包管理的脚本(显然pm就是package manager的缩写)
pppd Android中用于Point-to-Point Protocol的守护进程
progress.cgi 可能是阿里云OS的组件
recoveryd 可能与recovery有关的内容
rild Android的RIL模块的守护进程
rilsyscmd 可能是和RIL模块有关的命令行工具
run-as Android的一个命令
schedtest Android的一个调试工具
screencap Android的截图工具
sdcard Android的和磁盘相关的工具
sdptool Android的一个管理工具
service Android的Service组件的工具
servicemanager Android的Service组件的工具
sh 这个就不用说了吧
surfaceflinger Android显示部件的守护进程
svc Android的Service组件的工具
system_server Android的Service组件的工具
tc Android的一个工具
tegrastats NVIDIA的Tegra芯片有关的工具
toolbox Android的一个工具
upload.cgi 可能是阿里云OS的组件
v8shell Google的V8虚拟机,用于快速执行javascript
vdc Android的一个工具
vold (Volume Daemon) 负责大容量存储设备挂载和删除的守护进程
wl Android的一个工具
wpa_supplicant Android中用于处理无线局域网的WPA(2)安全措施的守护进程
xgold-mux 可能是阿里云OS的组件或是W700手机的组件
我的判断是,W700用的阿里云OS从头到尾用的了和AOSP Android一样的东西:Linux内核,rom中几乎所有的二进制部件(/bin目录下的可执行程序,/lib目录下的动态库)都是和AOSP Android相同的,仅仅多出了两个模块:lemur虚拟机(而且这个东西的本质可能是和Dalvik没什么区别的)以及云app用的一些客户端程序,库,框架。
到这里为止,很明显阿里云OS的云app部分是一个Android的补丁,如果按照人们通常不会把Windows 7 rtm当作windows 7 sp1升级包的补丁这样的标准来看的话。
而lemur更像是一个Dalvik的补丁,或者不妨说,是插件(plugin):
有一个蹊跷的地方,在framework/目录下的所有jar库中的java中间代码全部是以lex结尾的,包括那些明显是android framework的部分。android本身的java API都是封装在framework/下面的库中,包括dex格式在内应用运行的时候会直接调用这些jar库中的lex格式所包含的对象(虽说实际上是经过lemur检测/优化后的”olex”):这意味着lemur有可能和Dalvik几乎完全相同,或者lemur就是Dalvik的一部分。
有可能lemur被写出来的唯一目的是用于制造不兼容性。退一步,lemur和Dalvik之间的区别显然远小于J2ME与Dalvik的差异。
Google施压的对象是受到OHA限制的Acer,至少字面上阿里云和这事情没有直接关系。选择不愿意发售手机的是Acer。
所以,阿里云公司:这个很丢人的话题,我们已经听了很多,到这里就可以了。不要再把你的伤口扯开了,已经够了。
分享到:
相关推荐
海量数据处理能力使得阿里云能够实时分析并处理来自各种智能设备的大量数据,为用户提供个性化服务和智能化决策支持。大规模集群管理能力则保证了系统的稳定性和扩展性,能够应对不断增长的设备连接需求。 在安全...
例如,阿里云、谷歌云、AWS、Azure等云计算巨头,以及华为、ARM、苹果等硬件厂商,都在利用自身的技术积累和资源进行布局。 物联网操作系统目前的趋势是轻量级系统和通用级系统并存。轻量级操作系统适合资源有限的...
例如,阿里巴巴的阿里云OS曾因涉嫌改动Android源代码而引起谷歌不满。谷歌重返中国后,这类问题可能会更加敏感,对依赖Android的厂商带来不确定性。 3. **语音助手领域:** - **科大讯飞的挑战**:国内多数智能...
通常,会选择云服务提供商,如AWS、阿里云或Google Cloud,创建存储和分析数据的服务器。树莓派通过网络连接,定时或实时地将收集到的环境数据发送到云服务器,确保数据的安全存储和远程访问。 触屏显示界面一般会...
它不仅提供了一系列的技术来实现Android和iOS等移动操作系统的自动化测试,还因为它开放的源代码和与SauceLabs等企业的合作关系,能够提供企业级的测试解决方案。在使用Appium时,充分的前期准备和学习是必要的,...
9. **云计算与大数据**:随着科技发展,云计算服务如AWS、阿里云的基本概念,以及大数据分析的简介可能也会成为作业的一部分。 10. **移动应用开发**:基础的移动平台应用开发,如Android或iOS,理解应用程序的生命...
9. 云计算与物联网:理解云计算的基本架构,如AWS、Azure、阿里云等服务,以及物联网(IoT)的概念和应用,如传感器网络、嵌入式系统等。 10. 项目管理:学习PMP、Prince2等项目管理知识,提升团队协作和项目实施能力...
8. **云服务**:考虑到大型图书馆可能需要处理大量数据,系统可能采用云计算服务,如阿里云或AWS,以提供弹性扩展能力和高可用性。 9. **数据分析**:系统可能集成了数据分析功能,通过对借阅数据的分析,为图书馆...
6. **云计算与大数据**:随着云计算的发展,可能探讨了相关服务如AWS、Azure、阿里云的使用方法,以及大数据分析的应用案例。 7. **物联网(IoT)**:可能涉及到智能家居、智能穿戴设备的新兴趋势,以及它们如何改变...
像谷歌的Android Things和Fuchsia、阿里的AliOS和AliOSThings、华为的LiteOS和鸿蒙OS、ARM的MbedOS等,这些系统不仅在技术上有着各自的侧重点,而且在市场定位和应用场景上也存在差异。随着这些科技巨头的加入,...
同时,华为还积极布局云计算服务,与阿里云、腾讯云等竞争,为企业提供数据存储、计算能力和智能化解决方案。 再者,华为在物联网领域的探索也是其多元化发展的一部分。随着物联网设备数量的快速增长,华为通过提供...
Gradle是Android Studio等IDE中广泛使用的构建工具,用于管理项目依赖关系和构建过程。 - **原因分析**: - Gradle版本过低或过高都可能导致与IDE或其他工具不兼容。 - 某些特定版本的Gradle可能存在已知问题,...