打印一个完整的回溯
1
|
|
Find
http://ruby-doc.org/stdlib-1.9.3/libdoc/find/rdoc/Find.html
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Time
1 2 3 4 |
|
1
|
|
http://ruby-doc.org/stdlib-1.9.3/libdoc/find/rdoc/Find.html
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 |
|
{ {
,{ %
,% }
,} }
,{ { {
,} } }
中间的空格都要去掉才能执行在折腾github上博客的时候, 遇到一些jekyll, 正确来说应该是Liquid用法的问题。 于是一系列搜索之后终于找到了比较容易理解的文档>>
关于Liquid的语法使用,看完一遍,就能愉快的在github上继续折腾博客了。有些看不大懂,没翻译,都是自己的见解,有些根本用不上就不解释了。
Output标记,用于输出文本,格式采用 { { 两个尖括号包围 } }
Tag标记,用于执行命令或者处理 格式: { % 一对尖括号内一对百分号 % }
我的见解是: 类比jsp格式, Output相当于 <%=variable>,即输出变量值;
Tag相当于<% int i=2 ;%>,一种数据处理,但不做输出效果.
例子:
1 2 3 |
|
Filters过滤器,数据处理的操作方法.
过滤器的第一个参数,往往是过滤器运算符'|‘左边的Output,而过滤器的返回值,是通过过滤运算符右边的操作所得到的,过滤器可以叠加操作,最终得到该Output所要输出的值。(这段我见解,翻译不过来 = =)
如下:
1 2 3 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Tag在模板中起到处理逻辑的作用。
下面是目前支持的Tag:
1 2 3 4 5 6 7 8 9 10 |
|
注释隐藏
1 2 |
|
当包裹内容出现冲突语法时,不会执行其处理。
1 2 3 |
|
e.g.
1 2 3 |
|
1 2 3 4 |
|
1 2 3 |
|
1 2 3 4 |
|
1 2 3 |
|
多条件
1 2 3 4 5 6 7 8 |
|
1 2 3 4 5 6 7 8 9 |
|
循环列举
1 2 3 4 |
|
结果:
1 2 3 4 |
|
可以通过命名分组:
1 2 3 4 |
|
结果:
1 2 3 4 |
|
循环集合:
1 2 3 |
|
遍历hash时:item[0]包含键,item[1]包含值
1 2 3 |
|
for循环时,下列变量可以辅助使用:
1 2 3 4 5 6 7 |
|
还有一些变量可以用来处理循环时选择性处理:
limit:int - 限制遍历个数
offset:int - 从第n个数开始遍历
1 2 3 4 5 |
|
反序遍历:
1 2 3 |
|
除了遍历集合,还可以定义一个范围的数字来遍历:
1 2 3 4 5 |
|
赋值变量:
1 2 3 4 5 |
|
还可以赋值布尔值:
1 2 3 4 5 6 7 8 9 |
|
赋值处理过的数据:可以用capture
1 2 3 4 5 6 7 8 |
|
首先下载Android SDK ,完成安装openjdk-6-jre,还需要安装ia32-libs bison flex libglu1-mesa-dev 。
将下载回来的Android SDK解压缩后进入文件夹,运行tools/monitor
Window->Android SDK Manager 选择想要的模拟的android安转
Window->Android Virtual Device Manager 模拟器管理界面。
下载不了sdk就 https://awk.so/#newwindow=1&q=dl-ssl.google.com+ip
搜索dl-ssl.google.com的IP,然后在hosts替换掉。如 203.208.46.200
在电脑上运行 adb install /XXX/YYY.apk
http://www.findspace.name/easycoding/415
要到设置->语言和输入法中勾选选择输入,再点击输入法靠右的地方进行设置。
下载 platform-tools 或 adt-bundle-linux-x86_64-XXX.zip(这个很大)
adb start-server 打开服务
如果一切正常的话
输入
adb devices
就能显示出当前连接到电脑的android设备 ^_^
试试这个命令
adb shell
就能在Ubuntu上的终端执行android的shell命令了
su
切换到root
或者
adb root
再
adb shell
不过这种不一定成功
有些手机有自己的刷机软件,这种的fastboot连不上–大品牌
没有自己的刷机软件的,一般都可以用fastboot连接–杂牌、国产。。。
查看设备, 注意fastboot要加-i,其他网上搜到的对我试的三种机子都无效。 http://bbs.nubia.cn/thread-167619-1-1.html
1 2 3 4 5 |
|
$ mount
1
|
|
我用的平台,默认加载sdcard分区是noexec,所以无法执行该分区下的文件。
重新加载该分区mount -o rw,remount /mnt/sdcard /sdcard
然后一切正常,自己的执行程序现在工作正常了。
进入到你的android源代码目录,敲入下面命令:
git clone http://android.googlesource.com/kernel/goldfish.git kernel
cd kernel 进入我们刚才创建的kernel文件夹
git branch -avv 查看远程的git 库
我们选择remotes/origin/android-goldfish-2.6.29分支来下载
git checkout -b android-goldfish-2.6.29 remotes/origin/android-goldfish-2.6.29
设置环境变量
export PATH=$PATH:~/andr-perf/gcc-arm-none-eabi-4_8-2014q3/bin
修改kernel下面的makefile文件,修改
ARCH ?= $(SUBARCH)
CROSS_COMPILE ?=
这两个字段成如下内容:
ARCH ?= arm
CROSS_COMPILE ?= arm-none-eabi-
// 但是对于make goldfish_armv7_defconfig这样编译的内核模拟器好像启动不了,应该是默认编译成v5的,需要改成v7。或者可以改成ndk的编译器
// CROSS_COMPILE ?= /home/kk/andr-perf/android-ndk-r10c/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
开始编译,敲入如下命令
make goldfish_defconfig
或者看arch/arm/configs/目录下有什么,就挑一个make XXX
正式编译,敲入如下命令
make
正式编译成功之后,我们会看到如下文字:
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
在启动模拟器之前,先设置模拟器的目录到环境变量$PATH中去:
USER-NAME@MACHINE-NAME:~/Android$ export PATH=$PATH:~/android_prj/out/host/linux-x86/bin
设置ANDROID_PRODUCT_OUT环境变量:
USER-NAME@MACHINE-NAME:~/Android$ export ANDROID_PRODUCT_OUT=~/android_prj/out/target/product/generic
同样,如果你的源代码目录不是android_prj,请注意修改下。另外,如果你已经配置了环境变量。则不必如此。建议最好写到配置文件 ~/.bash_rc配置文件里面去。 免得每次都要配置
启动模拟器
一、
cd ~/android_prj 回到源代码目录
sandy@ubuntu:~/android_prj$ emulator -kernel ./kernel/arch/arm/boot/zImage 利用刚才我们编译的kernel内核启动模拟器
二、
emulator -avd myavd -kernel ~/goldfish/arch/arm/boot/zImage
-avd后面的参数 myavd即为模拟器的名字,-kernel后面的参数就找到刚才编译出的内核的路径。
若启动模拟器失败,可尝试关闭后再启动。第一次启动模拟器时可能需要等待比较长的时间,3分钟到15分钟不等。
验证结果
待模拟器启动完毕之后,我们敲入adb shell
第一次会说device offline,不管它,再敲入一遍,就会进入adb 调试
然后cd proc 进入proc目录,cat version