更换 AVD版本后测试Android 程序出现的错误 

最近在写一个小的Android程序的时候,由于之前是2.3的AVD,更换为2.2后,启动debug,AVD报错了~ 如下:


[2011-06-19 16:49:52 - HelloAndroid] Re-installation failed due to different application signatures.
[2011-06-19 16:49:52 - HelloAndroid] You must perform a full uninstall of the application. WARNING: This will remove the application data!
[2011-06-19 16:49:52 - HelloAndroid] Please execute 'adb uninstall org.xzx.helloandroid' in a shell.
[2011-06-19 16:49:52 - HelloAndroid] Launch canceled!


怎么都运行不了~看来得自己手动卸载,重装了~
得先找到 adb 的所在。

which adb,无果.查找一下,终于在 /usr/local/android-sdk-linux_x86/platform-tools/ 目录下找到了它,晕~这不是我安装android SDK 的地方么~

进入到 /usr/local/android-sdk-linux_x86/platform-tools/ 下,运行:
./adb uninstall xxx.xxx.xxx #具体为程序包名
即可。

再启动debug,一切OK了~

[2011-06-19 16:57:06 - HelloAndroid] Uploading HelloAndroid.apk onto device '040395381401C005'
[2011-06-19 16:57:06 - HelloAndroid] Installing HelloAndroid.apk...
[2011-06-19 16:57:13 - HelloAndroid] Success!

[ ] ( 2167 次浏览 ) 永久链接 ( 3 / 2588 )
给 Subclipse 安装 JavaHL 库 

eclipse 是我最爱的Java IDE之一,在eclipse 上使用svn的插件也是有很多~subclipse 便是其中之一.

不过最近我的eclipse一直在报一个缺少JavaHL的错误,每次打开都会弹出来一次,很是烦人。如图:


我检查了一下,我的eclipse 是使用的JavaHL的引擎,而我的系统里还没有安装,所以每次都会弹出来错误。

而我的eclipse里面还装有另外一个svn插件 - subversive,所以我每次提交代码也都成功了。不过,我得干掉这个恶心的错误了~

于是我便在 package.ubuntu.com 搜了一下,找到了解决方案.

sudo apt-get install libsvn-java
sudo apt-get install libsvn-javahl #不适用于 natty

完了之后,在重启下。JavaHL 就进入了系统的Path了~ eclipse 也就不会在找不到它了。

更多信息,参见:http://subclipse.tigris.org/wiki/JavaHL

注:你还可以下载里面提供的 javahltests.jar 文件,运行测试下JavaHL是否OK.
[ ] ( 2794 次浏览 ) 永久链接 ( 3 / 2698 )
Ubuntu 强制关机后的分区损坏之解决 

这几天天气太热,我的笔记本的温度一直是很高~一连开了一下午的机器,快傍晚的时候,忽然系统一下子死掉了,连tty也进不去了,一直提示什么"device /dev/sda6 error"之类的错误,无奈,长按电源键关机了~

可是再开机就杯具了~直接进initramfs了~我还以为是内核的问题,选择之前的内核问题依旧。

杯具了~选择进 memtest 模式也不行,不过我发现了"/dev/sda6 not be mount"的字样,估计是/dev/sda6 分区挂了。搜了一下,果然是分区表坏了~

解决方案:
找一张Ubuntu LiveCD,启动进系统。打开终端:
输入 sudo fsck -p /dev/sda6
即可。

注:修复之前要确保/dev/sda6 没有被挂载。(废话了~能正常挂载了,还需要修复么 囧rz)

一切完成后,如果幸运的话,/dev/sda6 已经可以被正常挂载了,里面的文件还在。

重启,退出LiveCD,系统又回来了~
[ ] ( 3354 次浏览 ) 永久链接 ( 3 / 2689 )
利用crontab 每夜备份MySQL数据库 

自从数据库挂过一次之后,我越来越开始重视起我的数据安全了~特别是数据备份,一直要保质保量的完成。

