Category Archives: IT: Android

Xpreia S (LT26i) 升級 Android 6.0

Xpreia S 真是個長生機種,拿它來做 Android APP 開發因為可以用很久所以 CP 值極高,持續有不同的團隊放出最新版本的 ROM,這次在 xda-developers 上看到的這一個則是放出了 Android 6.0 的版本。之前在 Xperia Z5C 上就體驗過從 5.x 升級到 6.0 之後的速度改進,當然最主要的還是應用程式權限的細分更能讓機主擁有更多的自主性。

安裝過程國外網友做了一個不錯的教學,測試過不會變磚。

How to install Android 6.0 Marshmallow in Xperia S

先玩玩再看看以後有沒有機會升到 N… 🙂

加碼提醒,看到很多朋友用 刷機大師刷各種 ROM, 它上面推薦的 ROM 如果拿來開發你會在 Android Monitor 上看到很多有趣的現象,建議還是卸載用 xda 上的方式及 ROM 刷機吧,對那些號稱國內高手修改的 ROM 還是保持點距離。

 

將 HTC Hero 更新到 CM6.10

有 Sense 的 ROM 都要上百 MB,而這個 ROM 只有五十幾 MB,換來的就是速度。要記得安裝 Google App (Tiny),這樣在 Account 設定才會有 Google Account 的選項。

利用 Google Canendar Sync 把 Outlook 的 Canendar 先同步到 Google Calendar (雲端),然後在手機的 Google 帳戶開啟同步,這樣就會再把手機上的 Calendar 同步得與 Outlook 相同了,而 Google Canendar Sync 一般就是預設兩分鐘啟動一次,如果你想要把手機上的行程資料也同步到 Outlook 上,只要在 Google Canendar Sync 設定 Two way sync 就可以了。
Continue Reading

Android Market 已安裝應用程式消失

自從有一次重新開機之後,已安裝的應用程式變成只看到兩個,具體原因也不曉得是什麼,還好 Market 在 Google App 裡視為單一的應用程式,所以可以單獨刪除程式資料檔。

解決方式,到 [設定][應用程式][管理應用程式] 選擇 Market,然後清除 Market 所使用的資料檔,接著重新打開 Market 就可以了。

題外話,有 Update All 真是個好功能呀,再也不用像以前一個一個的點選進行更新了。

Android SDK on Ubuntu 9.10

經過了一些嘗試,總算是把 SDK 跟 Eclipse 開發環境的 ADT 在 Ubuntu 9.10 上面裝起來了。Android SDK 的介面有需要按 Enter 鍵某些按鈕才能動作的問題,應該是跟 GTK 的某些功能有衝突。ADT 在 Eclipse 上的安裝,我是用 Eclipse-Platform 套件,後來發現還要安裝 Eclipse-pde 套件,然後 Software Site 要加上 http://download.eclipse.org/releases/galileo 才能夠正確的安裝。

謹以此篇留給還沒安裝完成的朋友,希望你們能 Google 得到這裡來看到解法。如果解決了安裝問題,請留言。

有圖才有真相:

寄件者 ClipBoard
寄件者 ClipBoard

Android 手機的檔案系統 (續上篇之一)

繼上一篇,結果還是回到自問自答,因為可以直接連到手機或是模擬器去看,答案揭曉,就是 yaffs2 (Yet Another Flash File System) 一種專門為 Flash 設計的嵌入式文件系統。

# mount
mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
/dev/block//vold/179:0 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=
1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,s
hortname=mixed,utf8 0 0

這邊有一篇文章在介紹如何 Patch linux kernel 使它支援 yaffs2,然後因為看在效能份上應該可以再來進行深度的 Hack,呵呵。

[HACK] Android 手機 (HTC Hero) SD 卡與檔案系統

這一篇只用 Hero 的官方 ROM 進行測試喔。

第一天拿回這只 Hero,還沒有開機就先把專案附的 8GB SD 卡裝上,接著插上 SIM 卡,就直接開機用了。後來想要使用網路分享的功能,才在 HTC 的官方網站上下載了 HTC Sync 軟體,當時心裡還暗罵 HTC 在包裝中居然沒有附上完整的手冊、同步軟體,還要購買者到網站上去下載。有一天突然想要把原機的 2GB SD 拿來給 NDSL 裝遊戲用,才發現這張原廠所附的卡上有一些 DEMO、PDF 手冊、還有一些其他包含了資料的資料夾。原來是我自己錯怪 HTC 了,用 SD 卡來包裝這些檔而不使用光碟,的確是比較環保的作法呀。

