<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CubeLee]]></title><description><![CDATA[读万卷书，行万里路！！！]]></description><link>https://blog.youkuaiyun.com/cubelee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cubelee]]></copyright><item><title><![CDATA[自定义控件解决ListView和ScrollView冲突]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/9107941</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/9107941</guid><author>cubelee</author><pubDate>Sun, 16 Jun 2013 20:38:00 +0800</pubDate><description><![CDATA[想要ListView自动计算高度其实也很简单，我们只要继承ListView控件，重写onMeasure方法即可，代码如下。


import android.content.Context;


import android.util.AttributeSet;


import android.widget.ListView;


 


/**


 * 自]]></description><category></category></item><item><title><![CDATA[Ubuntu 下一步步安装 Git Server]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/8206953</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/8206953</guid><author>cubelee</author><pubDate>Wed, 21 Nov 2012 11:03:45 +0800</pubDate><description><![CDATA[第一步： 安装 Git
apt-get install git-core


第二步： 初始化一个 repository
cd /home/lgao/sources/my_own/repositories/

git init --bare myprj

指定
 --bare，当前 repository 下就只有 .git/ 下的 objects，而没有真实文件。一般在 Ser]]></description><category></category></item><item><title><![CDATA[Ubuntu下GTK的安装、编译和测试]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7649708</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7649708</guid><author>cubelee</author><pubDate>Sun, 10 Jun 2012 11:15:03 +0800</pubDate><description><![CDATA[我利用此方法成功在UBUNTU 10.04下安装GTK 2.20.1。

一、安装

　　1、安装gcc/g++/gdb/make 等基本编程工具

$sudo apt-get install build-essential


　　2、安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

$sudo apt-get install gnome]]></description><category></category></item><item><title><![CDATA[ubuntu 12.04 编译android 时问题总结]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7648498</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7648498</guid><author>cubelee</author><pubDate>Sat, 09 Jun 2012 17:10:36 +0800</pubDate><description><![CDATA[1、/usr/bin/ld: /usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
解决：缺少lib32z1-dev,安装即可:apt-get install]]></description><category></category></item><item><title><![CDATA[Ubuntu 12.04 添加程序启动器]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7646982</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7646982</guid><author>cubelee</author><pubDate>Fri, 08 Jun 2012 23:27:22 +0800</pubDate><description><![CDATA[Ubuntu 12.04 dash home中每个图标对应/usr/share/applications当中的一个配置文件（文件名后缀为.desktop)。所以要在dash home中添加一个自定义程序启动器，需要在该文件目录下创建对应的配置文件。至于配置文件的语法，参考该目录下的配置文件即可明白。

以clipse为例，方法如下。

系统：Ubuntu 12.04 i386]]></description><category></category></item><item><title><![CDATA[ubuntu12.04 配置JAVA环境]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7643326</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7643326</guid><author>cubelee</author><pubDate>Thu, 07 Jun 2012 21:20:30 +0800</pubDate><description><![CDATA[新安装了ubuntu12.04，安装java的开发环境如下步骤：


    1、添加这个源： sudo add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ hardy multiverse"
    2、sudo apt-get update
    3、sudo apt-get install sun-java6-]]></description><category></category></item><item><title><![CDATA[android平台一些网页不能正常打开的问题]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7581761</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7581761</guid><author>cubelee</author><pubDate>Fri, 18 May 2012 23:00:25 +0800</pubDate><description><![CDATA[最近发现在android平台一些网页怎么也打不开，尝试更改apn设置也无效。还发现这些网页在ubuntu系统下也是打不开的，最后经过查阅和尝试解决了这个问题，在此做下记录。
       在linux平台proc文件系统下存在一个文件即/proc/sys/net/ipv4/tcp_window_scaling，原先的设置为1，可以通过如下两种方法更改设置：
1、echo 0 > /proc/s]]></description><category></category></item><item><title><![CDATA[android平台短信中心号获取]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7555251</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7555251</guid><author>cubelee</author><pubDate>Thu, 10 May 2012 21:17:15 +0800</pubDate><description><![CDATA[就是直接获取用户手机中的短信中心号，该种方式需要你的应用满足两个条件，1:你的应用需要有系统签名. 2:你的应用需要和phone进程在同一个进程组。具体实现方式如下:
配置AndroidManifest.xml 文件

http://schemas.android.com/apk/res/android"
      package="com.hello"
     android:sh]]></description><category></category></item><item><title><![CDATA[定制Android关机界面]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7548769</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7548769</guid><author>cubelee</author><pubDate>Wed, 09 May 2012 10:06:58 +0800</pubDate><description><![CDATA[在Android系统中，长按Power键默认会弹出对话框让你选择“飞行模式”，“静音”，“关机”等功能。这些功能对于手机非常适用，但是对于机顶盒产品就没有什么必要了。本文简单介绍一下怎样定制关机界面。

     我的目标是长按Power键，将会关机，弹出“设备将要关机”选择对话框。如果可以选择“是”关机，和“否”返回系统。

     弹出对话框的代码位于：

frameworks\]]></description><category></category></item><item><title><![CDATA[在shell脚本中调用另一个脚本的三种不同方法(fork, exec, source)]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7538222</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7538222</guid><author>cubelee</author><pubDate>Sat, 05 May 2012 20:39:47 +0800</pubDate><description><![CDATA[fork  ( /directory/script.sh)



fork是最普通的, 就是直接在脚本里面用/directory/script.sh来调用script.sh这个脚本.



运行的时候开一个sub-shell执行调用的脚本，sub-shell执行的时候, parent-shell还在。



sub-shell执行完毕后返回parent-shell. sub]]></description><category></category></item><item><title><![CDATA[android 短信接收流程分析——为更好的拦截短信做准备]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7413371</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7413371</guid><author>cubelee</author><pubDate>Fri, 30 Mar 2012 22:38:12 +0800</pubDate><description><![CDATA[观察360的短信拦截和QQ管家的短信拦截，发现先安装的就能先拦截到的短信，然后中断广播，之后谁都不能获取到短信。从这里可以推出系统大概有一个广播表，同等级的按安装先后顺序排放。目前的方法是在应用层调用framework API进行控制的。

 

为了能更好的了解android接收短信的流程，我进行了更深入的分析，从RIL的通信架构来分析当接收到短信的整个流程。从frameword里的RI]]></description><category></category></item><item><title><![CDATA[Android Framework 目录分析]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7392552</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7392552</guid><author>cubelee</author><pubDate>Sun, 25 Mar 2012 18:14:13 +0800</pubDate><description><![CDATA[1.目录树

/framework/base/api 

/framework/base/awt

/framework/base/build

/framework/base/camera
关 于camera的HAL接口库。最终生成native共享库libcamera.so ,编译时根据是否定义USE_CAMERA_STUB来决定系统是否有Camera硬件支持。若没有实际的Ca]]></description><category></category></item><item><title><![CDATA[进程的虚拟地址空间，堆栈、堆、数据段、代码段]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7351897</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7351897</guid><author>cubelee</author><pubDate>Wed, 14 Mar 2012 10:28:58 +0800</pubDate><description><![CDATA[上图是进程的虚拟地址空间示意图。

堆栈段：

　　1. 为函数内部的局部变量提供存储空间。

　　2. 进行函数调用时，存储“过程活动记录”。

　　3. 用作暂时存储区。如计算一个很长的算术表达式时，可以将部分计算结果压入堆栈。

数据段（静态存储区）：

　　包括BSS段的数据段，BSS段存储未初始化的全局变量、静态变量。数据段存储经过初始化的全局和静态变量。]]></description><category></category></item><item><title><![CDATA[如何写Android init.rc(该文章翻译自/system/core/init/readme.txt)]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7345911</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7345911</guid><author>cubelee</author><pubDate>Mon, 12 Mar 2012 18:08:45 +0800</pubDate><description><![CDATA[如何去写Android init.rc (Android init language)

Android初始化语言由四大类声明组成:行为类(Actions),命令类(Commands)，服务类(Services),选项类(Options).

  * 初始化语言以行为单位，由以空格间隔的语言符号组成。C风格的反斜杠转义符可以用来插入空白到语言符号。双引号也可以用来防止文本被空格分成多个语言]]></description><category></category></item><item><title><![CDATA[Android启动脚本init.rc]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7345529</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7345529</guid><author>cubelee</author><pubDate>Mon, 12 Mar 2012 16:41:45 +0800</pubDate><description><![CDATA[Android启动脚本init.rc
在 Android中使用启动脚本init.rc,可以在系统的初始化过程中进行一些简单的初始化操作。这个脚本被直接安装到目标系统的根文件系统中，被 init可执行程序解析。 init.rc是在init启动后被执行的启动脚本，其语法主要包含了以下内容：
Commands：命令
Actions： 动作
Triggers:触发条件
Services：服务]]></description><category></category></item><item><title><![CDATA[命令行开发、编译、打包Android应用程序]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7270795</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7270795</guid><author>cubelee</author><pubDate>Sat, 18 Feb 2012 22:42:39 +0800</pubDate><description><![CDATA[Android SDK提供了一系列命令行工具,用来进行Android应用的开发、调试、打包等工作！Eclipse能够进行Android应用开发的相关工作,也是调用了这些工具而已.

只有掌握了命令下的工作方式,工作起来才会更加的得心应手.下面就抛开Eclipse集成开发工具,徒手走一遍Android开发、编译、打包的流程!



注：本文只作参考之用,因为LBSDemo工程中有本人自己]]></description><category></category></item><item><title><![CDATA[Linux进程的实际用户ID和有效用户ID]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7225020</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7225020</guid><author>cubelee</author><pubDate>Wed, 01 Feb 2012 11:30:56 +0800</pubDate><description><![CDATA[本人对Unix下的进程的实际用户ID和有效用户ID一直都比较迷惑，没有完全搞清楚。最近温习APUE（《高级UNIX环境编程》），终于对这两个概念有了一个清晰的认识，看来经典著作绝对需要温习多遍，才能领略其中的奥秘。
     在Unix进程中涉及多个用户ID和用户组ID，包括如下：

1、实际用户ID和实际用户组ID：标识我是谁（据说这是一个变态的哲学问题，难死一片哲学家）。也就是登录用户的]]></description><category></category></item><item><title><![CDATA[android root权限破解分析]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7224683</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7224683</guid><author>cubelee</author><pubDate>Wed, 01 Feb 2012 10:21:24 +0800</pubDate><description><![CDATA[破解手机Root权限是比较简单及安全的，破解Root权限的原理就是在手机的/system/bin/或/system/xbin/目录下放置一个可执行文件“su”，这是一个二进制文件，仅仅在系统中置入这个“su”文件是不会给手机的软件或硬件造成任何故障。
       下面的代码是android系统原版的su中的部分代码，可以看出只允许getuid()为AID_ROOT和AID_SHELL的进程可以]]></description><category></category></item><item><title><![CDATA[Vim的分屏功能（作者：DigDeeply）]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7170912</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7170912</guid><author>cubelee</author><pubDate>Mon, 02 Jan 2012 01:33:21 +0800</pubDate><description><![CDATA[Vim的分屏功能


分屏启动Vim

使用大写的O参数来垂直分屏。
vim -On file1 file2 ...
使用小写的o参数来水平分屏。
vim -on file1 file2 ...

注释: n是数字，表示分成几个屏。
启动Vim后进行分屏

水平分屏。
:split
垂直分屏。
:vsplit

关闭分屏

关闭当前窗口。
Ctrl+W c]]></description><category></category></item><item><title><![CDATA[记住几个bash快捷键]]></title><link>https://blog.youkuaiyun.com/cubelee/article/details/7170906</link><guid>https://blog.youkuaiyun.com/cubelee/article/details/7170906</guid><author>cubelee</author><pubDate>Mon, 02 Jan 2012 01:05:05 +0800</pubDate><description><![CDATA[下面开始了~~
Ctrl-A 用于将光标定位到本行最前面，相当于编辑器中用HOME键
Ctrl-E 即将光标移动到本行末尾，相当于End键
Ctrl-B 用于将光标向左移动一格，相当于左箭头键
Ctrl-F 用于将光标向右移动一格，相当于右箭头键
Ctrl-D 即删除光标所在处的字符，相当于Del键
Ctrl-K 用于删除从光标处开始到结尾处的所有字符
Ctrl-L 清屏，相当于cl]]></description><category></category></item></channel></rss>