android系统编辑
- 格式:doc
- 大小:260.50 KB
- 文档页数:14
目录:瑞芯微android固件包介绍一、解包、打包二、固件升级三、固件修改1.固件精减、添加APK软件2.提取Root权限3.修改用户分区大小4.修改设置中“关于MID”中的机型型号5.美化界面6. 美化桌面瑞芯微android固件包介绍瑞芯微的android固件包分两种:一种为量产升级包(暂且如此称呼吧,PS:其实称之为开发包较为合适,因为是使用开发工具进行升级。
),使用量产升级工具RKAndroidTool.exe进行升级,量产升级包的文件包含:HWDEF、package-file、parameter、recover-script、Rock28Boot(L).bin、update-script和一个Image文件夹,里边又包含boot.img、kernel.img、misc.img、recovery.img 、system.img五个镜像文件。
System.img包含所有用户资源,大部分情况下修改system.img文件就能达到我们的目的。
本文也是重点围绕system.img的修改。
另一种为用户升级包(也暂且如此称呼吧),即将上述量产升级包的文件用工具打包成一个文件――update.img,使用用户升级工具RKAndroidDM.exe进行升级。
此文件包需通过解包成量产升级包后才能修改,修改后再打包成update.img进行升级。
一、解包、打包对于update.img的解包、打包,需用到附件“打包解包工具”中的AFPTool.exe、mkupdate.bat、unpack.bat三个文件,其中unpack.bat为解包工具,mkupdate.bat为打包工具。
将用户升级包update.img和上述三个文件放在同一目录下,双击unpack.bat后,就可以将用户升级包解包成6个文件和一个Image文件夹,即和量产升级包完全相同的文件。
此时可对相应的文件进行修改,修改完成后,再双击mkupdate.bat,会在Image文件夹下产生一个update.img,此文件就是打包后新生成的用户升级包文件。
Li1.1-System-App删减对照表桌面的自带软件,除了一个设置,全部都可以删除,而且可以正常开机重启,本着造福机友,特作下表,本人用的是李大的1.1,机刷rom后是139个apk,全解释无未知,但是app对照是全rom通用的,哪位机友有幸百度到了这个贴,放心拿来用,经长期测试,没得问题,这个可是本站处男贴。
由于本人使用的是李大的1.1,机刷后的app全部139个,当然适用任何rom,不多说了,放图吧,这是处男贴O,还有在此感谢x的支持,没办法他三个经典的3色调美化,把我迷过来了,晕死,强烈推荐机友下载。
APK名称APK解释可删建议保留AccountAndSyncsetings.apk 同步与帐户设定可AngryGps.apk Gps工程模式可保留ApplicationsProvider.apk 应用程序支持服务可BadgeProvider.apk 删除后短信等崩溃保留BluetoothOPP.apk 蓝牙共享保留BluetoothPBAP.apk 蓝牙保留BluetoothTestMode.apk 蓝牙工程模式测可BrcmBluetoothServices.apk 蓝牙保留Browser.apk 自带浏览器可buddiesnow.apk 好友现况,密友程序可CalendarProvider.apk 日历,但不能同步日历,删除后发不了短信保留Camera.apk 摄像头保留CameraFirmware.apk 摄像头固件保留CertInstaller.apk 证书安装保留Choco.apk 字体可chocoEUKor.apk 某种英文特殊字型可ClockPackage.apk 时钟,可删,删掉闹钟就没了保留Contacts.apk 名片夹保留ContactsProvider.apk 名片夹支持服务。
删了名片夹进不去了保留cooIEUKor.apk 英文字体,可以删除可CSC.apk 定制信息,还有权限好像不能在电子市场下载东西可DataCreate.apk 删除后系统跳到开机的“S闪”然后进桌面未发现有影响可Days.apk 日历插件可DefaultContainerService.apk 默认通讯录服务保留DialerTabActivity.apk 删掉后拨号盘没了保留digua.apk 地瓜游戏市场可Divx.apk 视频解码器可Dlna.apk 多媒体无线分享可DownloadProvider.apk 同步数据库,删除后音视频悲剧了,放不了保留DownloadProviderUi.apk 下载提供,不用谷歌市场的可以删除可Drmprovider.apk DRM受保护数据存储服务不可可DrmUA.apk 数字版权管理,删除后播放MPG,RMVB 可Dualclock.APK 双时钟插件可Email.apk 电子邮件,条形码扫描需要它来支持可Ecrypt.apk 加密可FactoryTest.apk 工程测试模式,可删,建议保留可Gallery3D.apk 图库,就那个相册保留GEmail.apk 谷歌Gmail邮箱可GoogleBackupTransport.apk 谷歌备份可GoogleCanlendarsyncAdapter.apk 谷歌日历同步可GoogleContactsSyncAdapter.apk 谷歌联系人同步可GoogelFeedback.apk 谷歌反馈可GooglePartnerSetup.apk 谷歌合作伙伴设置可GooglequickSearchBox.apk 搜索功能可GoogleServicesFramework.apk 谷歌服务框架,影响甚广,应该是安卓最基本的服务可HTMLViewer.apk 本地网页浏览,建议保留可InputEventApp.apk 输入事件可install_flash_player.apk 播放flash服务可JobManager.apk 任务管理器保留Kies.apk 手机连电脑软件可KiesAir.apk wifi无线管理文件可LidroidParts.apk 力卓高级设置保留LidroidTelocationprovider.apk 电话归属地保留LidroidToolBox.apk 力卓系统工具箱,极力推荐保留保留LiveWallpapers.apk 动态桌布,推荐删除可LiveWallpapersPicker.apk 动态桌布,推荐删除可LockSceen.apk 不按电源键即可锁屏,就那个一见锁屏嘛保留LogsProvider.apk 系统日志支持服务保留Maps.apk GoogleMap,建议换为支持离线地图版本的可marketupdater.apk 谷歌市场升级可Mediaprovider.apk 媒体数据存储服务保留MediaUploader.apk 媒体上传可Memo.apk 备忘录可MiniDiary.apk 迷你日记,可删,自行选择可Mms.apk 短彩信Mmsprovisioning.apk 短彩信下载之类MobileTrackerEngineTwo.apk 手机位置可MobileTrackerUI.apk 手机跟踪器界面,暂未发现对GoogleMap有任何影响可MusicPlayer.apk 音乐播放器,可删,自行选择MyFiles.apk 我的文件,文件管理可NetworkLocation.apk 联网位置可PackageInstaller.apk 程序安装器保留Personalization.apk 个人设置保留Phone.apk 电话程序保留Phone_Util.apk 电话工程,关于写号,USB设置保留PhoneErrService.apk 电话错误服务?删除后使用一周暂未发现影响可phonesetupwizard.apk 手机设置向导,可删,但wipe后出问题,推荐保留保留PicoTts.apk 文本转语音,推荐删除可PopupuiRecdiver.apk 提示消息接收器可Preconfig.apk 预设?从名称看,推荐保留保留Protips.apk 桌面的小机器人,推荐删除可QQSecure....apk QQ安全软件,自行选择可RootExplorer.apk RE管理器,可删,强烈推荐保留保留RoseEukor.apk 英文字体可SamsungApps.apk 三星自带的软件中心可SamsungAppsunaservice.apk 三星软件包可SamsungIME.apk 三星输入法,推荐装第三方输入法后删除可Samsungmobileap.apk 可以使笔记本等用手机的网络上网可SamsungWidget_calendarClock.apk 天气&时钟插件,推荐删除可SamsungWidget_Datacallsetting.apk 网络数据开关挂件可SamsungWidget_FeedAndUpdate.apk 我的社群插件,推荐删除可SamsungWidget_ProgramMonitor.apk 程序监控小挂件可SamsungWidget_StockClock.apk 首页时钟插件,推荐删除可ScreenCaptureService.apk 自带屏幕捕捉,方法是按返回+电源键可SecDownloadProvider.apk 删除后下载正常,删除后使用一周暂未发现影响可SecurityProvider.apk 通讯录保留SelftestMode.apk 工程测试模式可ServicemodeApp.apk 服务模式,删后进不了gps工程等保留Settings.apk 设置保留SettingsProvider.apk 设置支持服务,删除后无限重启保留SetupWizard.apk 设置向导,可删,但wipe后出问题,推荐保留保留SGSSecretCode.apk 特殊代码可Shutdown.apk 关机程序?删了可以正常关机。
Android Building System 分析设定档Android building system 包括几种重要的设定档,* Android.mk* AndroidProducts.mk* target_<os>-<arch>.mk, host_<os>-<arch>.mk and <os>-<arch>.mk* BoardConfig.mk* buildspec.mkAndroid.mk 是module 和package 的设定档,每个module/package 的目录下都会有一个Android.mk。
所谓的module 是指系统的native code ,相对于用Java 写成的Android application 称为package。
AndroidProducts.mk 则设定product 配置。
product 即特定系统版本,透过编译不同product ,产生不同软件配置内容,安装不同的application。
Product 可视为特定项目,产生特定规格系统。
BoardConfig.mk 是为product 主板做设定,像是driver 选择、设定。
*<os>-<arch>.mk 则是针对选择的操作系统和CPU 架构,进行相关设定。
buildspec.mk 是位于source 根目录下,为进行编译者所做之额外设定。
例如,可在此选择要产生的product 、平台、额外的module/package 等。
参数build/envsetup.sh 实作一个mm 指令,以编译单一module,不需编译整个source tree。
ONE_SHOT_MAKEFILE 这个makefile 变量/参数就是用以实作这个功能。
使用方法是在执行make 时,将该变量指定为module 的Android.mk。
安桌操作系统详解\system\app这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件。
在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是\data\文件夹中。
下面是详细的介绍:\system\app\AlarmClock.apk 闹钟\system\app\AlarmClock.odex\system\app\Browser.apk 浏览器\system\app\Browser.odex\system\app\Bugreport.apk Bug报告\system\app\Bugreport.odex\system\app\Calculator.apk 计算器\system\app\Calculator.odex\system\app\Calendar.apk 日历\system\app\Calendar.odex\system\app\CalendarProvider.apk 日历提供\system\app\CalendarProvider.odex\system\app\Camera.apk 照相机\system\app\Camera.odex\system\app\com.amazon.mp3.apk 亚马逊音乐\system\app\Contacts.apk 联系人\system\app\Contacts.odex\system\app\DownloadProvider.apk 下载提供\system\app\DownloadProvider.odex\system\app\DrmProvider.apk DRM数字版权提供\system\app\DrmProvider.odex\system\app\Email.apk 电子邮件客户端\system\app\Email.odex\system\app\FieldTest.apk 测试程序\system\app\FieldTest.odex\system\app\GDataFeedsProvider.apk GoogleData提供\system\app\GDataFeedsProvider.odex\system\app\Gmail.apk Gmail电子邮件\system\app\Gmail.odex\system\app\GmailProvider.apk Gmail提供\system\app\GoogleApps.apk 谷歌程序包\system\app\GoogleApps.odex\system\app\GoogleSearch.apk 搜索工具\system\app\GoogleSearch.odex\system\app\gtalkservice.apk GTalk服务\system\app\gtalkservice.odex\system\app\HTMLViewer.apk HTML查看器\system\app\HTMLViewer.odex\system\app\IM.apk 即使通讯组件包含MSN、yahoo通\system\app\ImCredentialProvider.apk\system\app\ImProvider.apk\system\app\ImProvider.odex\system\app\Launcher.apk 启动加载器\system\app\Launcher.odex\system\app\Maps.apk 电子地图\system\app\Maps.odex\system\app\MediaProvider.apk 多媒体播放提供\system\app\MediaProvider.odex\system\app\Mms.apk 短信、彩信\system\app\Mms.odex\system\app\Music.apk 音乐播放器\system\app\Music.odex\system\app\MyFaves.apk T-Mobile MyFaves程序\system\app\MyFaves.odex\system\app\PackageInstaller.apk apk安装程序\system\app\PackageInstaller.odex\system\app\Phone.apk 电话拨号器\system\app\Phone.odex\system\app\Settings.apk 系统设置\system\app\Settings.odex\system\app\SettingsProvider.apk 设置提供\system\app\SettingsProvider.odex\system\app\SetupWizard.apk 设置向导\system\app\SetupWizard.odex\system\app\SoundRecorder.apk 录音工具\system\app\Street.apk 街景地图\system\app\Street.odex\system\app\Sync.apk 同步程序\system\app\Sync.odex\system\app\Talk.apk 语音程序\system\app\Talk.odex\system\app\TelephonyProvider.apk 电话提供\system\app\TelephonyProvider.odex\system\app\Updater.apk 更新程序\system\app\Updater.odex\system\app\Vending.apk 制造商信息\system\app\Vending.odex\system\app\VoiceDialer.apk 语音拨号器\system\app\VoiceDialer.odex\system\app\YouTube.apk Youtube视频\system\app\YouTube.odex\system\bin这个目录下的文件都是系统的本地程序,从bin文件夹名称可以看出是binary 二进制的程序,里面主要是Linux系统自带的组件,Android手机网就主要文件做下简单的分析介绍:\system\bin\akmd\system\bin\am\system\bin\app_process 系统进程\system\bin\dalvikvm Dalvik虚拟机宿主\system\bin\dbus-daemon 系统BUS总线监控\system\bin\debuggerd 调试器\system\bin\debug_tool 调试工具\system\bin\dexopt DEX选项\system\bin\dhcpcd DHCP服务器\system\bin\dumpstate 状态抓取器\system\bin\dumpsys 系统抓取器\system\bin\dvz\system\bin\fillup\system\bin\flash_image 闪存映像\system\bin\hciattach\system\bin\hcid HCID内核\system\bin\hostapd\system\bin\hostapd_cli\system\bin\htclogkernel\system\bin\input\system\bin\installd\system\bin\itr\system\bin\linker\system\bin\logcat Logcat日志打印\system\bin\logwrapper\system\bin\mediaserver\system\bin\monkey\system\bin\mountd 存储挂载器\system\bin\netcfg 网络设置\system\bin\ping Ping程序\system\bin\playmp3 MP3播放器\system\bin\pm 包管理器\system\bin\qemud QEMU虚拟机\system\bin\radiooptions 无线选项\system\bin\rild RIL组件\system\bin\sdptool\system\bin\sdutil\system\bin\service\system\bin\servicemanager 服务管理器\system\bin\sh\system\bin\ssltest SSL测试\system\bin\surfaceflinger 触摸感应驱动\system\bin\svc 服务\system\bin\system_server\system\bin\telnetd Telnet组件\system\bin\toolbox\system\bin\wlan_loader\system\bin\wpa_cli\system\bin\wpa_supplicant\system\etc从文件夹名称来看保存的都是系统的配置文件,比如APN接入点设置等核心配置。
Android系统开机动画包括两部分:开机显示的ANDROID 文字;ANDROID发光动画。
这篇文章说的开机动画是第一种,下面开始正文!1. 制作当前屏幕像素的图片(模拟器默认为320*480)使用PS制作一张320*480的图片,保存时选―保存为Web 所用格式‖,然后在弹开的窗口上,―预设‖项选择―PNG-24‖,保存为android_logo.png注:好像只支持png-24,其他格式生成的rle文件显示不正常,有兴趣大家可以再验证一下。
2. 将图片转换为raw格式使用linux下的ImageMagick自带的convert命令,进行raw格式转换,命令为:convert -depth 8 android_logo.png rgb:android_logo.raw注:ubuntu 10.04 默认已经安装ImgageMagick工具,如果当前系统没有安装,可以执行下面的命令安装:sudo apt-get install imagemagick3. 将raw格式转化为rle文件需要用到android编译后的rgb2565工具,在android/out/host/linux-x86/bin目录下(android为当前源码所在目录),转换命令如下:rgb2565 -rle < android_logo.raw > initlogo.rle到目前为止,启动需要显示的图像已经做好了,就是initlogo.rle,注意文件名必须是这个,如果想改文件名,需要修改android/system/core/init/init.h中的宏:#define INIT_IMAGE_FILE "/initlogo.rle"====================================================================== ======================下面需要将initlogo.rle加入的android文件系统中4. 找到ramdisk.img文件(android/out/target/product/generic/ramdisk.img),将文件名改为ramdisk.img.gz,然后使用下面的命令解压:gunzip ramdisk.img.gz解压后得到ramdisk.img,可能有人要问,怎么文件名又改回去了?其实不然,使用file ramdisk.img查看一下就知道了:解压前:ramdisk.img: gzip compressed data, from Unix解压后:ramdisk.img: ASCII cpio archive (SVR4 with no CRC)跑题了,还是说正事儿。
android工作职责(万能18篇)android工作职责篇11、熟悉Java开发语言和环境,熟悉常用的网站开发架构和流程。
2、熟悉UI图形编程、基本算法和数据结构,熟悉基于TCP/UDP/HTTP的网络协议,了解HTML5技术;3、熟悉常用数据库软件的原理和使用,熟悉常用连接池组件,对数据库的优化有一定的理解。
具备良好合作态度及团队精神,并富有工作激情、创新欲望和责任感。
android工作职责篇21、广告前端SDK编程。
2、apk自动化打包工具编写。
职位要求:1、技术功底扎实,有2年及以上Android实际项目编程经验,有大型项目开发经验者优先。
2、理解apk打包原理,了解android工作基本原理,深入理解系统底层机制者优先。
3、了解系统api,对自定义通知栏,桌面悬浮窗口,gps,wifi热点列表抓取等功能实现熟悉并有实战经验。
4、具有良好的编辑风格和习惯,要求结构清晰,逻辑性强,代码冗余低。
5、有良好的沟通能力与理解能力,对工作有责任心。
6、有代码混淆及加密经验者优先。
android工作职责篇31、对Android的整体架构有较为深入的了解;2、精通Java开发语言,Eclipse开发工具,熟悉面向对象编程设计;3、熟悉AndroidUI控件编程,熟悉JNI/NDK,有过第三方库平台移植经验,有FFmpeg 开发经验者优先;4、熟悉Android下网络通信机制,对Socket、http通信有深刻的理解,熟悉Sqlite 数据库;5、熟悉Android多线程开发。
android工作职责篇41.半年以上的全职安卓开发经验2.熟悉安卓市场app上架流程,以及根据驳回理由处理app包问题3.精通安卓四大组件4.对androidui设计有丰富的经验,熟悉自定义控件,有ui优化实践更佳5.熟悉android网络开发,熟悉网络协议,熟悉sqlite数据库6.可以熟练处理各种机型、终端、os版本的适配的问题7.有较强的责任感和良好的团队合作精神及沟通能力android工作职责篇51.计算机相关专业毕业,本科及以上学历;2.熟练掌握java语言,有丰富的java项目开发经验;3.两年以上android软件全职开发工作经验,熟练掌握androidsdk,熟练掌握android 各种ui布局和控件;4.有c/c++使用经验、熟悉androidjni开发的优先。
Android编译系统(Android.mk⽂件详解)【Android-NDK(Native Development Kit) docs⽂档】NDK提供了⼀系列的⼯具,帮助开发者快速开发C(或C++)的动态库,并能⾃动将so和java应⽤⼀起打包成apk。
Android.mk⽂件是GNU Makefile的⼀⼩部分,它⽤来对Android程序进⾏编译。
因为所有的编译⽂件都在同⼀个 GNU MAKE 执⾏环境中进⾏执⾏,⽽Android.mk中所有的变量都是全局的。
因此,您应尽量少声明变量,不要认为某些变量在解析过程中不会被定义。
⼀个Android.mk⽂件可以编译多个模块,每个模块属下列类型之⼀:1)APK程序⼀般的Android程序,编译打包⽣成apk⽂件2)JAVA库java类库,编译打包⽣成jar⽂件3)C\C++应⽤程序可执⾏的C\C++应⽤程序4)C\C++静态库编译⽣成C\C++静态库,并打包成.a⽂件5)C\C++共享库编译⽣成共享库(动态链接库),并打包成.so⽂,有且只有共享库才能被安装/复制到您的应⽤软件(APK)包中。
可以在每⼀个Android.mk file 中定义⼀个或多个模块,你也可以在⼏个模块中使⽤同⼀个源代码⽂件。
编译系统为你处理许多细节问题。
例如,你不需要在你的 Android.mk 中列出头⽂件和依赖⽂件。
编译系统将会为你⾃动处理这些问题。
这也意味着,在升级 NDK 后,你应该得到新的toolchain/platform⽀持,⽽且不需要改变你的 Android.mk ⽂件。
注意,NDK的Anroid.mk语法同公开发布的Android平台开源代码的Anroid.mk语法很接近,然⽽编译系统实现他们的⽅式却是不同的,这是故意这样设计的,可以让程序开发⼈员重⽤外部库的源代码更容易。
在描述语法细节之前,咱们来看⼀个简单的"hello world"的例⼦,⽐如,下⾯的⽂件:sources/helloworld/helloworld.csources/helloworld/Android.mk'helloworld.c'是⼀个 JNI 共享库,实现返回"hello world"字符串的原⽣⽅法。
Android5.1-7.1系统(framework)定制、修改、移植、总结-上篇Android 5.1 - 7.1 系统(framework)定制、修改、移植、总结 - 上篇转⽬录1:修改开机logo修改开机logo有两种⽅法,⼀种直接去改c语⾔代码,第⼆种替换图⽚⽤python⽣成splash。
第⼀种⽅法我没试过,感觉挺⿇烦的,还有分辨率限制,超过多少分辨率就不能⽤第⼀种⽅法。
1. 修改的⽂件路径LINUX/android/bootable/bootloader/lk/splash2. 准备好logo图⽚(png、bmp格式)3. 查看中原图⽚的分辨率,修改logo图⽚保证分辨率⼀致4. ⽣成splash.img镜像⽂件注:图⽚分辨率很重要!很重要!很重要!⽣成splash.img 步骤1.The steps to generate a splash.img:2.3.1 sudo apt-get install python-imaging4.5.2 python ./logo_gen.py boot_001.png (*.bmp)为了减少编译时间可以直接将⽣成好的splash.img将刷机包中的⽂件替换掉。
2:Framework(SysteimUI) Android在状态栏增加⽿机拔插图标Android 4.1在拔插⽿机时,状态栏没有提⽰图标。
最近做了这个新的需求,步骤如下:1、在\frameworks\base\packages\SystemUI\res\drawable-Xdpi下增加⼀个⽿机图⽚stat_sys_headset.png。
drawable-Xdpi中的X根据⼿机的分辨率来确定,我的⼿机⽤的是drawable-hdpi;2、在\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone\PhoneStatusBarPolicy.java中增加下⾯的代码:1.private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {2.@Override3.public void onReceive(Context context, Intent intent) {4.String action = intent.getAction();5.if (action.equals(Intent.ACTION_ALARM_CHANGED)) {6.updateAlarm(intent);7.}8.else if (action.equals(Intent.ACTION_SYNC_STATE_CHANGED)) {9.updateSyncState(intent);10.}11.else if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED) ||12.action.equals(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED)) {13.updateBluetooth(intent);14.}15./*add code for adding headset icon in statusbar.*/16.else if (action.equals(Intent.ACTION_HEADSET_PLUG)) {17.updateHeadsetState(intent);18.}19.//endelse if (action.equals(AudioManager.RINGER_MODE_CHANGED_ACTION) ||21.action.equals(AudioManager.VIBRATE_SETTING_CHANGED_ACTION)) {22.updateVolume();23.}24.else if (action.equals(TelephonyIntents.ACTION_SIM_STATE_CHANGED)) {25.updateSimState(intent);26.}27.else if (action.equals(TtyIntent.TTY_ENABLED_CHANGE_ACTION)) {28.updateTTY(intent);29.} else if (action.equals(Intent.ACTION_LOCALE_CHANGED)) {30.31.// when acceptting the locale change event,reload USB connection notification.32.boolean isUsbConnected = mStorageManager.isUsbMassStorageConnected();33.mStorageNotification.onUsbMassStorageConnectionChanged(isUsbConnected);34.}35.}36.};37.38.public PhoneStatusBarPolicy(Context context) {39.mContext = context;40.41.// init StorageNotification object42.mStorageNotification = new StorageNotification(mContext);43.mService = (StatusBarManager)context.getSystemService(Context.STATUS_BAR_SERVICE);44.45.// listen for broadcasts46.IntentFilter filter = new IntentFilter();47.filter.addAction(Intent.ACTION_ALARM_CHANGED);48.filter.addAction(Intent.ACTION_SYNC_STATE_CHANGED);49.filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);50.filter.addAction(AudioManager.VIBRATE_SETTING_CHANGED_ACTION);51.filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);52.filter.addAction(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);53./*add code for adding headset icon in statusbar.*/54.filter.addAction(Intent.ACTION_HEADSET_PLUG);55.//end56.filter.addAction(TelephonyIntents.ACTION_SIM_STATE_CHANGED);57.filter.addAction(TtyIntent.TTY_ENABLED_CHANGE_ACTION);58.59.// add locale change event filter60.filter.addAction(Intent.ACTION_LOCALE_CHANGED);61.mContext.registerReceiver(mIntentReceiver, filter, null, mHandler);62.63.int numPhones = MSimTelephonyManager.getDefault().getPhoneCount();64.mSimState = new IccCard.State[numPhones];65.for (int i=0; i < numPhones; i++) {66.mSimState[i] = IccCard.State.READY;67.}68.// storage69.mStorageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);70.mStorageManager.registerListener(mStorageNotification);71.72.// TTY status73.mService.setIcon("tty", R.drawable.stat_sys_tty_mode, 0, null);74.mService.setIconVisibility("tty", false);75.76.// Cdma Roaming Indicator, ERI77.mService.setIcon("cdma_eri", R.drawable.stat_sys_roaming_cdma_0, 0, null);78.mService.setIconVisibility("cdma_eri", false);79.80.// bluetooth status81.BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();82.int bluetoothIcon = R.drawable.stat_sys_data_bluetooth;83.if (adapter != null) {84.mBluetoothEnabled = (adapter.getState() == BluetoothAdapter.STATE_ON);85.if (adapter.getConnectionState() == BluetoothAdapter.STATE_CONNECTED) {86.bluetoothIcon = R.drawable.stat_sys_data_bluetooth_connected;87.}88.}89.mService.setIcon("bluetooth", bluetoothIcon, 0, null);90.mService.setIconVisibility("bluetooth", mBluetoothEnabled);91.92./*add code for adding headset icon in statusbar.*/93.mService.setIcon("headset", R.drawable.stat_sys_headset, 0, null);94.mService.setIconVisibility("headset", false);95.//end96.97.// Alarm clock98.mService.setIcon("alarm_clock", R.drawable.stat_sys_alarm, 0, null);99.mService.setIconVisibility("alarm_clock", false);100.101.// Sync state102.mService.setIcon("sync_active", R.drawable.stat_sys_sync, 0, null);103.mService.setIcon("sync_failing", R.drawable.stat_sys_sync_error, 0, null);104.mService.setIconVisibility("sync_active", false);105.mService.setIconVisibility("sync_failing", false);106.107.// volume108.mService.setIcon("volume", R.drawable.stat_sys_ringer_silent, 0, null);109.mService.setIconVisibility("volume", false);110.updateVolume();111.}112.113.114./*add code for adding headset icon in statusbar.*/115.private final void updateHeadsetState(Intent intent) {116.boolean mIsHeadsetOn = (intent.getIntExtra("state", 0) == 1);117.Slog.v(TAG, "updateHeadsetState: HeadsetState: " + mIsHeadsetOn);118.119.mService.setIconVisibility("headset", mIsHeadsetOn);120.}在\frameworks\base\core\res\res\values\config.xml中加⼊⽿机图标控制字段(headset):1.<string-array name="config_statusBarIcons">2.<item><xliff:g id="id">ime</xliff:g></item>3.<item><xliff:g id="id">sync_failing</xliff:g></item>4.<item><xliff:g id="id">sync_active</xliff:g></item>5.<item><xliff:g id="id">gps</xliff:g></item>6.<item><xliff:g id="id">bluetooth</xliff:g></item>7.<item><xliff:g id="id">nfc</xliff:g></item>8.<item><xliff:g id="id">tty</xliff:g></item>9.<item><xliff:g id="id">speakerphone</xliff:g></item>10.<item><xliff:g id="id">mute</xliff:g></item>11.<item><xliff:g id="id">volume</xliff:g></item>12.<item><xliff:g id="id">wifi</xliff:g></item>13.<item><xliff:g id="id">cdma_eri</xliff:g></item>14.<item><xliff:g id="id">phone_signal_second_sub</xliff:g></item>15.<item><xliff:g id="id">data_connection</xliff:g></item>16.<item><xliff:g id="id">phone_evdo_signal</xliff:g></item>17.<item><xliff:g id="id">phone_signal</xliff:g></item>18.<item><xliff:g id="id">battery</xliff:g></item>19.<item><xliff:g id="id">alarm_clock</xliff:g></item>20.<item><xliff:g id="id">secure</xliff:g></item>21.<item><xliff:g id="id">clock</xliff:g></item>22.<item><xliff:g id="id">headset</xliff:g></item>23.24.</string-array>因为所加代码中的 mService.setIcon和mService.setIconVisibility最终会调⽤到StatusBarManagerService,它的构造函数有mIcons.defineSlots(res.getStringArray(com.android.internal.R.array.config_statusBarIcons));语句,找到config_statusBarIcons所在的配置⽂件为config.xml。
Android程序设计简介Android程序设计简介1. 概述Android程序设计是指开发适用于Android系统的应用程序的过程。
Android系统是由Google开发的一个开源移动操作系统,广泛应用于智能方式、平板电脑等移动设备。
在Android平台上开发应用程序可以为用户提供各种各样的功能和服务,满足不同需求。
2. Android开发环境2.1 Android StudioAndroid Studio是官方推荐的Android开发工具,提供了强大的开发环境和工具链。
它基于IntelliJ IDEA,集成了Android SDK、构建工具、调试工具等,提供了丰富的功能和工具,大大简化了开发过程。
2.2 Android SDKAndroid SDK是Android开发所需的软件开发包,包含了开发Android应用所需的各种API、库和工具。
开发者可以使用Android SDK提供的工具和资源来创建、构建和调试Android应用程序。
3. Android应用程序架构Android应用程序采用了一种基于组件的架构模式,主要由以下四个组件组成:3.1 ActivityActivity是Android应用程序的界面组件,用于展示用户界面和接收用户的输入。
每个Activity都有一个用户界面,可以通过视图(View)来展示,并可以通过事件响应机制处理用户的输入。
3.2 ServiceService是后台运行的组件,用于执行长时间运行的操作或为其他组件提供服务。
Service可以在后台运行而不与用户界面交互,可以与其他组件进行通信,实现应用程序的各种功能。
3.3 BroadcastReceiverBroadcastReceiver是一种用于处理系统广播或应用程序内部广播的组件。
它可以接收和处理特定的广播消息,执行相应的操作。
例如,当方式接收到新短信时,可以通过BroadcastReceiver来处理并显示通知。
android系统编辑Android(安卓),是一个以Linux为基础的开源移动设备操作系统,主要用於智能手机和平板电脑,由Google成立的Open Handset Alliance(OHA,开放手持设备联盟)持续领导与开发中。
Android已发布的最新版本为Android 5.0(Lollipop)。
Android系统最初由安迪·鲁宾(Andy Rubin)等人开发制作[1] ,最初开发这个系统的目的是创建一个数位相机的先进操作系统;但是後来发现市场需求不够大,加上智能手机市场快速成长,於是Android被改造为一款面向智能手机的操作系统。
於2005年8月被美国科技企业Google收购。
2007年11月,Google与84家制造商、开发商及电信营运商成立开放手持设备联盟来共同研发改良Android系统,随後,Google以Apache免费开放原始码许可证的授权方式,发布了Android的原码,让生产商推出搭载Android的智能手机,Android後来更逐渐拓展到平板电脑及其他领域上。
[2]2010年末数据显示,仅正式推出两年的Android作业系统在市场占有率上已经超越称霸逾十年的诺基亚Symbian系统,成为全球第一大智能手机操作系统。
[3]软件名称Android开发商Google软件平台Linux软件版本Android5.0更新时间2014年10月15日创始者Andy Rubin目录1系统简介2系统版本▪安卓1.1▪安卓1.5▪安卓1.6▪安卓2.0/2.1▪安卓2.2▪安卓2.3▪安卓3.0▪安卓3.1▪安卓3.2▪安卓4.0▪安卓4.2▪安卓4.3▪安卓4.4▪安卓5.0▪安卓5.13系统特性4系统架构5系统特色6发展历史7认证培训8系统优势9负面新闻1系统简介编辑Andy Rubin创立了两个手机操作系统公司:Danger和Android。
Danger 5亿美元卖给微软,2005年成为了Kin,Android4千万美元卖给Google。
Android是Google于2007年11月05日宣布的基于Linux平台的开源移动操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。
它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。
底层以Linux内核工作为基础,android系统效果图由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C++开发。
最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。
不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。
Google通过与软、硬件开发商、设备制造商、电信运营商等其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。
Android 作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。
全球为数众多的移动电话用户正在使用各种基于Android 的电话。
谷歌的目标是让(移动通讯)不依赖于设备甚至平台。
出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。
[4]2系统版本编辑安卓1.1发布时间:发布于2009 年 2 月该版本又叫“Cupcake”,这是第一个主要版本,发布于2009 年 5 月. 这个升级之后,Android 表现出来的能力才真正吸引了开发者的目光。
用户界面得到了极大的改良,并且安卓1.6搭载Android 1.6的HTC Hero获得了意想不到的成功。
Android 最终获得了非Android用户的关注,并且也让竞争者苹果和微软更加警惕了。
Android 1.6 “Donut” 2009 年9 月发布。
这个版本包含了:安卓2.0/2.1[5] 2.0/2.1: 2009 年10 月26 日,又一个主要版本升级以创纪录的速度放出。
这次,大版本升级到了Android 2.0/2.1 “Eclair.” 它包含:Android 2.0/2.1主要特性提升硬件速度更多屏幕以及分辨率选择大幅度的用户界面改良支持Exchange活动墙纸大幅改进虚拟键盘蓝牙2.1Google 地图3.1.2Android 2.0.1 SDK 于2009 年12 月3 日发布,之后是2010 年1 月10 日的2.1 版本。
很多用户和围观群众可能会奇怪:“为什么Android 会用甜点作为它们系统版本的代号?”,这个命名方法开始于Andoird 1.5 发布的时候。
作为每个版本代表的甜点的尺寸越变越大,然后按照字母数序:小蛋糕,甜甜圈还有松饼。
之前人们预计 2.2 版本的代号会是“馅饼”,但这个被最终证明是错误的,“FroYo”(冻酸奶)才是Android 2.2这个伴随GoogleNexus One 发布的新版的最新代号。
下一个版本的代号将会是“姜饼”。
安卓2.2该版本名字叫“Froyo”,中文代号称“冻酸奶”,Nexus One 的用户已经开始接受Android 2.2 “FroYo” 的无线更新,其他机型的用户应该会在短时间内获取到这一更新。
这一版本包含大量让其他手机用户垂涎三尺的更新,包括了:安卓2.32010年12月7日凌晨的时候,谷歌在发布旗下Android2.3 Gingerbread(姜饼)系统正式亮相。
相比2.2版本来说,新版的Android系统在多个方面都进行了有效的提升,下面我们一起来看看到底有哪些改进。
1.用户界面更美观2.提升游戏体验3.提升多媒体能力4.增加官方进程管理5.改善电源管理6.NFC近场通信7.全局下载管理8.改进的虚拟键盘9.原生支持前置摄像头10.SIP网络电话安卓3.02011年2月2日,3.0(Honeycomb 蜂巢)版本主要更新如下:·优化针对平板·全新设计的UI增强网页浏览功能·n-app purchases功能安卓3.12011年5月11日在Google I/O开发者大会宣布发布,版本主要更新如下:Honeycomb蜂巢(改进3.0BUG)经过优化的Gmail电子邮箱;全面支持GoogleMaps将Android手机系统跟平板系统再次合并从而方便开发者。
任务管理器可滚动,支持USB输入设备(键盘、鼠标等)。
支持Google TV.可以支持XBOX 360无线手柄widget支持的变化,能更加容易的定制屏幕widget插件。
安卓3.22011年7月13日发布,Honeycomb (蜂巢)版本更新如下:支持7英寸设备引入了应用显示缩放功能安卓4.02011年10月19日在香港发布,4.0(Android 4.0)Ice Cream Sandwich版本主要更新如下:1、全新的ui2、全新的Chrome Lite浏览器,有离线阅读,16标签页,隐身浏览模式等。
3、截图功能4、更强大的图片编辑功能5、自带照片应用堪比Instagram,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序6、Gmail加入手势、离线搜索功能,UI更强大。
7、新功能People:以联系人照片为核心,界面偏重滑动而非点击,集成了Twitter、Linkedin、Google+等通讯工具。
有望支持用户自定义添加第三方服务。
8、新增流量管理工具,可具体查看每个应用产生的流量。
9、正在运行的程序可以像电脑一样的互相切换10、人脸识别功能11、系统优化、速度更快12、支持虚拟按键,手机可以不再拥有任何按键13、更直观的程序文件夹:14、平板电脑和智能手机通用15、支持更大的分辨率16、专为双核处理器编写的优化驱动17、全新的Linux内核18、增强的复制粘贴功能19、语音功能20、全新通知栏:21、更加丰富的数据传输功能22、更多的感应器支持23、语音识别的键盘:24、全新的3D驱动,游戏支持能力提升25、全新的谷歌电子市场26、增强的桌面插件自定义安卓4.2Android 4.2是谷歌新一代移动操作系统,它沿用了4.1版“果冻豆”(Jelly Bean)这一名称,与Android 4.1相似性很高,但仍在细节之后做了一些改进与升级,比较重要的包括:PhotoSphere全景拍照;键盘手势输入;Miracast无线显示共享;手势放大缩小屏幕,以及为盲人用户设计的语音输出和手势模式导航功能等。
尤其令人关注的是,谷歌在Android 4.2中新加入了新的恶意软件扫描功能。
安卓4.2简介谷歌原定于2012年10月30日召开Android发布会,但由于受到桑迪(Sandy)飓风的影响而临时取消。
不过谷歌仍通过其官方博客发布了全新的Android 4.2系统,同时还发布了基于这种操作系统的Nexus 4智能手机和Nexus 10平板电脑。
Android 4.2操作系统的亮点是支持行业标准的WiFi显示共享工具Miracast,这个工具允许Nexus 4向电视流传输音频和视频。
针对现有电视的Miracast机顶盒预计将在不久以后上市,多家公司都可能提供这种产品。
谷歌预计,Miracast机顶盒的售价将远低于99美元。
本次网上发布的还有谷歌Nexus系列第四代手机LG Nexus 4,它配备了4.7英寸1280*768分辨率屏幕,采用LG True HD屏幕显示技术,表面为康宁大猩猩2代强化玻璃,并搭载高通骁龙S4 Pro四核处理器以及2GB RAM,后置800万像素摄像头,支持无线充电。
售价方面,8GB版LG Nexus 4售299美元,约合人民币1900元;16GB版本售价349美元,约合2200元,价格门槛大幅降低。
后者还将拥有T-Mobile运营商定制版,两年合约价199美元。
另外一款产品是谷歌与三星合作的平板电脑Nexus 10,外形采用弧线设计,采用最新的Android 4.2系统,屏幕分辨率为2560x1600像素,像素密度达300ppi,是目前市售平板电脑中分辨率最高的产品。
硬件方面,它采用Cortex A15架构1.7GHz主频Exynos 5250处理器、2GB RAM。
摄像头为500万像素,并支持NFC、Wi-Fi、蓝牙等功能。
16GB版399美元,32GB版499美元。
Android 4.2将与Nexus 4 and Nexus 10一起上市,预计Galaxy Nexus和Nexus 7等其他Nexus 设备也将在未来几周中获得更新。