2011年1月27日 星期四

How to build gallery application

Android Groups有人有問過
是在build android的時候也一起build好的
你可以使用make showcommand來看如何build

透過Facebook分享

Android原生的application-Gallery放置路徑

Reference:
Android目錄結構

可以知道Android原生的application
像是

AccountsAndSyncSettings  Browser     Camera         DeskClock     Gallery     IM         Music             Protips         Settings        Stk
AlarmClock               Calculator  CertInstaller  Email         Gallery3D   Launcher2  PackageInstaller  Provision       SoundRecorder   VoiceDialer
Bluetooth                Calendar    Contacts       fsl_imx_demo  HTMLViewer  Mms        Phone             QuickSearchBox  SpeechRecorder


是放在/packages/apps

透過Facebook分享

2011年1月26日 星期三

[Android] Opencore

紀錄Android 2.2 Opencore中README文件內容


Opencore由PacketVideo這家公司所貢獻
屬於多媒體軟體架構
提供multimedia rendering and authoring and video telephony. (也可以拿來處理手機視訊)

以下介紹目錄屬性

  • android
opencore建立與android溝通的interface
  • baselibs
為了data containers, MIME string handling, messaging across thread boundaries, etc 而提供lib
  • build_config
用於build android之外的lib
  • codecs_v2
處理codec
  • doc
interface文件
  • engines
player and author engine
  • extern_libs_v2
置放一些thirdparty的lib
現在此目錄有包含the Khronos OpenMax IL interface的header files
  • extern_tools_v2
包含thirdparty所提供的tools可以用來build Opencore (而不需要與Android一起build)

  • fileformats
包含負責去parse mp4/3gp,mp3,wav,aac..等的lib

  • modules
包含build files, 負責收集較為low level的lib
像是modules/linux_mp4/core/src/pvmfmp4nodes.cpp
會處理到一些與OSCL(operating system compatibility library有關係的部份)
  • nodes
放置Opencore中稱為node的相關資料

  • oscl
Operating System Compatibility Layer
負責對應OS Api

  • protocols
負責parser and composer一系列的網路協定, HTTP, RTP/RTCP, RTSP, and SDP

  • pvmi
framework def of Opencore
pvmi: PacketVideo Multimedia Infrastructure

  • tools_v2
包含去build anroid之外的libs
與extern_tools_v2差異在於不是由thirdparty提供

透過Facebook分享

[Android] 擷取使用者觸碰螢幕座標位置

開一個專案
你需要implement OnTouchListener
並且實做onTouch function


當你touch screen的時候
就可以印出x,y的位置
Source code:
http://dl.dropbox.com/u/2452511/AndroidAP/GetFingerTouchPos.tar.gz

測試平台: Android 2.2

Update: 20110301
此外
在onCreate地方
替你的layout加上
setOnTouchListener(this);
才會接得到

透過Facebook分享

Android繪圖

android.graphics.Canvas :畫布製作類別

android.graphics.drawable :圖像繪製類別

android.graphics .* :相關繪圖函式

android.view.MotionEvent :動態擷取手指移動的動作

Reference:
Google Android程式設計與應用2

透過Facebook分享

備份光碟成iso並掛載到/media

用mount指令查詢一下ubuntu幫你自動掛載的位置

nelsonchung@ubuntu:~$ mount
/dev/loop0 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/dev/sda5 on /host type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/nelsonchung/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=nelsonchung)
/dev/sda1 on /media/BE60E19860E15823 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096,default_permissions)
/dev/sr0 on /media/Android type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500)
/dev/loop1 on /media/ebooks type iso9660 (rw)


壓縮光碟成iso的方法

sudo dd if=/dev/sr0 of=/media/BE60E19860E15823/ebooks/ISO/android.iso bs=1024

if的部份設定來源光碟位置
of的部份設定iso檔要放置的地方
bs設定大小

掛載iso的方式


先在media下mkdir ebooks