昨天看了一篇檔案系統的文件,突然想到如果把手機上的 SD 卡格式化成其他的檔案系統,不要用 FAT 的話,會不會有比較好的執行效能,畢竟 Android 手機上已經是執行 Linux 作業系統,所以理應可以支援不同的檔案系統,但是這樣如果要掛載給 Windows 讀寫的話,在 Windows 上也要安裝有相對應的檔案系統支援,那麼前一段所說的環保手段就不可行了。

想到這裡,打嘴砲是不好的習慣,直接來試試看。備份一下 SD 卡上的資料,然後拿到 Ubuntu 系統下,看一下 SD 卡的 Mount 位置:

james@wino:/$mount

/dev/loop0 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw)
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)
udev on /dev type tmpfs (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/sda3 on /host type fuseblk (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/james/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=james)
/dev/sda2 on /media/System Disk type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/mmcblk0p1 on /media/96F1-0993 type vfat (rw,nosuid,nodev,uhelper=devkit,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,flush)

看到是在 /dev/mmcblk0p1,先把它 Unmount 掉:

james@wino:/$umount /media/96F1-0993

接著 mkfs.ext3 (先試一下 ext3 可不可以被 Android 掛載吧)

james@wino:/$ sudo mkfs.ext3 /dev/mmcblk0p1
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
120720 inodes, 482311 blocks
24115 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=494927872
15 block groups
32768 blocks per group, 32768 fragments per group
8048 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912

Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

先試著把 SD 卡拔出來重新插上,確定在 Ubuntu 上可以掛載,然後卸載,拿到 HTC Hero 上面看看能不能使用。
–[結果]– SD 卡為空白: SD 卡為空白或使用不支援的檔案系統。
耶~等一下,不能在手機上掛載,並不表示不能在 Ubuntu 接上手機掛載它吧,試一下,結果是可以在 Ubuntu 上看到的 (透過手機連接掛載成功)。
這是格式化為 ext3 的結果,看來 HTC 這個 Android OS 的 Kernel 並沒有把 ext3 的支援編譯進來,殘念。

效能測試:

(這是 ext3)

james@wino:/media$ sudo hdparm -Tt /dev/sdb1

/dev/sdb1:
Timing cached reads: 2226 MB in 2.00 seconds = 1113.57 MB/sec
Timing buffered disk reads: 18 MB in 3.03 seconds = 5.94 MB/sec

(格式化回 FAT 吧)

james@wino:/media$ sudo mkfs.vfat /dev/mmcblk0p1
mkfs.vfat 3.0.3 (18 May 2009)

把 SD 卡放回手機,已經可以讀到,因為已經改回 FAT 檔案系統了,再由連接線掛載,測試一下效能作比較:
(這是 FAT)

james@wino:/media$ sudo hdparm -Tt /dev/sdb1

/dev/sdb1:
Timing cached reads: 2198 MB in 2.00 seconds = 1099.92 MB/sec
Timing buffered disk reads: 26 MB in 3.19 seconds = 8.15 MB/sec

FAT 好像比較快,理論跟實際跑出來的數值有不同,這個 Hack 應該到這邊了吧,因為不能給手機讀到的檔案系統,改了也沒有用呀,乖乖的用 FAT。
PS. 有時間的話該來試一下,看看 JFS 或是 XFS 會不會讓在 Android 手機 SD 卡上執行的 IO 速度變快吧。

另外,有誰知道 HTC 官方的 Android OS Kernel 編譯了哪些檔案系統支援?

在 Ubuntu 9.10 中安裝 Android 2.0 SDK (問題解法)

依照 Android SDK 官方網頁的說明在 Ubuntu 9.10 下是裝不起來的,因為執行時 Android SDK and AVD Manager 程式介面的按鈕都沒作用,但是在 Windows 7 底下卻沒有問題,找了很久終於在這裡找到答案,只要先:

export GDK_NATIVE_WINDOWS=true

然後再執行:

./android

所有按鈕就有作用了,也可以下載 Packages 了。是個簡單的 Workaround,不過能解決掉手上的問題就好了,擺在旁邊兩天的問題總算解決,這樣在練習的時候可以少往 Windows 7 切換了。Stay with Ubuntu…

寄件者 ClipBoard

Copyright © 2017. Powered by WordPress & Romangie Theme.