jejer@wordpress Anything Worth Doing is Worth Doing Well

20Aug/10Off

Google App Inventor 试用

一.环境搭建

参照:http://appinventor.googlelabs.com/learn/setup/

特别注意:1.需要java 2.需要安装一个60多M的Extras Software才能与手机连接.

二.界面设计

可视化的拖拽编辑,所有功能模块会在侧面列出,不可见功能模块会在下面列出.

三.逻辑设计

逻辑设计部分为block editor需要java启动,也采用拖拽方式设计:

四.Debug与Release

与手机连线之后可以在线debug,在变量上点选watch后,变量数值会显示出来.

调试好后就可以打包安装到手机上了!

后记

试用中除感觉功能比较简单易用之外,还发现其对中文的支持不完美,按钮文字设置中文后无法识别,上图debug里的中文也无法正常显示,好在手机上没问题.

Tagged as: , No Comments
1Feb/10Off

优秀国产android平台twitter客户端andscape介绍

今天在嘀咕上瞄到一个没见过的twitter客户端,不经意的询问了一下竟然支持自定义API,之前我所知道的可以自定义API的客户端只有twidroid和twigee.便向滴油索取了一下,安装之后才发现竟然是国产软件. 在这里拜一下作者 @kmlzkma .

下面来看一下andscape的芳容:

安装完成后andscape图标简洁大方

andscape不仅支持twitter还支持中文微博客嘀咕 做啥 同学;
但目前并不支持多账户同时登录.

twitter登录页可使用第三方API

登录成功后,提醒栏就有andscape的图标了,拉下提醒栏会有最近更新的好友图标.向gravity致敬.

如果有未读的推也会直接显示出来

timeline页:

mention页:

DM页:

profile页比较简单,下面四个按钮[Twts,Fing,Fers,Favs]可以按:

发新推时候可以附加GPS信息,图片,并支持英文语音输入(中文语言的系统支持中文语音输入):

设置页面还比较简单:

试用简报:

相比twidroid,andscape是轻量级的twitter客户端,相应速度比较快,滚动顺畅,和twigee速度相仿.界面操作比twigee舒服,有点gravity的感觉.

虽然没有weidget提供,但作者提供了一个简单的一键发推shotcut,可以从桌面添加.

作者现在还没有完成推中URL的提取,想直接访问网址有些不便.

但在试用过程中出现了几次force close,还期待作者继续改进.毕竟现在还在测试阶段,没有投入market.

顺便吐槽一下国内微博的变态审核:

下载请访问andscape官方主页:http://andscape.me/

27Dec/09Off

Android 疑难拾遗

1.使系统文件可写:

mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system

2.设置DNS:

setprop net.dns1 8.8.8.8

3.安装Google拼音输入法时遇到ABI不符,无法安装:

vi /system/build.trout.prop
把
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
换成
ro.product.cpu.abi=armeabi
ro.product.cpu.abi2=armeabi-v7a
同样再
vi /system/build.sapphire.prop

持续更新
#fuckgfw

Tagged as: No Comments
20Dec/09Off

在Android上用TunnelDroid(OpenVPN)实现cmwap完美穿越

因为Android平台的限制,用cmwap接入点接入网络时只有内置浏览器会经过代理10.0.0.172:80,其他程序无法使用互联网.

之前我一直使用@biaji开发的cmwrap让其他程序上网,cmwrap使用iptable重定向数据流,结合hosts文件做域名解析,所以你向让其他程序穿过cmwap时需要手动修改hosts文件添加ip-domain记录.

今天在twitter上听见某位推油提到TunnelDroid,我想到尝试用它做cmwap穿越.TunnelDroid的SourceForge地址是:http://sourceforge.net/projects/tunneldroid/files/

本方法需要一个可以连接的OpenVPN服务器.用Linksys路由器架设OpenVPN的方法参见:http://www.jejer.net/?p=3931

我按照README顺利联通了架在路由器上的OpenVPN服务器,但不幸的是网络无法访问.

查看TunnelDroid发现了一些有趣的信息:

TunnelDroid Log

TunnelDroid Log

错误信息大概意思是默认路由添加失败.

以命令查看tap0虚拟网卡发现tap0没有ip信息,我不知道这是不是TunnelDroid的BUG.
同样以命令修复之:busybox ifconfig tap0 192.168.10.140 netmask 255.255.255.0
然后添加路由项:busybox route add –net 192.168.10.0 netmask 255.255.255.0 dev tap0
busybox route add default gw 192.168.10.1 dev tap0

如此操作之后我发现已经可以ping到路由器的ip了,但是DNS解析还是不行.这好像是Android的BUG,因为busybox ping就可以通.
又在网上一顿搜索,找到了制定DNS的命令:setprop net.dns1 192.168.10.1

OK这些命令过后终于可以上网了.

fix ip gateway dns

fix ip gateway dns

打开浏览器看看ip哈哈,已经变成电信ip

ip地址验证

ip地址验证

再开Twidroid看看,完全没有问题:

Twidroid验证穿越

Twidroid验证穿越