sudo mount /media/BE60E19860E15823/ebooks/ISO/android.iso /media/ebooks/ -t iso9660 -o loop

驗證於Ubuntu 10.04
查詢Ubuntu版本
(cat /etc/issue)
(lsb_release -a)

透過Facebook分享

2011年1月25日 星期二

觀看某一次commit的修改變化

可以使用git log -p看全部的改變

也可以另外使用git show "commitid"



nelsonchung@ubuntu:~/tmp/TestGitRevert$ git show 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
commit 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
Author: Nelson Chung
Date:   Tue Jan 25 18:31:52 2011 +0800

    add 12

diff --git a/record b/record
index 3bb459b..08fe19c 100644
--- a/record
+++ b/record
@@ -9,3 +9,4 @@
 9
 10
 11
+12


Refrence:
http://git-scm.com/documentation


透過Facebook分享

git revert fail

nelsonchung@ubuntu:~/tmp$ mkdir TestGitRevert
nelsonchung@ubuntu:~/tmp$ cd TestGitRevert
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git init
Initialized empty Git repository in /home/nelsonchung/tmp/TestGitRevert/.git/
nelsonchung@ubuntu:~/tmp/TestGitRevert$ vim record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git add record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 1"
[master (root-commit) b8c3b3f] add 1
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "2" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 2"
[master 0e77f52] add 2
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "3" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 3"
[master acdf9d0] add 3
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "4" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 4"
[master 6814dd7] add 4
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "5" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 5"
[master 38e2ca3] add 5
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "6" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 6"
[master f825601] add 6
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "7" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 7"
[master 3a4c807] add 7
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "8" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 8"
[master 090a8e4] add 8
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "9" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 9"
[master 5d0cb60] add 9
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "10" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 10"
[master 99a9780] add 10
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git log
commit 99a9780e7762aae78fefa3c4ed8d0c49e8f485ed
Author: Nelson Chung
Date:   Tue Jan 25 18:19:48 2011 +0800

    add 10

commit 5d0cb60c2ec6f606b029fe48174dbd61c9a2a1ee
Author: Nelson Chung
Date:   Tue Jan 25 18:19:40 2011 +0800

    add 9

commit 090a8e475674b9415eae7649a00c49dbc5500ab9
Author: Nelson Chung
Date:   Tue Jan 25 18:19:34 2011 +0800

    add 8

commit 3a4c807c3becedd4a26e4d280970abe5be854aa9
Author: Nelson Chung
Date:   Tue Jan 25 18:19:29 2011 +0800

    add 7

commit f825601df9e50d69251be8229979e697c8353410
Author: Nelson Chung
Date:   Tue Jan 25 18:19:23 2011 +0800

    add 6

commit 38e2ca349369feb3cf923c007d12f72712ed281d
Author: Nelson Chung
Date:   Tue Jan 25 18:19:19 2011 +0800

    add 5

commit 6814dd7c28103eff870527fa413f804edc6d1e24
Author: Nelson Chung
Date:   Tue Jan 25 18:19:14 2011 +0800

    add 4

commit acdf9d0647f454d712b18447e59858facbe11905


nelsonchung@ubuntu:~/tmp/TestGitRevert$ git revert 5d0cb60c2ec6f606b029fe48174dbd61c9a2a1ee
Automatic revert failed.  After resolving the conflicts,
mark the corrected paths with 'git add ' or 'git rm '
and commit the result.


I modify the file - record manually.

nelsonchung@ubuntu:~/tmp/TestGitRevert$ vim record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "11" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 11"
[master 546fdd5] add 11
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git revert HEAD
Finished one revert.
[master 994882e] using git revert HEAD Revert "add 11"
 1 files changed, 0 insertions(+), 1 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git log
commit 994882e46dc89e792d8cef8d7f76e78f8dba16ef
Author: Nelson Chung
Date:   Tue Jan 25 18:30:21 2011 +0800

    using git revert HEAD
    Revert "add 11"
    
    This reverts commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d.

commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d
Author: Nelson Chung
Date:   Tue Jan 25 18:29:44 2011 +0800

    add 11

commit 99a9780e7762aae78fefa3c4ed8d0c49e8f485ed
Author: Nelson Chung
Date:   Tue Jan 25 18:19:48 2011 +0800

    add 10

commit 5d0cb60c2ec6f606b029fe48174dbd61c9a2a1ee
Author: Nelson Chung
Date:   Tue Jan 25 18:19:40 2011 +0800

    add 9

commit 090a8e475674b9415eae7649a00c49dbc5500ab9
Author: Nelson Chung
Date:   Tue Jan 25 18:19:34 2011 +0800

    add 8

commit 3a4c807c3becedd4a26e4d280970abe5be854aa9
Author: Nelson Chung
Date:   Tue Jan 25 18:19:29 2011 +0800

    add 7

commit f825601df9e50d69251be8229979e697c8353410
Author: Nelson Chung
Date:   Tue Jan 25 18:19:23 2011 +0800

nelsonchung@ubuntu:~/tmp/TestGitRevert$ cat record 
1
2
3
4
5
6
7
8
9
10


nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "11" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ cat record 
1
2
3
4
5
6
7
8
9
10
11
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 11"
[master 27dd00a] add 11
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ echo "12" >> record
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git commit -am "add 12"
[master 27dc686] add 12
 1 files changed, 1 insertions(+), 0 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ cat record
1
2
3
4
5
6
7
8
9
10
11
12
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git log
commit 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
Author: Nelson Chung
Date:   Tue Jan 25 18:31:52 2011 +0800

    add 12

commit 27dd00ad510b22ceab445ca9f56aa5357219483a
Author: Nelson Chung
Date:   Tue Jan 25 18:31:46 2011 +0800

    add 11

commit 994882e46dc89e792d8cef8d7f76e78f8dba16ef
Author: Nelson Chung
Date:   Tue Jan 25 18:30:21 2011 +0800

    using git revert HEAD
    Revert "add 11"
    
    This reverts commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d.

commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d
Author: Nelson Chung
Date:   Tue Jan 25 18:29:44 2011 +0800

    add 11

commit 99a9780e7762aae78fefa3c4ed8d0c49e8f485ed
Author: Nelson Chung
Date:   Tue Jan 25 18:19:48 2011 +0800

    add 10

commit 5d0cb60c2ec6f606b029fe48174dbd61c9a2a1ee
Author: Nelson Chung
Date:   Tue Jan 25 18:19:40 2011 +0800

    add 9

commit 090a8e475674b9415eae7649a00c49dbc5500ab9
Author: Nelson Chung
Date:   Tue Jan 25 18:19:34 2011 +0800

nelsonchung@ubuntu:~/tmp/TestGitRevert$ git revert 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
Finished one revert.
[master c363ee7] Revert "add 12"
 1 files changed, 0 insertions(+), 1 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9: command not found
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git revert 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
Finished one revert.
# On branch master
nothing to commit (working directory clean)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git status
# On branch master
nothing to commit (working directory clean)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git log
commit c363ee7dbc35bd3783e730ac9cd3f22ca9c24fbe
Author: Nelson Chung
Date:   Tue Jan 25 18:32:33 2011 +0800

    Revert "add 12"
    
    This reverts commit 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9.

commit 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
Author: Nelson Chung
Date:   Tue Jan 25 18:31:52 2011 +0800

    add 12

commit 27dd00ad510b22ceab445ca9f56aa5357219483a
Author: Nelson Chung
Date:   Tue Jan 25 18:31:46 2011 +0800

    add 11

commit 994882e46dc89e792d8cef8d7f76e78f8dba16ef
Author: Nelson Chung
Date:   Tue Jan 25 18:30:21 2011 +0800

    using git revert HEAD
    Revert "add 11"
    
    This reverts commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d.

commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d
Author: Nelson Chung
Date:   Tue Jan 25 18:29:44 2011 +0800

    add 11

