‘壹’ 如何把CyanogenMod 移植到到自己的android设备上
工欲善其事,必先利其器
1、基础环境
使用的环境:ubuntu 11.04环境,测试的Android机器 华为:C8500。
官方文档列出开发需要下列的软件包以及下载来源:
python 2.5 -- 2.7, python.org.
GNU Make 3.81 -- 3.82, gnu.org
JDK 6 if you wish to build Gingerbread or newer; JDK 5 for Froyo or older. You can download both from java.sun.com.这里安装的是JDK6
Git 1.7 or newer. git-scm.com.
官方文档说11.10的运行以下的安装命令如下:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
libxml2-utils xsltproc
网上有一安装的指引给出另一个安装命令
$sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool
由于懒得逐个包去甄别,上述两条命令我都运行和安装了。
注意:sun-java6-jdk是无法安装的,可以自己下载
2、关于 USB 访问权限
Android的开发和调试使用的最主要连接设备的命令 adb和fastboot都需要使用USB连接,从文档上知道,Ubuntu下面USB的访问权限可能会出问题,解决的方法文档也列明了。
我的经验是如果访问不了连接的USB设备了,再查阅资料处理。为了以备以后查阅,记录下来如下:
针对摩托罗拉的设备,使用root文件创建/lib/udev/rules.d/11-android.rules,生成下列的配置到文件中。#号为注释符号,下列配置,第一行针对一种设备,第二行针对所有摩托罗拉设备。
#SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProct}=="41db",MODE="0666,OWNER="shallon"
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", OWNER="shallon" #All Motorola
其中的idVendor和idProct的值怎么来呢?用USB线连接设备,然后运行lsusb可以看到设备的这两个值,例如,下文显示摩托罗拉的ME811的相肆悄氏关配置值就是22b8和41db。
Bus 001 Device 082: ID 22b8:41db Motorola PCS Droid/Milestone (Debug mode)
Bus 001 Device 083: ID 046d:c018 Logitech, Inc. Optical Wheel Mouse
3、安装repo
repo是一种更好的用git的一种工具环境。下面命令中repo安装到用户home目录的bin目录下。
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
4、下载安装Android 源码
如果不打算编译Android源码,可以跳过。在WORKING_DIRECTORY上下载源代码,使用repo init命令指定下载源代码的版本,-b 参数指定版本号,如裂散果不指定,则是运渗最近的一个版本。
repo sync则是下载/同步代码的命令。
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
$ repo init -u https://android。googlesource。com/platform/manifest
$ repo init -u https://android。googlesource。com/platform/manifest -b android-4.0.1_r1
$ repo sync
4.a、下载 cyanogenmod 的源码可以生成自定义的 Android Rom
CyanogenMod 致力于生成第三方的非官方的 Android 的 Rom ,目前比较火爆的小米手机的MIUI就是CyanogenMod的衍生产品。下面的命令获取 gingerbread 的版本的源代码。如果不打算尝试这些工作可以跳过此步。
$ mkdir -p ~/cyanogenmod
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
$ repo sync -j16
n这里是16,表示同时打开的网络链接数,开启多个网络连接来下载,用以提升的下载的速度。
5、下载开发编译用的Android SDK
参考的官方文档:http://developer。android。com/sdk/installing.html
5.1下载eclipse开发环境,推荐安装“Eclipse Classic”版本,介质下载的地址:http://www.eclipse.org/downloads/ 不用eclipse者可以略过
5.2下载Android SDK,介质安装的地址:http://developer。android。com/sdk/index.html
5.3下载安装eclipse 的ADT plug-in,ADT是 Android Development Tools的缩写。
5.4安装相关的工具包开发包。
安装的方法,可以从eclipse的IDE界面启动Android SDK Manager, Window > Android SDK Manager,或者在Android SDK的根目录运行android命令。
下列的开发包必须要安装:“SDK Tools”,“SDK Platform-tools”,“Android platforms(选择一个或者多个)”
6、测试Android SDK的主要开发工具
6.1 adb
使用USB线连接一台测试的Android设备,运行adb 的两个命令
~/android/sdk/android-sdk-linux/platform-tools$ ./adb devices
List of devices attached
0A3AABB70502A00A device
以及
~/android/sdk/android-sdk-linux/platform-tools$ ./adb shell 连接上设备,能够看到设备上的文件系统,证明adb的工具运作正常。
adb的工具很重要,主要用来调测设备。如果设备被“root”(系统被破解,开放了设备的管理员权限),连接上设备之后,能进行安装、删除软件,远程上传/下载文件,以及查看系统的日志等操作。如果设备没有“root”,则可以用的操作少很多。
6.2 fastboot
fastboot则是用来刷机的,主要用到的操作如下:
fastboot flash userdata userdata.img
fastboot flash system system.img
fastboot flash boot boot.img
fastboot reboot
6.3 SDK上的Android模拟器
~/android/sdk/android-sdk-linux/tools$ ./emulator ,显示命令存在,但是报错了,不要紧,这里运行一下只是看看是否正常安装了。
‘贰’ 安卓7.1支持哪些手机 最新支持安卓7.1系统手机一览
题主有一个误区,并不是Android7.1支持哪些手机,而是在于手机厂商会不会去适配最新Android7.1系统,然后重新做硬件驱动适配,最后推送给用户,Android系统属于开源系统 世界上最大的第三方rom网站cm(cyanogenmod)系统就是最早做开源Android系统的,大陆的什么小米系统还有eui oppo等订制安卓系统都和cm是属于一种三方系统,
谷歌的亲儿子nexus6,现在已经停止更新了,也已经到了Android7.1.2,但是以后谷歌不会给它做更新支持了,基本上cm系统和nexus pure系统还是会做支持Android8的rom。
至于支持Android7.1的手机那就太多了
google:pixel 、 pixel xl 、nexus6p、nexus5x、nexus6p
HTC多款新机支持升级到Android Nougat,具体包括HTC 10 (直接预装)、HTC One M8、HTC One M9+、HTC One E9+、HTC One E9、HTC One ME、HTC One E8、HTC One M8 EYE、HTC Butterfly 3、HTC Desire 826、HTC Desire 820、HTC Desire 816,其余大多为Android Marshmallow。
而三星Galaxy S5、Galaxy S5 LTE-A、Galaxy S5 neo、Galaxy S6、Galaxy S6 Edge、Galaxy S6 Edge+、Galaxy Note 4、Galaxy Note Edge、Galaxy Note 5、Galaxy Tab S2等设备都将支持升级至Android 6.x Marshmallow。
索尼Xperia Z5、Xperia Z5 Compact、Xperia Z5 Premium、Xperia Z4 (tablet)、Xperia Z3+、Xperia Z3、Xperia Z3 Compact、Xperia Z3 (Tablet) Compact、Xperia Z2、Xperia Z2 (Tablet)、Xperia M5、Xperia C5 Ultra、Xperia M4 Aqua等Xperia产品线都将迎来Android Marshmallow更新。
另外,2015 Moto X Pure Edition (3代机)、2015 Moto X Style (3代机)、2015 Moto X Play、2015 Moto G (3代机)、Moto E (2015)、2014 Moto X Pure Edition in the US (2代机)、2014 Moto X (2代机) --拉美、欧洲、亚洲版、2014 Moto G and Moto G 4G LTE (2代机)、DROID Turbo (有且只有一款)、Moto Turbo、2014 Moto MAXX以及Moto X和Moto G+E等摩托罗拉机型也可升级至Android Marshmallow。
大陆的oppo r9s 目前测试版中,看朋友升级了,真垃圾根本就没有原生7的优点、
华为的是p10 p9 Mate+8、P9、P9+Plus、荣耀8、荣耀V8、麦芒5、荣耀5C、荣耀6X、G9+Plus、nova
‘叁’ CyanogenMod会让Android更开放吗
不会,开不开放和开放程度取决于安卓开放aosp的程度。
‘肆’ Android 和 MIUI 和 CyanogenMod 这三个 ROM 是什么样的一个关系
一个是没修改过的程序,其他的是在第一个上面加上自己的修改
‘伍’ 如何移植android2.1源代码到自己的手机上
一,准备好android2.1源码编译环境以及手机USB调试环境。
二,将手机上硬件驱动程序以及相关的配置文件通过ADB命令保存好。
三,针对不同的手机机型,制作相应的vendor配置文件。
四,编译源码。
五,通过手机提供的bootloader刷机或者直接以recovery的方式更新ROM。
在以上五个步骤中,其中最难处理的便是第2个步骤,这个步骤需要熟悉每个手机机型的硬件参数,并且能够在手机上找到相关的驱动程序以及了解他们如何配置。而CyanogenMod团队公布的源码当中,己经将相关的工作做好了,编译源码之前仅仅需要执行相应的shell命令,便可顺利的下载相应的手机驱动程序以及配置文件。
下面是移植步骤,供参考:
一,首先需要下载CyanogenMod 5.0.8的源码:
$ mkdir android-cm5
$ cd android-cm5
$ repo init -u git://github.com/CyanogenMod/android.git -b eclair
$ repo sync
二,下载CyanogenMod需要的一些共同文件,如果想最终版本中不需要这些APK,也可以通过配置/vendor/cyanogen/cyanogen.mk文件将这些需要的APK COPY命令注释掉。
$ cd vendor/cyanogen/
$ ./get-rommanager #下载一个RomManager.apk包,主要是刷ROM用的。我没用过。
$ ./get-google-files #其它的一些google开发的android apk包,我也没有用过!
三,下载针对htc legend(g6)的vendor.
$ cd ../../vendor/htc
$ git clone git://github.com/aleho/android_vendor_htc_legend.git #下载针对htc legend(g6)手机的vendor,里面包括相关的配置参数,以及从手机上下载驱动程序的SHELL命令。
$ mv android_vendor_htc_legend/ legend
$ cd legend
$ ./extract-files.sh #确保这个命令执行将你的手机连接好电脑并且开了手机USB调试,adb命令可以连接手机。这个过程主要是下载htc legend(g6)驱动程序以及配置文件。
四,针对CyanogenMod 5.0.8源码打上htc legend(g6)的补丁包,这个补丁包主要是wifi和触摸屏的,如果不做,触摸屏将无法触摸以及wifi功能无法启动。
‘陆’ Android 系统上的 Xposed 框架中都有哪些值得推荐的模块
1GravityBox 超强劲的界面修改应用,CyanogenMod有的功能它都有,甚至还更全面。(GravityBox [KK] kitkat版本)(GravityBox [JB] jelly bean版本)
2XuiMod 可以更改特效什么的。(XuiMod | Xposed Mole Repository)
3Greenify(又名绿色守护 (Greenify))‘绿色守护’帮助你甄别那些对系统全局性能和耗电量有不良影响的应用程序,并通过独特的‘绿色化’技术,阻止它们消耗您的电池电量橡塌游,占用您的宝贵内存。经过‘绿色化’工艺处理的应用,在您没有主动启动它们的时候,无法‘偷偷’运行,而在您正常启动它们时仍然拥有完整的功能和体验,正如iPhone应用那样梁销!
4AppOpsXposed 这个是专门给4.4的,可以解除Google 对Ops权限管理接口的封锁,还可以在app 详情界面的action bar 上添加一个导向Ops 的按钮。(AppOpsXposed)
5BootManager 开机自启动进程管理,反正我是不会去用360什么的。(BootManager | Xposed Mole Repository)
6InstagramDownloader 下载Instagram上你中意的照片,推荐给Instagram的死忠粉。(Instagram Downloader)
7Tinted Status Bar 利用它搭配 Thyrus KitKat Light UI 主题能玩出很不错的花样(Tinted Status Bar [BETA])
8XHaloFloatingWindow 是一款桌面漂浮空间,自定义后可以在桌面快速的开启应用。(XHaloFloatingWindow)
9XBlast Tools(原Status Bar Clock Color Mod)能够在不修改apk 的情况下允许你改变颜色的状态栏和通知栏时钟颜色。(XBlast Tools for above Android 4.0.3+)
10Immerse Me 可以强迫所有app 进入扩展桌面模式 (Immerse Me | Xposed Mole Reposi
11XPrivacy 优秀的权限管理,不过4.3+用Ops 的朋友们可以无视。(XPrivacy | Xposed Mole Repository)
可以阻止系统在低电量时自动关机,榨干你的电池,不过记衫厅得保存数据!!!!()
13LBE Security Master - Translation International 这个是送给LBE安全大师的用户的,为LBE提供了更多语言翻译(虽然发在这里貌似没啥用)(LBE Security Master)
14XForceEnter 强制使用键盘回车键来打开Hangouts 中的emoji 表情键盘(XForceEnter | Xposed Mole Repository)
‘柒’ 如何看待 Android 第三方 ROM 的安全性隐患
1. 如果是一些不值得信任的第三方制作的ROM,确实会有一定危险,但对于有的开发社区做的ROM,还是相当值得信赖的,比如cyanogenmod,全部源代码都可以下到,有什么后门直接就被人暴露出来了。对于root来说,目前大部分人使用的superuser permissions还是相对比较安全的,至少申请了root的应用都在你的允许和监控下。
2. 随意读取联系人的问题确实是比较严重,但这个也是在用户允许的情况下,如果对其有疑问,建议不安装即可,Android应用众多,总有替代产品的。此外,在iOS上此类问题同样存在,用户数据随便会被应用访问到,而且还是不会有任何提示,从这方面来说,Android的提示是比iOS安全更多的做法。
3. 手机商为何乱袜没有第三方ROM功能多,易用,这个和手机商本身条谨陪清件和外部政策等的限制有关的,不仅仅是技术的限制。一个最简单的例子,大家都需要GMS这样的应用,但国内想上都不可以,而且GMS也是有费用支出的,第三方则基本没这种限制。并且,第三方有时会对Android系统进行一些更深入的修改,会导致产生一些兼容性问题,也许会无法通过CTS测试,对于厂家来说,很多是无法接受的。而且,厂家会为其系统构建一些战略性应用,这些应用不会因为好用与否就有所变化,而第三方也很少祥前这种限制。
‘捌’ 安卓系统,cm12.1是什么系统能介绍下吗
CyanogenMod是一个基于开源Android系统,供某些手机使用的二级市场固件。它提供一些在官方Android系统或手机厂商没有提供的功能 ,例如:
支持Free Lossless Audio Codec-FLAC(无损音频压缩编码)音频格式的音乐,多点触控,从SD外置存储器运行程序,压缩缓存,大量APN的名单,重新启动功能,Wi-Fi无线网络支持,蓝牙,USB网络分享等。
CyanogenMod也是第一个使用BFS作任务管理器的操作系统。CyanogenMod声称提供比官方固件版本更高性能和更可靠。
CyanogenMod 12.1CM 12.1基于Android5.1,保持原生界面风格,并加入了CM的一些特色功能。之前有报道称CM已经和微软达成合作,微软应用和服务将进驻CM ROM,不过CM 12.1,并没有预装微软应用和服务。
特点
高度优化的内核,带有很多额外模块改进的RAM,使用智能启动和优化安装选项,包含E2FSProgs可检查并转换Ext文件系统。
自动安装Apps2SD,多个分屏幕,自动适用方向,关机和重启依然具有干净的文件系统,不需要危险的SPL操作。
项目更名
知名的第三方安卓定制ROM CyanogenMod正式与我们说再见,不过这并不意味着CM彻底终结。CyanogenMod之父Steve Kondik在内核心团队成员仍被保留下来,他们带来全新的Lineage OS,一定程度上可以说是CM的延续。
‘玖’ cyanogenmod修改了android哪些
去除了原生谷歌的系统框架,系统服务,谷陪歼歌原卖乱仔生软件,cyanogenmod团队修改好的系统,国产系统大都中汪是在cyanogenmod的基础上进行定制自己的系统。
‘拾’ 使用Cyanogenmod ROM的Android设备要怎么通过Google账户同步数据
首先要可以连上google,其次,有个账号。再次登陆上就行了。
手机用户同步设置:1.进入手机设置—账户与同步—登陆账户(Gmail账户);
2.将账户与同步设置为自动同步;
3.打开手机上的通讯录菜单,上面会有分组、全部、微博选项,选择分组即可看Gmail账户;
4.只要手机保持上网功能正常,Gmial账户里面的联系人会自动同步至手机.
电脑用户同步设置:要使用官方市场,voice,books必须刷GMS,同步邮件,日历,联系人,用Exchange Syn账户就可以。