Jun 4, 2013

Run Android Java console program

$ cat Hello.java
class Hello {
        public static void main(String[] args) {
                System.out.println("Hello World!");
        }
}

$ javac Hello.java

$ dx --version
dx version 1.7

$ dx --dex --output=Hello.dex Hello.class

$ ls
Hello.class  Hello.dex  Hello.java

$ adb push Hello.dex /data/local/tmp/

4.0 User:
$ adb shell dalvikvm -cp /data/local/tmp/Hello.dex Hello
Dalvik VM unable to locate class 'Hello'
java.lang.NoClassDefFoundError: Hello
        at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Hello
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
        ... 1 more

4.0 Eng:
$ adb shell dalvikvm -cp /data/local/tmp/Hello.dex Hello

Hello World!

May 8, 2013

Linux Shell Basic Test


1. 目录下有a.txt,b.txt,c.txt 把他们改名为a.txt.bak,b.txt.bak,c.txt.bak
   rename 's/$/.bak/' [a-c].txt

2. 在tmp目录下创建a0.txt,a1.txt,….a100.txt
   for x in $(seq 0 100); do touch a${x}.txt;done

3. 递归删除/var/www目录下的所有“.svn”目录
   find /var/www -type d -name '*.svc' -exec rm -rf {} \;

4. 查找并杀掉所有的nginx进程,进程名特征:“/usr/local/sbin/nginx”
   ps aux | grep '/usr/local/sbin/nginx' | awk '{print $2}' | xargs kill

5. /var/log/wtmp文件过大了,需要清空这个文件,如何做?
   # > /var/log/wtmp
   $ sudo bash -c '> /var/log/wtmp'

6. shell中有哪些特殊字符,以及他们的含义和应用场合
   file glob: ?, *, [x-y]
   variable: $
   quote: ', ", (), [], {}

7. 文件权限位的含义,如权限为601是什么意思?
   rxw - 412
   601 - rw-------x

8. bash下,命令行操作有哪些快捷键可以用?在哪里可以查到这些快捷键的说明?
   bash -o vi
   bash +o vi
   vi, emacas

9. 如何定义函数,函数如何接受参数,返回值?
   bash function define:
   [function] func_name()
   {
       function body
   }

   args:
   func_name args

   $1, $2 ... ${n}

   $*
   $@

   a)
   global variable

   b)
   echo xxx

   ret_val=$(func_name args)

   c)
   func_name variable_name

   func_name()
   {
        local __var=$1
        ret_val='test only'
        eval $__var=$ret_val
   }