commit 99a9780e7762aae78fefa3c4ed8d0c49e8f485ed
Author: Nelson Chung
Date:   Tue Jan 25 18:19:48 2011 +0800

    add 10

commit 5d0cb60c2ec6f606b029fe48174dbd61c9a2a1ee
Author: Nelson Chung
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git revert 27dd00ad510b22ceab445ca9f56aa5357219483a
Finished one revert.
[master 2ea4b6f] Using git revert 27dd00ad510b22ceab445ca9f56aa5357219483a
 1 files changed, 0 insertions(+), 1 deletions(-)
nelsonchung@ubuntu:~/tmp/TestGitRevert$ git log
commit 2ea4b6f665ed5415dacc6bd43185263b5a0b8ee9
Author: Nelson Chung
Date:   Tue Jan 25 18:33:25 2011 +0800

    Using git revert 27dd00ad510b22ceab445ca9f56aa5357219483a
    
    Revert "add 11"
    
    This reverts commit 27dd00ad510b22ceab445ca9f56aa5357219483a.

commit c363ee7dbc35bd3783e730ac9cd3f22ca9c24fbe
Author: Nelson Chung
Date:   Tue Jan 25 18:32:33 2011 +0800

    Revert "add 12"
    
    This reverts commit 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9.

commit 27dc6863e1e4c836ae9022f0ec0dd7a5fb17b1d9
Author: Nelson Chung
Date:   Tue Jan 25 18:31:52 2011 +0800

    add 12

commit 27dd00ad510b22ceab445ca9f56aa5357219483a
Author: Nelson Chung
Date:   Tue Jan 25 18:31:46 2011 +0800

    add 11

commit 994882e46dc89e792d8cef8d7f76e78f8dba16ef
Author: Nelson Chung
Date:   Tue Jan 25 18:30:21 2011 +0800

    using git revert HEAD
    Revert "add 11"
    
    This reverts commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d.

commit 546fdd5c61048efffaacde291d5a90b5a8cd7d1d
Author: Nelson Chung
Date:   Tue Jan 25 18:29:44 2011 +0800

It is ok for me to use "git revert" now.
Is that a bug or the author of git - Linus Torvalds think there is no need to do git revert when there is too less "git commit"?

透過Facebook分享

Bluetooth HCI data format

Reference:
http://kunyichen.wordpress.com/2006/11/28/bluetooth-hci-data-format/

透過Facebook分享

移除Android鎖屏功能

Follow這兩篇文章

讓Android設備永不鎖屏
讓Android設備永不鎖屏(續)

修改兩個檔案
frameworks/base/packages/SettingsProvider/res/values/defaults.xml

找到def_screen_off_timeout
將60000修改成-1


frameworks/policies/base/phone/com/android/internal/policy/impl/KeyguardViewMediator.java

找到mExternallyEnabled
設定成false

之後mm
make snod
出來的system.img發現無效 ??

make clean
rebuild

紀錄一下make snod的message


nelsonchung@gps1004:~/myandroid9.1/frameworks/policies/base/phone$ vim com/android/internal/policy/impl/KeyguardViewMediator.java
找到mExternallyEnabled
設定成false

