沉默的大象: 沉默的大象,默默守护着的大象

在BeHero等Iris Port ROM上开启OpenVPN支持

BeHero等一系列Iris Port ROM如雨后春笋般出现在我们面前,Hero用户的春天终于来了。但这些Rom都有个问题,无法使用OpenVPN连接。
我们知道在1.5的时代,我们没有PPTP,OpenVPN是我们唯一的选择,其实与PPTP相比,OpenVPN在稳定性、安全性和适用性上比PPTP VPN更有优势。不少Hero因为种种原因离不开OpenVPN,虽然BeHero等稳定的2.1rom出现后让人心痒痒,但是无法支持OpenVPN却又让不少用户不得不换回1.5。

笔者也一直为这个事情说困扰。联系了BeHero的作者,问其是否能修复这个问题,被告知他有空的时候会看看能不能修复,但目前来说还有跟重要的内容要改,谁叫我们中国的用户有特殊需求呢,得不到别人的重视。

难道我们Hero用户就这么悲剧?当然不是!连接OpenVPN的难题已经得到攻克。

首先来说明下OpenVPN连接的必要条件:
1、装有Busybox
2、rom内包含tun.ko驱动模块
3、装有OpenVPN软件

第一个条件不是什么大问题,大部分rom里都有,即便没有,自己装一个也不难。
但第二个条件如一座大山挡在了我们面前,tun.ko驱动模块

之所以这么难,是因为tun.ko模块必须由对应的kernel编译出来才能使用,不同kernel编译的tun.ko是不能通用的。
如果你将modaco,flzyup等rom里的tun.ko模块放到BeHero里,OpenVPN依然无法正常工作。
BeHero的kernel版本为2.6.29-8d063048,如果能找到对应kernel的tun.ko版本,那问题就迎刃而解了。
那到底有没有对应这个kernel的tun.ko?当然有,功夫不负有心人,终于被笔者找到了!
XDA上的某个大大已经为我们编译好,并做成了刷机包,我们所需要做的就是下载对应自己kernel版本的刷机包,然后刷到手机中。
重启后,我们的OpenVPN又能正常工作了。
XDA地址:http://forum.xda-developers.com/showthread.php?t=627608
Hero用户再度欢呼吧!

连接VPN成功截图:
BeHero VPN.png
BeHero Twitter.png
刷机包下载地址:
vpn-kernel-modules-2.6.29-8d063048.zip (380.89 KB)

在手机中,按菜单键,选择关于手机,再选择Software information
看里面的Kernel版本是否和刷机包的数字一致,一般情况下,只要这个数字一直,这个模块就是通用的,G1,G2,G3都能用,只要是使用这个Iris Port的rom都能实现OpenVPN连接。
最后,对于如何使用OpenVPN,论坛里已经有相应的帖子了,可以直接参考:
http://www.androidin.net/bbs/viewthread.php?tid=39617highlight=hero%2Bopenvpn

BeHero v1.2.1 第一个由官方Droid Iris制作的 2.1ROM

前言

Hero用户们等官方2.1的rom实在等得太久了,现在好消息来了。
3月3号,一个中国的HTC员工泄露了Droid Iris的2.1官方rom,Droid Iris实际就是CDMA版的HERO,它的硬件跟HERO非常接近,所以这个DUMP能移植到HERO的可能很高。
果不其然,目前国外已经由达人移植成功。 (全文…)

[元宵节礼物]Quake3 For Android,放出下载和教程

前言:

Google Code上放出了一个Quake3 For Android的项目:http://code.google.com/p/kwaak3/ 。笔者没有Milestone,恰巧同事买了个,就接来玩玩,安装Quake3成功,运行速度飞快,原文作者说在G2,G3上也能运行,不敢独享,放出实现方法和所需文件共享。Apk文件仅有2.4MB,需要从Quake3游戏中提取出8个文件来使用有70MB之巨,这个操作笔者已经完成了,大家可以在本文的最后地址处下载。具体安装方法如下: (全文…)

Android进程管理机制及优化 for HTC HeRO(其它设备也可参考)

前言

由于我不是开发者,所以写这个题目的时候总有些惶恐,怕写出问题,本文内容是笔者通过论坛的学习和自己实践总结出来的一些经验,可能有不对的地方还望指正。本文的主要资料来源自 XDA的一个帖子:How to configure Android’s *internal* taskkiller


理论

Android采取了一种有别于Linux的进程管理策略,有别于Linux的在进程活动停止后就结束该进程,Android把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。

那Android什么时候结束进程?结束哪个进程呢?之前普遍的认识是Android是依据一个名为LRU(last recently used 最近使用过的程序)列表,将程序进行排序,并结束最早的进程。XDA的楼主又进一步对这个管理机制进行研究,有了如下发现: (全文…)

Android系统的swap分区的作用及其设置方法

前言

最近折腾android系统比较多,也有了些心的,故有了这篇文章。

android的swap分区与linux相同,都是用于数据交换的,类似于windows上的虚拟内存。合理设置swap能提升系统的速度,降低系统因内存不足而关闭后台程序的频率。但如果设置不当,反而会拖慢系统速度,影响使用体验。

本文就从android内存管理机制出发,介绍合理设置swap的方法。由于本人并不是开发者,对android的内存管理机制的理解可能有偏差的地方,欢迎指证,废话不多,lets go。

一、android的内存管理机制

我们知道android的程序都是没有关闭键的,所有大部分程序推出后还是有一部分数据驻留在内存里。但内存不可能无限大,打开程序一多,又都不完全退出,时间一长,再大的内存也是不够用的,更何况hero的可用内存仅192mb(总内存288mb,96mb被radio占用,另外的192mb系统可用),去掉os占掉的部分,真正可获得的内存不到140mb,随便用用,内存就耗完了。 (全文…)