clean一下project就可以了
June 13, 2010
May 21, 2010
在android删除package
普通的用户安装的程序,很简单就可以删除了。
adb uninstall xxx.yyy.zzz
或者
adb shell
#
#cd data
#cd app
#cd ls
将显示你的x.y.apk
#rm com.company.product.apk
如果是删除内建,Google自带的应用,比如system/app/Music.apk,则会出错。
adb uninstall com.android.camera
是会报错的,因为默认的system是被以read-only方式挂载的
adb shell
# rm system/app/Camera.apk
rm system/app/Camera.apk
rm failed for system/app/Camera.apk, Read-only file system
需要重新挂载才行
adb remount
adb uninstall com.android.camera(或者在adb shell里,如上面那也删除)
Conversion to Dalvik format failed: Unable to execute dex: null
今天遇到这个错误:
Conversion to Dalvik format failed: Unable to execute dex: null
改了下eclipse.ini
-Xms128m
-Xmx512m
貌似现在还没问题。
May 19, 2010
在logout时执行脚本
如何在logout的时候执行脚本呢?
可以用/etc/gdm/PostSession/Default
这个文件里的内容会在logout的时候执行。
不过好像是以root的身份执行的。如果想以当前用户身份执行,可以考虑用
su – $USER -c “some commands”
May 12, 2010
下载android源代码
$ history
1 cd /bin
2 curl http://android.git.kernel.org/repo > repo
3 ls
4 chmod a+x repo
5 df -H
6 cd /e
7 cd /cygdrive/e
8 dir
9 mkdir android-src
10 cd android-src/
11 repo init -u git://android.git.kernel.org/platform/manifest.git
12 repo sync
13 history
repo sync可能中间会发生网络故障导致更新中断,可以再次执行就行了。
May 11, 2010
命令行安装android包
语法就是adb install 包名(.apk)
adb install HelloWorld.apk
不是很麻烦。
卸载就稍微麻烦点
adb uninstall com.adakoda.android.helloworld
adb uninstall -k xxx 的话,其数据会被保留
May 10, 2010
May 6, 2010
在linux里mount windows的共享文件夹到本地
mount -t cifs -o //x.x.x.x/share /mnt/
但是这个cifs需要mount.cifs命令,如果不存在,需要安装smbfs这个包
May 5, 2010
终于把mo文件打进了deb
如前所示,在launchpad上编译gnome的包,其实就是在debian/rules里面include了/usr/share/cdbs/1/class/gnome.mk而已,导致.mo文件在声称的deb包里都被删掉了。
不管是加NO_PKG_MANGLE参数,还是修改debian/control的section字段,最后都没解决问题。
可能是在launchpad的关系,很多东西自己没法设,比如/etc/maintainermangler.conf
最后无奈下载了pkgbinarymangler的源代码看看,pkgstriptranslations里有如下内容:
- # ignore language packs
- if echo "$srcname" | grep -q ^language-pack; then
- echo "pkgstriptranslations: building language pack, doing nothing"
- exit 0
- fi
- # ignore backports
- if dpkg-parsechangelog | grep -q 'Distribution:.*backport'; then
- echo "pkgstriptranslations: building backport, doing nothing"
- exit 0
- fi
第一段很明显,language-pack开头的包是不strip的,否则岂不.mo文件都没了。
第二段的话难道是changelog里有Distribution:.*backport就会skip这个strip处理?
研究了下dpkg-parsechangelog,发现它的输出有Distribution这一字段,其直取自changelog的第一行,即jaunty,karmic等字段,
这个字段实在不想改,不过看看它的这个grep没有特殊位置要求,就写在changlog的正文里了。
不管怎样,至少现在的deb里有mo文件了。
虽然做法不怎么漂亮。
关于debian/control的section字段
还是继续昨天的问题:
如何在launchpad上编译ppa时禁止pkgstriptranslations
经过简单测试是没解决的,可能是那个参数加的位置不对。
今天继续查了查,发现另一个package的rules文件也include了gnome.mk,而它的deb里就有/usr/share/locale下的mo文件。
仔细查了下,发现这个包的debian/control的section字段指定了universe/gnome,莫非如此?
在网上看到一篇文章,说只有main和restricted的才会被launchpad的pkgbinarymangler抽掉.mo文件,难道改成别的类别就可以了?
ubuntu的软件共分为四类(在/etc/sources.list里能看到的最后一组数据)
其中Main和Universe是Free Software,Restricted和Multiverse是non-free software
Main和Restricted又是得到ubuntu官方supported的
Universe和Multiverse则是unsupported的,具体可参考http://www.ubuntu.com/community/ubuntustory/components
debian/control的section字段可以参考
http://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
components/section,其中components是类别,我把他改为universe了,斜线后面为类别,这个就是那么几大类了。