nelsonchung@gps1004:~/myandroid9.1/frameworks/policies/base/phone$ mm showcommands
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2
TARGET_PRODUCT=imx51_bbg
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRF85B
============================================
No private recovery resources for TARGET_DEVICE imx51_bbg
make: Entering directory `/home/nelsonchung/myandroid9.1'
Copy: out/target/product/imx51_bbg/root/init.rc
out/host/linux-x86/bin/acp -fpt device/fsl/imx5x/init.rc out/target/product/imx51_bbg/root/init.rc
target Java: android.policy_phone (out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes)
rm -f out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes-full-debug.jar
rm -rf out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes
mkdir -p out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes
for f in ; do if [ ! -f $f ]; then echo Missing file $f; exit 1; fi; unzip -qo $f -d  out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes; (cd  out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes && rm -rf META-INF); done
if [ -d "out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/src" ]; then find out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/src -name '*.java' >> out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates//java-source-list; fi
tr ' ' '\n' < out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates//java-source-list | sort -u > out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates//java-source-list-uniq
javac -J-Xmx512M -target 1.5 -Xmaxerrs 9999999 -encoding ascii -bootclasspath out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar -classpath out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar  -g  -extdirs "" -d out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes \@out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates//java-source-list-uniq || ( rm -rf out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes ; exit 41 )
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
rm -f out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates//java-source-list
rm -f out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates//java-source-list-uniq
mkdir -p out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/
jar -cf out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes-full-debug.jar  -C out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes .
rm -rf out/target/common/obj/JAVA_LIBRARIES/android.policy_phone_intermediates/classes
make: Leaving directory `/home/nelsonchung/myandroid9.1'




nelsonchung@gps1004:~/myandroid9.1/frameworks/base/packages/SettingsProvider$ vim res/values/defaults.xml

找到def_screen_off_timeout
將60000修改成-1