我是这样做的,由于现在还没有找到完美的远程备份的解决方案,我先是在本地备份在本地,而后在手动转移。

首先,创建一个专门用于备份数据的MySQL用户,比如 dumper,授予所有数据库及表的select 和 lock table 权限,密码一定要足够的强大,并且只允许在本地登录。

命令:
grant select,lock tables on *.* to 'dumper'@'localhost' identified by PASSWORD('XXXX').
即可。

之后,为了让crontab 执行mysqldump 时不使用交互密码,编辑 my.cnf 配置文件。

找到[mysqldump]节点,加入
user = dumper
password = XXXX

保存。

一切OK后,使用crontab 创建备份任务.

运行 crontab -e
输入 0 0 * * * mysqldump -A -C -u dumper | bzip2 -9 > ~/sql/mysql_`date +%s`.sql.bz2

保存退出即可。

查看一下:
[root@PowerPC sql]# crontab -l
0 0 * * * mysqldump -A -C -u dumper | bzip2 -9 > ~/sql/mysql_`date +%s`.sql.bz2

这样的话,在每晚的0点,mysql 都会被整个压缩备份下来一次,再也不用担心数据库挂掉拉~

我个人建议是压缩一下,gzip/bzip 均可,压一下的结果很明显,毕竟VPS的硬盘也不算大~

[root@PowerPC sql]# ls -l -h
total 3.9M
-rw-r--r-- 1 root root 689K Jul 9 12:53 mysql_1310201629.sql.bz2
-rw-r--r-- 1 root root 3.2M Jul 9 12:54 mysql_1310201645.sql
[ ] ( 3362 次浏览 ) 永久链接 ( 3.1 / 2543 )
编译安装 Apache Traffic Server 3.0.0 通过 

本来想这篇文章不发算了~因为事实是trafficserver 的一个bug删掉了我的所有数据,而我也没有在用它~

不过想想我的这些噩梦般的遭遇可能会帮到一些人,便还是贴了出来~