为了方便连接,我把上面的命令写成一个sh脚本放在sd卡下

#!/system/bin/sh
busybox ifconfig tap0 192.168.10.140 netmask 255.255.255.0
busybox route add –net 192.168.10.0 netmask 255.255.255.0 dev tap0
busybox route add default gw 192.168.10.1 dev tap0
setprop net.dns1 192.168.10.1
busybox route

每次TunnelDroid连接完成后去运行一下这个脚本就可以上网了:

sh脚本

sh脚本

完成!

从而实现cmwap完美穿越,不必再更改hosts文件,DNS解析正常.与cmnet无异.

参考:

SmartQ 5 在 Android 1101固件系統下使用華為 E180 USB Modem 成功上網

#fuckgfw

---------------------------------完美的分割线-------------------------------------

20091225更新:

使用tun代替tap,可指定ip地址
使用route-up "cmd"替代sh脚本设置DNS,省去连接后运行脚本的麻烦

server.ovpn

daemon
ifconfig 10.8.0.1 10.8.0.2
proto tcp-server
port 443
dev tun21
cipher BF-CBC
comp-lzo yes
keepalive 15 60
verb 3
secret static.key
status-version 2
status status
在路由器上配置iptables
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
client.ovpn
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key
proto tcp-client
remote jejer.3322.org 443   #xxxx为你申请的的3322.org动态网址
keepalive 10 60
resolv-retry infinite
nobind
persist-key
persist-tun
cipher BF-CBC
comp-lzo
verb 3
float
http-proxy-retry                  #要通过cmwap网关的话要加上这句和下一句
http-proxy 10.0.0.172 80
route-gateway 10.8.0.1
redirect-gateway def1
dhcp-option DNS 10.8.0.1
#G1需要下面两句来设置DNS,在电脑上不需要,注销掉即可
script-security 2 system
route-up "setprop net.dns1 10.8.0.1"

TunnelDroid连接完成之后即可.不必再执行修正脚本.
#fuckgfw

19Dec/09Off

Android G1 简洁使用漫谈

转眼G1已经入手小半年,从刚开始的很有激情的刷ROM找软件折腾机器到现在洗去繁复,简洁使用.我想这是回归了Google简洁好用的本质.

ROM的选择

Android为开源操作系统,除了官方原版之外,各路高手制作的MOD版也是很好的选择.

对我而言,比较倾向于选择原版,简洁使用的前提是操作系统的稳定.不过无奈G1硬件太弱,处理速度比较慢,我现在使用的还是MOD版.

有三个MOD版本集中出现的地方:

  1. XDA Developers ->Dream -> Dream android development
  2. Android中文论坛-机锋网
  3. 安卓网

英文论坛XDA自然是高手如云,而且最新机型DUMP出来的ROM也一般会出现在这里,所以XDA论坛会有很多ROM可供选择,这里有一张表格对各种ROM进行对比:http://spreadsheets.google.com/ccc?key=0AjdWTdCIJ88udEFzMnFhM3hsdmVNS1NJMkJMY1VJN2c&hl=en(Google表格目前被墙奸)

我选用的是据说目前速度最快的Cyanogen修改版

对于SPL RADIO RECOVERY的说明

SPL:刷机操作中最危险的文件,刷错版本或顺序将导致变砖无法软件修复.

目的:刷SPL是为了刷入Hero或者其他特殊的ROM,不是必刷,CyanogenMod版不需要刷SPL.

原理:SPL相当于分区文件,控制芯片中文件系统的分配,修改版的SPL加大了内存.

RADIO:基带芯片驱动程序,需要与SPL配合使用,建议升级成最新版.

SPL与RADIO最新版下载地址:http://code.google.com/p/sapphire-port-dream

注意:必须先刷入最新版RADIO再刷SPL,错误的顺序将导致G1变砖.

RECOVERY:恢复模式程序.在系统无法启动时负责刷新ROM等工作.

这里要说明一下G1的启动顺序:Bootloader之后会有两条启动路径,正常启动ROM,启动recovery(启动时按住HOME键).

目前功能最全的recovery版本是RA MOD:http://forum.xda-developers.com/showthread.php?t=566669

它附带wipe和备份功能,相当强大,这里就不在赘述.

另外建议刷新ROM之前先用recovery的wipe功能彻底清除以前安装的程序,给新ROM一个干净的环境,防止出现难以预料的错误.

软件最精简化

系统自带的浏览器 GMAIL已经相当好用.

我刷机之后安装的软件有:

  • cmwrap 使软件可以通过cmwap接入点访问网络,它本身使用iptable+hosts穿越cmwap,可以修改etc/hosts文件自己添加需要穿越的网址
  • Google拼音输入法 CyanogenMod的ROM是不带中文输入法的
  • Twidroid twitter客户端,可自定义API 我的ID:@jejer 欢迎follow
  • ASTRO 文件管理器
  • Tether 通过WIFI共享手机网络.
  • Latitude Launcher 在Google地图中开启谷歌纵横

貌似写成新手教程了.

#fuckgfw