nelsonchung@gps1004:~/myandroid9.1/frameworks/base/packages/SettingsProvider$ mm showcommands
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=2.2
TARGET_PRODUCT=imx51_bbg
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=FRF85B
============================================
No private recovery resources for TARGET_DEVICE imx51_bbg
make: Entering directory `/home/nelsonchung/myandroid9.1'
Copy: out/target/product/imx51_bbg/root/init.rc
out/host/linux-x86/bin/acp -fpt device/fsl/imx5x/init.rc out/target/product/imx51_bbg/root/init.rc
target R.java/Manifest.java: SettingsProvider (out/target/common/obj/APPS/SettingsProvider_intermediates/src/R.stamp)
out/host/linux-x86/bin/aapt package  -z -m  -J out/target/common/obj/APPS/SettingsProvider_intermediates/src -M frameworks/base/packages/SettingsProvider/AndroidManifest.xml -P out/target/common/obj/APPS/SettingsProvider_intermediates/public_resources.xml -S frameworks/base/packages/SettingsProvider/res  -I out/target/common/obj/APPS/framework-res_intermediates/package-export.apk -G out/target/common/obj/APPS/SettingsProvider_intermediates/proguard_options --min-sdk-version 8 --target-sdk-version 8 --version-code 8 --version-name 2.2
for GENERATED_MANIFEST_FILE in `find out/target/common/obj/APPS/SettingsProvider_intermediates/src \
-name Manifest.java 2> /dev/null`; do \
dir=`grep package $GENERATED_MANIFEST_FILE | head -n1 | \
awk '{print $2}' | tr -d ";" | tr . /`; \
mkdir -p out/target/common/R/$dir; \
out/host/linux-x86/bin/acp -fpt $GENERATED_MANIFEST_FILE out/target/common/R/$dir; \
done;
for GENERATED_R_FILE in `find out/target/common/obj/APPS/SettingsProvider_intermediates/src \
-name R.java 2> /dev/null`; do \
dir=`grep package $GENERATED_R_FILE | head -n1 | \
awk '{print $2}' | tr -d ";" | tr . /`; \
mkdir -p out/target/common/R/$dir; \
out/host/linux-x86/bin/acp -fpt $GENERATED_R_FILE out/target/common/R/$dir \
|| exit 31; \
out/host/linux-x86/bin/acp -fpt $GENERATED_R_FILE out/target/common/obj/APPS/SettingsProvider_intermediates/src/R.stamp || exit 32; \
done; \

target Java: SettingsProvider (out/target/common/obj/APPS/SettingsProvider_intermediates/classes)
rm -f out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-debug.jar
rm -rf out/target/common/obj/APPS/SettingsProvider_intermediates/classes
mkdir -p out/target/common/obj/APPS/SettingsProvider_intermediates/classes
for f in ; do if [ ! -f $f ]; then echo Missing file $f; exit 1; fi; unzip -qo $f -d  out/target/common/obj/APPS/SettingsProvider_intermediates/classes; (cd  out/target/common/obj/APPS/SettingsProvider_intermediates/classes && rm -rf META-INF); done
if [ -d "out/target/common/obj/APPS/SettingsProvider_intermediates/src" ]; then find out/target/common/obj/APPS/SettingsProvider_intermediates/src -name '*.java' >> out/target/common/obj/APPS/SettingsProvider_intermediates//java-source-list; fi
tr ' ' '\n' < out/target/common/obj/APPS/SettingsProvider_intermediates//java-source-list | sort -u > out/target/common/obj/APPS/SettingsProvider_intermediates//java-source-list-uniq
javac -J-Xmx512M -target 1.5 -Xmaxerrs 9999999 -encoding ascii -bootclasspath out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar -classpath out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/ext_intermediates/classes.jar:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar  -g  -extdirs "" -d out/target/common/obj/APPS/SettingsProvider_intermediates/classes \@out/target/common/obj/APPS/SettingsProvider_intermediates//java-source-list-uniq || ( rm -rf out/target/common/obj/APPS/SettingsProvider_intermediates/classes ; exit 41 )
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
rm -f out/target/common/obj/APPS/SettingsProvider_intermediates//java-source-list
rm -f out/target/common/obj/APPS/SettingsProvider_intermediates//java-source-list-uniq
mkdir -p out/target/common/obj/APPS/SettingsProvider_intermediates/
jar -cf out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-debug.jar  -C out/target/common/obj/APPS/SettingsProvider_intermediates/classes .
rm -rf out/target/common/obj/APPS/SettingsProvider_intermediates/classes
Copying: out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-debug.jar
out/host/linux-x86/bin/acp -fpt out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-debug.jar out/target/common/obj/APPS/SettingsProvider_intermediates/emma_out/lib/classes-full-debug.jar
Copying: out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-names.jar
out/host/linux-x86/bin/acp out/target/common/obj/APPS/SettingsProvider_intermediates/emma_out/lib/classes-full-debug.jar out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-names.jar
Copying: out/target/common/obj/APPS/SettingsProvider_intermediates/classes.jar
out/host/linux-x86/bin/acp out/target/common/obj/APPS/SettingsProvider_intermediates/classes-full-names.jar out/target/common/obj/APPS/SettingsProvider_intermediates/classes.jar
target Dex: SettingsProvider
out/host/linux-x86/bin/dx -JXms16M -JXmx1536M --dex --output=out/target/common/obj/APPS/SettingsProvider_intermediates/classes.dex    out/target/common/obj/APPS/SettingsProvider_intermediates/classes.jar
target Package: SettingsProvider (out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk)
touch out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates//dummy
(cd out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/ && jar cf package.apk dummy)
zip -qd out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk dummy
rm out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates//dummy
out/host/linux-x86/bin/aapt package -u  -z -c en_US,en_GB,fr_FR,it_IT,es_ES,es_US,de_DE,nl_NL,cs_CZ,pl_PL,zh_TW,zh_CN,ru_RU,ko_KR,nb_NO,pt_PT,pt_BR,da_DK,el_GR,sv_SE,tr_TR,ja_JP,hdpi,mdpi,nodpi -M frameworks/base/packages/SettingsProvider/AndroidManifest.xml -S frameworks/base/packages/SettingsProvider/res  -I out/target/common/obj/APPS/framework-res_intermediates/package-export.apk --min-sdk-version 8 --target-sdk-version 8 --version-code 8 --version-name 2.2   -F out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk
out/host/linux-x86/bin/aapt add -k out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk out/target/common/obj/APPS/SettingsProvider_intermediates/classes.dex
 'out/target/common/obj/APPS/SettingsProvider_intermediates/classes.dex' as 'classes.dex'...
mv out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.unsigned
java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/security/platform.pk8 out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.unsigned out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.signed
mv out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.signed out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk
mv out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.unaligned
out/host/linux-x86/bin/zipalign -f 4 out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.unaligned out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.aligned
mv out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk.aligned out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk
Install: out/target/product/imx51_bbg/system/app/SettingsProvider.apk
out/host/linux-x86/bin/acp -fpt out/target/product/imx51_bbg/obj/APPS/SettingsProvider_intermediates/package.apk out/target/product/imx51_bbg/system/app/SettingsProvider.apk
make: Leaving directory `/home/nelsonchung/myandroid9.1'


