
Android
文章平均质量分 89
zjujoe
学习,分享,开心
展开
-
编译Android 使用 Java5 还是 Java6
现在越来越多的代码开始使用java 6 的feature, 而 Android 却要求java5!这给开发带来麻烦:得装两个版本的java, 然后用 update-alternatives 去切换,注意有3个相关程序:update-alternatives --config javaupdate-alternatives --config javac原创 2010-10-09 18:48:00 · 5861 阅读 · 0 评论 -
shell 文本处理
最近优化脚本,将几套脚本合并,比如,处理nand手机的脚本和处理emmc手机的脚本是不一样的,这导致我们的脚本有很多个版本。手机侧只有busybox, 所以不能使用功能强大的python来处理文本。花了半天时间,发现虽然语法比较怪异,但也能简洁的完成任务。if [ -e /proc/emmc ]; then a=`cat /proc/emmc|tr -d '" \r\n'原创 2012-09-21 15:07:56 · 3446 阅读 · 0 评论 -
轻松搞定 android apn 设置
提供 android apn 一个完整的list原创 2011-03-24 23:01:00 · 6020 阅读 · 0 评论 -
运营商MCC+MNC
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/supergt2001/archive/2008/11/17/3320983.aspx 1)运营商MCC+MNC 2)国家缩写对应关系转载 2011-03-17 17:29:00 · 478059 阅读 · 0 评论 -
Android OTA 升级之五:updater
可以说,前面分析的OTA升级的各部分代码都是在搭一个舞台,而主角现在终于登场,它就是updater. Google的代码架构设计非常好,各部分尽量松耦合。前面介绍升级脚本时,可知有两种类型的脚本,amend & edify. 他们各自对应一个updater. 这里,我们主要关注新的edify的updater. Updater可以作为学习解释器/编译器的同学一个很好的实例,但是我们只关心产品化相关的内容,所以并不去深究lex/yacc相关的东西。原创 2011-03-15 20:14:00 · 19370 阅读 · 8 评论 -
Android OTA 升级之四:进入根文件系统
从bootloader 进入Recovery 模式后,首先也是运行Linux内核,该内核跟普通模式没有区别(减轻了BSP开发者的任务)。区别从执行文件系统开始。 Recovery 模式的细节就隐藏在其根文件系统中。 下面,我们就看看进入Recovery 根文件系统都干些啥。原创 2011-03-13 10:08:00 · 20194 阅读 · 9 评论 -
Android OTA 升级之三:生成recovery.img
得到了ota升级包后,我们就可以用它来升级系统了。Android 手机开机后,会先运行 bootloader。 Bootloader 会根据某些判定条件(比如按某个特殊键)决定是否进入 recovery 模式。Recovery 模式会装载 recovery 分区, 该分区包含recovery.img。recovery.img 包含了标准内核(和boot.img中的内核相同)以及recovery 根文件系统。下面我们看一下它是如何生成的。原创 2011-03-08 08:20:00 · 37795 阅读 · 1 评论 -
Android OTA 升级之二:脚本 ota_from_target_files
前面介绍了ota package 的编译过程,其中最核心的部分就是一个 python 脚本:ota_from_target_files. 现在我们分析这个脚本。原创 2011-02-26 12:06:00 · 47450 阅读 · 38 评论 -
Android OTA 升级之一:编译升级包
OTA 升级是 Android 系统提供的标准软件升级方式。 它功能强大,提供了完全升级、增量升级模式,可以通过 SD 卡升级,也可以通过网络升级。 这里,我们先研究最简单的情况,通过 SD 卡进行完全升级。 如何执行升级就不多说了,网上有很多资料。(比如,介绍HTC手机如何升级)。我们感兴趣的是它是如何实现的,作为开发者,如何修改它以符合我们的定制化需求。 首先,我们研究一下 ota 升级包的编译过程。原创 2011-02-24 19:50:00 · 64395 阅读 · 28 评论 -
关于 LOCAL_SDK_VERSION
今天编译email应用,发现test测试不能通过,而email本身可以。说一个class没有定义!这个class 明明在email中也使用了!仔细对比Android.mk发现了一个test程序的Android.mk 多了一个 LOCAL_SDK_VERSION注释该行,发现可以编译通过!google一下,原来,LOCAL_SDK_VERSION 会使得应用程序不能访问hide的api!而我们新加的API为了不影响SDK接口,都故意hide了。所以。原创 2010-12-23 20:34:00 · 13379 阅读 · 1 评论 -
Android 性能优化一例(Bitmap创建时会调用gc)
现象: 做一个小动画,实现方式为每50ms更新一张bitmap, 循环播放,从而达到动画效果。问题: 发现动画会卡,有时卡在第7帧,有时卡在第10帧,不定。原创 2010-12-19 15:38:00 · 5585 阅读 · 2 评论 -
dmtracedump 的替代品
这两天使用 traceview 分析代码性能, google文档上说有一个工具 dmtracedump,可以生成函数调用图。 试验了一下,失败!google 一下,原来此工具一直处于 broken 状态。 以前玩过 KFI, 一同好还自己开发了工具去生成jpg的函数调用图。 于是,花几个小时写了一个脚本,放在这里,方便同好。原创 2010-12-16 19:00:00 · 8320 阅读 · 11 评论 -
Android 4.4 以太网网络共享功能研究和实现
android较新的版本中,已经加入了以太网功能,用户可在设置界面设置以太网的连接方式,如DHCP/静态IP/PPPOE。显然,android的实现中默认以太网是作为一个出去的端口(相当于路由器的WAN口),用来分享外部的internet连接。但是部分客户要求能实现以太网来分享设备的internet网络(4G/wifi),希望实现类似于wifi热点或者USB网络共享的功能,我把它定义...转载 2018-11-27 17:29:00 · 4922 阅读 · 1 评论