我是在trafficserver 正式发布了3.0.0版本后,从apache官网下载的trafficserver的源码包(http://www.apache.org/dist//trafficserver/trafficserver-3.0.0.tar.bz2)。

解压,进入目录:
我的configure:
[root@PowerPC trafficserver-3.0.0]# ./configure \
> --prefix=/usr/local/trafficserver \
> --exec-prefix=/usr/local \
> --sysconfdir=/etc/sysconfig/trafficserver \
> --localstatedir=/var/run \
> --enable-purify \
> --enable-tproxy=auto \
> --with-user=cache \
> --with-group=web

倒也没什么特别的,检查依赖,报错:

checking for Tcl configuration... configure: error: Can't find Tcl configuration, install the TCL dev package


解决方案:yum install tcl-devel
再次检查,通过。接下来 make 编译,再次报错:

cc1plus: warnings being treated as errors
LogAccess.cc: In member function ‘int LogAccess::marshal_record(char*, char*)’:
LogAccess.cc:729: warning: comparison between signed and unsigned integer expressions


这是configure文件的问题,警告就导致编译程序退出了~修改一下,打开configure,
删除所有含有 "-Werror"的地方,一共有11处:

[root@PowerPC trafficserver-3.0.0]# cat configure |grep Werror
# or remarks (even with -Werror). So we grep stderr for any message
# or remarks (even with -Werror). So we grep stderr for any message
# or remarks (even with -Werror). So we grep stderr for any message
# common_opt="-pipe -Wall -Werror -Wconversion -Wno-sign-conversion"
common_opt="-pipe -Wall -Werror"
common_opt="-pipe -Wall -Werror"
common_opt="-pipe -Wall -Werror"
common_opt="-pipe -Wall -Werror"
common_opt="-pipe -Wall -Werror"
CFLAGS="$CFLAGS -Werror"
CFLAGS="$CFLAGS -Werror"


具体操作,vi里面replace即可,
:%s/\-Werror/ /g
11 substitutions on 11 lines

完了之后,编译通过,之后 make install 安装.

启动trafficserver,又报错了~

traffic_server: error while loading shared libraries: libtsutil.so.3: cannot open shared object file: No such file or directory


看来是动态链接库的问题,编辑位于 /etc 下的ld.so.conf文件,加入trafficserver的lib路径(/usr/local/libexec/trafficserver).
再重新刷新下ldconfig,
ldconfig -v
即可。
之后就可以正常启动了~

关于trafficserver的配置,可以说是比同类的Squid cache和Varnish cache 都要复杂,看的人都冒汗。

下面是所有配置文件的列表:
[root@PowerPC trafficserver]# ls -l
total 216
-rw-r--r-- 1 cache web 1324 Jun 16 07:08 ae_ua.config
drwxr-xr-x 3 cache web 4096 Jun 16 07:08 body_factory
-rw-r--r-- 1 cache web 1210 Jun 16 07:26 cache.config
-rw-r--r-- 1 cache web 657 Jun 16 07:26 cluster.config
-rw-r--r-- 1 cache web 1868 Jun 16 07:26 congestion.config
-rw-r--r-- 1 cache web 746 Jun 16 07:26 hosting.config
-rw-r--r-- 1 cache web 1313 Jun 16 07:26 icp.config
drwxr-xr-x 2 cache web 4096 Jun 16 07:26 internal
-rw-r--r-- 1 cache web 254 Jun 16 07:26 ip_allow.config
-rw-r--r-- 1 cache web 328 Jun 16 07:26 log_hosts.config
-rw-r--r-- 1 cache web 15076 Jun 16 07:26 logs_xml.config
-rw-r--r-- 1 cache web 365 Jun 16 07:08 mgr.cnf
-rw-r--r-- 1 cache web 1362 Jun 16 07:26 parent.config
-rw-r--r-- 1 cache web 310 Jun 16 07:26 plugin.config
-rw-r--r-- 1 cache web 318 Jun 16 07:08 plugin.db
-rw-r--r-- 1 cache web 0 Jun 16 07:26 proxy.pac
-rw-r--r-- 1 cache web 27444 Jun 16 07:26 records.config
-rw-r--r-- 1 cache web 7047 Jun 16 07:26 remap.config
drwx------ 2 cache web 4096 Jun 16 07:26 snapshots
-rw-r--r-- 1 cache web 1677 Jun 16 07:26 socks.config
-rw-r--r-- 1 cache web 2139 Jun 16 07:26 splitdns.config
-rw-r--r-- 1 cache web 430 Jun 16 07:26 ssl_multicert.config
-rw-r--r-- 1 cache web 68821 Jun 16 07:26 stats.config.xml
-rw-r--r-- 1 cache web 2960 Jun 16 07:26 storage.config
-rw-r--r-- 1 root root 19 Jun 16 07:08 trafficserver-release
-rw-r--r-- 1 cache web 1420 Jun 16 07:26 update.config
-rw-r--r-- 1 cache web 464 Jun 16 07:26 vaddrs.config
-rw-r--r-- 1 cache web 1278 Jun 16 07:26 volume.config
-rw-r--r-- 1 cache web 0 Jun 16 07:26 wpad.dat

很是恐怖~ 不过可以不时的参考官方的帮助文档(http://trafficserver.apache.org/docs/v2/admin/files.htm)。

而我在粗略的配置了一通后,居然报错了~

[Jun 16 15:08:00.991] Manager {3078682880} ERROR: [bindProxyPort] Unable to bind socket: 80 : Permission denied
[Jun 16 15:08:00.991] Manager {3078682880} ERROR: (last system error 13: Permission denied)


我很是不解~有人说,可能是我之前使用了root运行过服务,所以导致了部分文件不能被写入。最好的办法是卸载,重装,恢复初始化。

我便运行了"make uninstall && make distclean",于是我便杯具了~
[ ] ( 3684 次浏览 ) 永久链接 ( 3 / 2453 )

<< <上一页 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 下一页> >>