梦一则

早上做的某个梦,大约是在9点到11点之间。醒了之后爬起来记下一些关键词,然后继续睡觉……

一开始,我和without在某个房间里玩某种游戏(非电子游戏,应该是真人的)…… 大约是有一把巨大的锁,需要用两把钥匙来开锁。锁固定在一扇不是很大的门上,只要开了锁就会有怪冒出来可以打……

正当我们玩的兴致高时,wj(高中班主任……)冲了进来,没理without,直接说:“你丫还在打游戏,都挂科了!” 我心想:我本学期又没选课(我的确没选……),何来挂科…… wj说,你上学期挂了! 于是我打开某个查询系统,这个查询系统貌似是分类的,点了几下找到有个项目是红灯(别的都是绿的),貌似叫固?(忘了),还有不少项还没分数呢…… 我想才一个项目如何能决定挂科…… 后来想貌似这是一个可能的世界,然后就想通了…… 之后看错了的题,大约是概率之类的科目,好像是啥fourier级数展开,但是前面几步都对了…… 于是wj说,这个前面几步都对了,这个分数可以要回来……

之后出了学校(嗯?学校?),许多亲戚在学校外面拍照(毕业了嘛?),我想起来还有这个事情,于是匆匆赶回学校找wj。去了办公室,人们说wj不在,出门时碰见另一个人,他说wj大约在楼上,还说最近好几次有人找wj了…… 我貌似先回了一次宿舍,见到了若干高中同学,讨论了挂科事宜,还接了些水(……),之后便上楼去找wj,大约到了4楼/5楼。貌似那段时间人们在准备高考,各个教室门口有些女生举着类似拖把的东西用来传递信号(模拟开考?肃静?)……

没找着我就下楼去了,底楼站着教导主任,她说,人们在准备高考,不要发出声响…… 于是我尽可能轻的落地,尽可能不动,谁知居然浮起来了…… 大约在离地一些距离的地方飘,后来就类似于飞行状态了…… 教导主任注意到这个奇怪的事情,就追了过来。路上还碰见一队保安,保安队长也在飘…… 飘了一段时间飘到了一个大厅里,这时候貌似不是飘了而是在一个拱型的物体上飞(形状应该和瓦片类似)…… 教导主任向着飘着的我问这个飘的原理是啥,我探了一下那个物体下面,说,是上升气流…… 然后那个大厅四周貌似都是屏幕一类,她又问我为啥用lcd屏幕就不飘用crt就飘,我说因为crt会电离空气从而产生上升气流(……)。飘着飘着貌似飘出了学校,远看是个类似鸟巢或者世博会中国馆的建筑……

飞出去之后,一路向着南面飞。一会之后我意识到,因为远离了那些屏幕,没有电离效果,于是没有上升气流,于是我应该掉下去了…… 接着就发现的确在往下掉…… 一边掉一边还往南飘,貌似飘过了条河,感觉是条大河(长江?)。飘着飘着我看见底下有架飞机,根据相对位置,我开始担心被飞机引擎吸进去…… 看了一会我想为啥我看见的是飞机机腹,于是我意识到我其实在往上看,也就是说我面朝天空落地了……

之后就醒了…… 貌似做梦很容易把不同时代的同学/老师/场景混起来啊

在bsd上跑ndk-build

bsd一直是个官方不咋支持的Android开发平台…… 不过靠着linux兼容层,还是可以混混的……

首先是ndk-build会报不支持的os(FreeBSD)和arch(amd64),而且ndk-build并不会使用环境变量里定义的值。所以有两个办法:

1. 直接调用gmake

env HOST_OS=linux HOST_ARCH=x86 gmake -f $NDK_DIR/build/core/build-local.mk

这样啥都不用改。

2. 修改ndk-build

把HOST_OS设置成linux,HOST_ARCH设置成x86,并且export出来。

再把GNUMAKE设置成gmake,否则会调自带的linux版gmake导致一些麻烦的事情……

然后直接跑就行了。

跑了之后会碰到一个问题:ld会segmentation fault。看系统log可能是因为fallocate和fstatfs64系统调用没有实现的关系。

解决办法是,到ndk目录里的toolchains/*/prebuilt/linux-x86/…/bin/,如果有ld.gold,那把老的ld干掉,改成到ld.bfd的符号链接。老的ld就是ld.gold……

其实就是gold那个新的ld调了一些新的bsd还没实现的linux的system call…… 用老的bfd里的ld就没事了……

居然又碰上一个Android的Bug

开发某物过程中已经碰见俩Android的bug了,Android有那么多bug么……

第一个是在TextView里面加有格式的文本,可能会导致IndexOutOfBoundException…… 在Android公开issue列表里的一个对应的issue是#35466,影响Android 4.1,大约在4.1.x修复了。

第二个是如果有硬件加速的话,那么EditText里面的文字显示会有问题,输入一些文字之后,在前面插入文字,新的文字会和老的重叠起来…… 或者说,老的文字不会自动后退…… 在issue列表里有#38770是关于这个bug的。影响Android 4.1-4.1.2,在Android 4.2修复了。

看来4.1 bug很多嘛…… 难道和Project Butter有关系……