假设已有ADT创建的android项目HelloAndroid并且已经有可用的proguard混淆器(我用的proguard4.4)。
第一步要做的是为项目添加ant build支持。由于ADT插件并不直接支持proguard等混淆器,所以不能像j2me那样在有功能比较完善的插件(如EclipseME等)的基础上直接一键混淆一键打包,不过好在android sdk本身提供了比较完善的ant编译支持,可以通过类似命令行编译的方式,对android项目的整个编译、生成过程进行自定义,从而能够实现对编译中途生成的java bytecode进行插入proguard混淆操作然后再转android dex码生成apk。
进入命令行模式,并切换到项目目录,执行如下命令为ADT创建的项目添加ant build支持:
Continue reading…
软硬件使用
Eclipse写AS插件FDT的Not Enough Memory问题(-Xmx512m)
FDT是一个用来写Flash AS项目的非常好用的eclipse插件,很有写java时的感觉,智能感知什么的功能都比较到位,但是这个插件在我的eclipse下一直不太顺畅,启动后总是报内存不足然后让在ini文件中添加-Xmx512m问题!参考狗狗出来的一些资料信息,开始还能通过乱改ini解决,但是后来在最近一次java update后就怎么改也不行了,而且无视这个问题的话,最终会导致eclipse报内存异常,然后功能不起作用,只能关了重开。后来经过一些调整,发现了一个可以解决的ini设置,至少是在我这的环境下不再抱memory问题了,有同样问题的朋友可以试试:
-vmargs
-Xms128M
-Xmx1024M
-XX:PermSize=64M
-XX:MaxPermSize=128M
-XX:+UseParallelGC
最后这行据说是可以在多核cpu上提高gc效率的参数。
关于Nokia 5800安装sis时的证书过期问题
以前在S60 3rd的机器上安装刚做好的sis时也会出现“证书过期”的提示,或者是证书尚未生效,但通过调整系统日期时间的方式可以将就过去,可5800上出现同样问题时就不行了,调系统时间怎么也找不到证书合法的时间段,调靠后点说证书过期,靠前点说证书非法,已过期或手机日期设置不正确(Certificate may be not valid, is expired or phone’s date settings may be incorrect)等,确定证书生效时间肯定没问题(经过symbiansigned在线签证的,装在3版机上也没问题)。其实这是5800系统的一个bug,据说目前还没有修正,经过我的测试,这个bug只会影响非自签名的sis安装,如果是自签名的包安装是不会出这种错的。在这bug修正前的临时解决方法就是备份手机资料,然后用*#7370#将手机恢复出厂设置(默认锁码12345),然后重启设置正确的时区日期时间以后就可以了。N97没试过是否也这样,所以不确定这个问题是5800的通病还是S60 5th的通病。
发现一款比较好用的WM上的telnet软件Token2Shell/Mobile
http://choung.net/
这个软件不仅普通telnet功能做的比较好,ssh连接功能也不错,终于可以摆脱putty了。通过修改设置里的编码属性可以很好的支持中文的显示(作者好像是韩国人,对亚洲文字的支持就是比一般的国外软件做的好),用wm看看水木还是挺不错的。
其实这个软件的windows版本也是挺好用的,尤其是针对ssh的一些功能,比如tunnel等等,而且界面看上去也是简洁明快。
附上windows版5.4.1和mobile版5.3.0的特别文件,仅供学习研究使用!
http://www.k-res.net/dl/token2shellc.rar
如何在Carbide.C++中整合使用SVN
Carbide.C++这个IDE是基于Eclipse的,装好之后就自带了CVS版本控制插件,但要是想用SVN的话就得自己添加插件了,这里用的是Subclipse(一搜就搜到这个,貌似就是这个插件独占了)。
我的Carbide.C++是2.0版本,装的Subclipse是1.6.x,早期版本应该也是可以用的吧。
打开Carbide.C++,然后在菜单项中的Help > Software Updates > Find and Install 中选择 New Remote Site ,然后名字随便起,url填 http://subclipse.tigris.org/update_1.6.x ,完成以后就能取到update site里的所有项目了。这里得注意要把Subclipse Integration for Mylyn 3.x (Optional) 这个可选项前面的勾去掉,因为这个组件项所依赖的一个插件Carbide并没有默认提供!后面一路继续,该接受的接受,该重启重启,完事就ok了。同步方式和用自带的CVS没什么太大区别。
这两天调整域名dns设置的一些心得
这次调整域名设置的初衷是想通过二级子域名来简化博客wap版的访问地址(http://www.k-res.net/blog/wap实在是不便于记忆和输入)。
本来呢,加个二级子域名是很简单的事,但现有的一些条件使这么个简单的问题变得让人相当挠头……
首先是空间提供商的问题,我现在使用的是csoft经济型解决方案,涉及域名方面的规定是:共享IP,单域名解析无子域名支持。这边对域名的处理方式就是在根据你访问主机IP的域名来决定导向哪个子账号的目录,所以即使用n多域名(包括子域名)指向这同一个服务器地址,它也能根据每个用户在空间控制面板中绑定的域名来作对应的定位处理,由于一个账号只能有一个域名的限制,所以想在dns中以A记录的方式将子域名导向服务器地址的这种真正子网站形式的子域名设置就不可行了!
再看域名注册商这边的dns控制,本来想在这边通过url forward的方式来满足我这小小的偷懒需求,但name.com的转发只支持对主域名进行设置,也就是只能转k-res.net这个,这显然不是我想实现的!另一个域名的注册商godaddy的dns控制倒是很好,很强大,提供99个子域名的转发功能,可惜的是godaddy的转发服务器地址已经被伟大的ISP屏蔽掉了(至少我设置这会是不能访问,用代理没问题),我这转发地址总不能只限国际友人访问吧,无奈也放弃了这种方式……
最后在看到一位老大写的结合免费dns服务everydns.net和name.com的域名设置方式(http://old.tianyaguyan.com/read.php/114.htm)后实现了预期效果。大体思路就是将某个子域名在dns里通过ns记录的方式将解析权交给免费dns服务,由免费dns服务负责实现转发,恰好解决了name.com这块功能上的不足。具体设置可以参考那位老大的blog。
这会测试发现everydns的服务期有时候是不太稳定,dns响应timeout,地址解析失败!不过想想人家又没让你付费,你也就别这么斤斤计较了额。