透過Facebook分享

reinstall virtualbox kernel modules

昨天做完Ubuntu更新
發現Oracle VM VirtualBox掛點

按照指示叫我重新安裝



nelsonchung@ubuntu:~$ sudo /etc/init.d/vboxdrv setup
* Stopping VirtualBox kernel modules * done.
* Uninstalling old VirtualBox DKMS kernel modules * done.
* Trying to register the VirtualBox kernel modules using DKMS
* Failed, trying without DKMS
* Recompiling VirtualBox kernel modules * done.
* Starting VirtualBox kernel modules * done.

ok

可以開嚕

透過Facebook分享

Simon 有你的

Simon的求婚影片
經歷許多個月細心的規劃與準備
才完成這個極具深度的影片


真的是要跟本人聊過
才知道這需要花費多少苦心 耐心與細心才能完成這個作品

祝Simon跟涼麵永遠幸福

幕後花絮

透過Facebook分享

2011年1月24日 星期一

Linux上各個目錄的意義

背了幾次
都很容易忘記
要找的時候
有時候都找不到

現在找到了
趕快紀錄一下
http://linux.vbird.org/linux_basic/0210filepermission.php#dir

/bin: 執行檔(or 指令)的位置
/boot: 開機會使用到的地方
/dev: 任何的裝置與週邊都是以檔案的方式存在. 存取此目錄下的檔案, 就等於存取該設備
/etc: 系統設定檔
/lib: 系統函式庫
/media: 一般與/mnt的用途相同. 放置可移除裝置
/opt: 存放第三方軟體.  (自己系統有以下資料 nelsonchung@ubuntu:/opt$ ls
Adobe  gcc-4.1.2-glibc-2.5-nptl-3  google
)
/sbin: 給root使用的. 此處所放置的指令會拿來設定系統環境

/proc:是一個virtual filesystem. 存放系統資訊 (存在記憶體之中, 不佔系統空間)
包含
/proc/cpuinfo: cpu資訊
/proc/diskstats: disk狀態
/proc/meminfo: memory information
/proc/version: kernel version


/sys:  紀錄與核心相關的資訊
特別一提
usb的設備會在這邊顯示

nelsonchung@ubuntu:/sys/bus/usb/devices$ ls
1-0:1.0  2-1      2-6      2-6:1.1  4-0:1.0  6-0:1.0  8-0:1.0  8-1:1.0  8-1:1.2  usb1  usb3  usb5  usb7
2-0:1.0  2-1:1.0  2-6:1.0  3-0:1.0  5-0:1.0  7-0:1.0  8-1      8-1:1.1  8-1:1.3  usb2  usb4  usb6  usb8

透過Facebook分享

git 移除已加入的檔案

使用git rm 會連帶把你的檔案一起刪除

你可以使用git add -i
選項3
然後會列出你加入的檔案
這時候按下檔案的編號 ex 1, 2, 3 ...
就會出現*代表已選中要移除的檔案
確定後
按下enter按鍵離開

透過Facebook分享

使用git add 一次增加很多新增的檔案

一般用git control source code
可以使用git add filename
一次一個將source code加到git index中

如果你一次增加許多files
你可以使用git add .
來一次把所有的檔案加入到index

or
git add -i  (使用互動方式增加檔案)


*** Commands ***
  1: status  2: update  3: revert  4: add untracked
  5: patch  6: diff  7: quit  8: help

1顯示目前狀態
3移除檔案



Reference:
http://wildjcrt.pixnet.net/blog/post/26510201

透過Facebook分享