星期日, 4月 18, 2010

A688 APP2SD

這篇文章過時了,

現在安裝好 2.2 以上的自製韌體就可以開啟 APP2SD 的功能,

使用官方 2.1 的也可以透過安裝 Link2SD 達到 APP2SD 的目的

http://www.mobile01.com/topicdetail.php?f=423&t=2025742&m=f&last=26088270

===============

The English version of this article is available here:

http://android-dls.com/wiki/index.php?title=A688_App2SD

以下內容我只有在我的 A688 下實際測試過可以使用,
下面的內容會改寫 boot 分割區所以操作錯誤可能會無法開機,
而且部份操作是之後補記的所以可能有遺漏,請慎重,
A60 雖然理論上應該相同不過對於不熟的還是不要輕易嘗試為好

1. 重新配置 SD Card 分割區

用 PartedMagic,Acronis Disk Director 之類的工具重新分割 SD Card
需要有兩個分割區一個是 Fat32 的分割區放一般資料用
另一個是小於 1GB 的 ext2 的分割區放手機應用程式用,

(若是用 VFAT 版本請格式化成 Fat32)

分割完大概像下圖 Disk4 一樣

SD

2. 將 /data/app 內的檔案複製到 SD 的新分割區內(自動)

2.1. 手機開機到 FTM 模式(就是取得 root 的那個模式)
2.2. 下載 A688_Tools v2.2 並解壓縮

http://www.megaupload.com/?d=T9RO9I39

2.3. 執行 A688_Tools 內的 app2sd.bat

(FAT32 的執行 app2sd_fat32.bat , Ext2 的執行 app2sd_ext2.bat)
應該會有下面的訊息

H:\A688\A688_Tools>adb shell ls -l /dev/block/mmcblk0*
brw------- root root 179, 0 2010-04-19 12:12 mmcblk0
brw------- root root 179, 1 2010-04-19 12:12 mmcblk0p1
brw------- root root 179, 2 2010-04-19 12:12 mmcblk0p2
Do you want to continue (Y/N)?

2.4. 輸入 y 確認並開始 App2SD,或是輸入 n 離開
image

按下 y 之後可能要等快一分鐘左右,視手機程式多寡而定,

結束後長這樣:

image

2.5. 輸入 adb shell busybox rm -rf /data/app/*
(可不做, 刪除手機中的 /data/app,也可以保留部份程式,這樣沒插SD時那些程式還可使用)

2. 將 /data/app 內的檔案複製到 SD 的新分割區內(人工)

這步驟不用作,除非你發現上面執行 app2sd.bat 有問題

才需要用人工的一步步執行的方式來找出問題

http://www.megaupload.com/?d=3BUPLNCF Busybox
2.1. 手機開機到 FTM 模式(就是取得 root 的那個模式)
2.2. 下載 A688_Tools v2.2 並解壓縮, 並下載 busybox 放到解壓縮後的 A688_Tools 內
2.3. 執行 A688_Tools 內的 Dos_Console.bat
2.4. 輸入 adb shell ls -l /dev/block/mmcblk0*
應該會有下面的訊息
brw------- root root 179, 0 2010-04-18 21:02 mmcblk0
brw------- root root 179, 1 2010-04-18 21:02 mmcblk0p1
brw------- root root 179, 2 2010-04-18 21:02 mmcblk0p2
2.5. 輸入 adb shell mkdir /sdapp
2.6. 輸入 adb shell mount -t ext2 /dev/block/mmcblk0p2 /sdapp
(若是 vfat 的話要打 adb shell mount -t vfat /dev/block/mmcblk0p2 /sdapp )
2.7. 輸入 adb push busybox /sbin
2.8. 輸入 adb shell chmod 4777 /sbin/busybox
2.9. 輸入 adb shell mkdir /data
2.10. 輸入 adb shell mount -t yaffs2 /dev/block/mtdblock9 /data
2.11. 輸入 adb shell busybox cp -a /data/app/* /sdapp
2.12. 輸入 adb shell busybox rm -rf /data/app/*
(刪除手機中的 /data/app,也可以保留部份程式,這樣沒插SD時那些程式還可使用)

3. 測試 APP2SD

http://www.megaupload.com/?d=688AAPAO boot_App2SD.img (ext2 版本)

http://www.megaupload.com/?d=OAP3HVDS boot_App2SD_VFAT.img (VFAT 版本)
3.1. 開機到 Fastboot 模式
3.2. 下載特製的 boot_App2SD.img 並放到 A688_Tools 內
3.3. 執行 A688_Tools 內的 Dos_Consle.bat
3.4. 輸入 fastboot boot boot_App2SD.img
3.5. 手機自動重開, 先測試看看程式執行有沒有問題

4. 實際安裝 APP2SD


4.1. 開機到 Fastboot 模式
4.2. 執行 A688_Tools 內的 Dos_Consle.bat
4.3. 輸入 fastboot flash boot boot_App2SD.img
4.4. 輸入 fastboot reboot
4.4. 手機自動重開, 測試看看程式執行有沒有問題
安裝完 APP2SD 後若開機時手機有插 SD Card,
則在應用程式中會看到 SD Card 內的程式 (不會看到 /data/app 內的程式),
請不要在手機開機的狀態下拔掉 SD Card,
這會讓你的手機系統異常自動重開
若是沒有插 SD Card,
則開機看到的就會是 /data/app 內的程式

另外發現某先軟體可能因為不相容的緣故,

所以可能執行上會出現問題如 Handcent Sms,

不過透過重新安裝後目前運作正常

================================

之前下載過 V2.1 的話其實 V2.2 只是加了兩個 App2SD 的腳本和 busybox 而已,可以自己加上去

=============app2sd_ext2.bat=====

adb shell ls -l /dev/block/mmcblk0*
@echo off
SET /P ANSWER=Do you want to continue (Y/N)?
if /i {%ANSWER%}=={y} (goto :yes)
if /i {%ANSWER%}=={yes} (goto :yes)
goto :no
:yes
adb shell mkdir /sdapp
adb shell mount -t ext2 /dev/block/mmcblk0p2 /sdapp
adb push busybox /sbin
adb shell chmod 4777 /sbin/busybox
adb shell mkdir /data
adb shell mount -t yaffs2 /dev/block/mtdblock9 /data
adb shell busybox cp -a /data/app/* /sdapp
ECHO APP2SD OK...
goto :exit
:no
ECHO Bye
:exit
PAUSE

================================

=============app2sd_fat32.bat====

adb shell ls -l /dev/block/mmcblk0*
@echo off
SET /P ANSWER=Do you want to continue (Y/N)?
if /i {%ANSWER%}=={y} (goto :yes)
if /i {%ANSWER%}=={yes} (goto :yes)
goto :no
:yes
adb shell mkdir /sdapp
adb shell mount -t vfat /dev/block/mmcblk0p2 /sdapp
adb push busybox /sbin
adb shell chmod 4777 /sbin/busybox
adb shell mkdir /data
adb shell mount -t yaffs2 /dev/block/mtdblock9 /data
adb shell busybox cp /data/app/* /sdapp
ECHO APP2SD OK...
goto :exit
:no
ECHO Bye
:exit
PAUSE

================================

104 則留言:

匿名 提到...

請問 a688_Tools v2.2 去那裏載,我只有看到2.1 XD

匿名 提到...

我也找不到2.2
是這個嗎?
http://www.vdisk.cn/down/index/4280708A7514

小狼的BLog 提到...

http://www.megaupload.com/?d=FL8XEA11
事實上只有 2.1 版的 Orz
筆誤...

匿名 提到...

我輸入了
adb shell busybox cp -a /data/app/* /sdapp
卻出現...
cannot stat '/data/app/*': No such file or directory

是目錄位置錯誤嗎?

Ming 提到...

我的A688~有ROOT過
沒有刷過任何ROM

執行到adb shell busybox cp -a /data/app/* /sdapp
出現的就是cannot stat '/data/app/*': No such file or directory

我下ADB SHELL LS去看
並沒有DATA這個資料夾

然後重開機之後,用ROOT EXPLORER去看
也沒有看到建立的SDAPP那個資料夾

是我的手機問題嗎?

小狼的BLog 提到...

對不起~_~
是我的問題...
我漏掉了把 data mount 起來的步驟,
上面兩位會出現問題是因為少了
把 data 分割區 mount 起來的步驟,
現在已經補上,
另外那個 SDAPP 用 root explorer 是看不到的,
要驗證資料是否有拷貝進去可以用 PartedMagic,Acronis Disk Director 這兩套軟體可以查看分割區內的檔案

Ming 提到...

感恩
正在找把data的資料夾掛載上去的方式

多謝

Ming 提到...

成功了~
不過無法安裝新的APP
也無法更新,會說儲存空間不足@@

另...如果之後不想要APPS2SD~有辦法還原嗎?還是只能刷回原來的BOOT?

KennyChih 提到...

我目前是燒A60的ROM. 目前有兩個問題.
1. A60沒有內建google market. 這個可以手動安裝嗎?
2. 做App2SD的步驟, 目前做到第3項. 下了 fastboot boot xxxx....手機沒反應, 用fastboot reboot 也是. 請問哪個步驟錯了嗎?

感謝~

Ming 提到...

發現了為什麼說沒有空間了
因為我們MOUNT的那個SDAPP沒有給予寫入的權限

所以要記得

chmod 644 /sdapp/*


我是用ROOT EXPLORER去設定的,去將DATA底下的APP屬性通通都設為可讀寫

結果一早手機被我玩到不能開機~一直停留在開機動畫~真慘,後來硬重啟就好了

不過還是無法寫入,所以直覺應該不是步驟有問提,而是漏了~

所以有改的人,記得改資料夾權限

Ming 提到...

你的FASTBOOT在CMD的視窗有出現什麼錯誤訊息?
通常沒反應有可能是
1.你沒進FASTBOOT模式..
2.USB不穩,換條線或是埠試試看

KennyChih 提到...

電腦重開機後就可以了.
此時console出現:
downloading 'boot.img'... OKAY
booting... OKAY

手機出現 xxx linux 之後沒動作.

這樣是代表這個image不能用嗎?

謝謝.

Ming 提到...

手機有重開嗎?
有的話就是成功了囉

不過那只是測試用的~並未真的寫入ROM

KennyChih 提到...

手機沒有重開.
背景沒變. 出現 booting Linux.
之後沒動作...XDDDDD


我在猜是不是新的ROM最後一個位址不一樣.
舊: mtd9: 0ac80000 00020000 "userdata"
新: mtd9: 0ab80000 00020000 "userdata"

測試沒成功不太敢刷.

謝謝您的回答.

小狼的BLog 提到...

To Ming:
恭喜你 App2SD 成功了,
如果要還原回去的話,
就如同你所說的就是用原本的 boot 蓋過去,
而另一個方式是手機開機的時候不要插SD記憶卡,
這樣就是以非 App2SD 的狀態開機,
他會去讀 Data/app 內的程式 (如果你 2.12 步沒有把程式全部刪除的話)
至於Ming大大所說的關於權限的問題,
不知道Ming大大是用哪一種方案呢(ext2 or Fat32?)
我沒有在 ext2 上面安裝程式所以不大確定是否有權限的問題,
而且為了測試 Fat32 的 img 我把我的手機改成 fat32 的版本了,
在 fat32 中預設權限是全開的,
而且安裝程式也沒問題

============
其實有想到另一個方案,
就是把 App2SD 的 Img 刷到 recovery 分割區,
這樣正常開機就是一般的的模式,
然後偶而想要玩遊戲或用特殊的軟體就關機開到 Recovery 模式(App2SD模式)

小狼的BLog 提到...

To KennyChih:
還好你沒刷,
不然肯定手機再啟不能XDDD
你的手機應該是新的 Rom,
新的 Rom 有更新 radio,
所以舊的 boot img 不能用了,
要用的話要用新的 boot.img 來改成可以給裝了新的 Rom 的手機使用的版本

提到...

fastboot模式開啟之後會有畫面嗎?
我fastboot模式啟動之後完全沒有畫面
然後接到電腦
出現安裝驅動
我選android(rut內)沒有找到
我就找wm裡面
有安裝一個ZEUS HS-USB diagnostics 9002(COM7)
然後下fastboot指令之後
出現waiting for device
就停住了
拔掉也開不了機
這是什麼情況啊?!

小狼的BLog 提到...

To 宋:

你弄錯了....
[Sound Up]+[Hang Up]+[Power]
畫面全黑,連接電腦會安裝個
zeus hs-usb diagnostics 9002
這是 QPST Download 模式

FastBoot 模式是
[Hang Up] + [Sound Down] + [Power]
會出現手機開機的第一個畫面然後停住

詳細的各種模式解說參照
http://snowwolf725.blogspot.com/2010/04/a60a688.html

小狼的BLog 提到...

To 宋:
你說得開不了機的情況,
是因為他在 Download mode 下,
在該模式下按關機是無效的,
你要把電池拔掉才行...

KennyChih 提到...

好險. 忍住了....
如果我要刷回的話. 是從boot、System、userdata一路刷嗎?
還是安裝首派舊版的RUT. 然後再刷A688的System?

其實這個新的ROM我還蠻滿意的. 只不過. 沒有market. 連安卓這些又很慢. XDDD 再加上沒有App2SD.

不過還是謝謝小狼和Ming的指導.
^_^

提到...

嗯嗯
謝謝
已經可以下fastboot指令了
fastboot開機之後是顯示威寶開機的第一個畫面(沒有任何文字)嗎?
我下fastboot指令之後 downloadong'boot.img'...卡了10分鐘都沒有動靜
我下fastboot reboot也一樣

小狼的BLog 提到...

To 宋:
沒錯 A688 的 Fastboot 就是威寶的畫面,
正常打完指令 10 秒內應該就會有回應了...
你的情況可能是下面幾種:
(1)之前有執行過 adb
先下 adb kill-server
把之前的 adb server 殺掉然後重試
(2)系統不穩,試著重開電腦後重試
(3)USB 電源供應不穩,這個可能要換 USB 插孔
(4)驅動程式安裝錯誤,這個比較不大可能,如果上面都無效在來考這邊吧

其他可能需要注意的事項
http://snowwolf725.blogspot.com/2010/04/a60a688_17.html

小狼的BLog 提到...

To KennyChih:
應該不用重刷回去吧這樣太冒險了...
你跟我講下你的 Rom 的版本,
或是把你刷的那個版本的 boot.img 寄給我,
我依照你的那個 boot.img 修改成你可以用的具有 App2SD 功能的 boot.img 這樣風險比較小些...

小狼的BLog 提到...

http://www.droidsans.com/node/2122
在這發現泰國人也有在看這篇文章XDD
不過 A88 的分割區和 A60 或 A688 似乎不大一樣,
所以應該沒辦法直接使用上面的教學

KennyChih 提到...

http://www.megaupload.com/?d=15IQ3BCE

這是A60 boot.img

請小狼大幫忙. :P

若需要其它的. 我再上傳.

麻煩您了

KennyChih 提到...

我看system.img可以解開.
有機會能把market包進去嗎?..

Ming 提到...

TO 王兄

我的是用EX3格式~效能比較好
只是預設的權限只有讀而已

你說的刷到RECOVRY方案~應該是可行
不過這樣感覺就變成兩隻手機了~呵呵

我想APP2SD之後,應該不太會再用原來的ROM了,原來的ROM就當成CACHE囉

TO KennyChih

你刷的是A60最近釋放出來的ROM嗎?
好用嗎?哪裡可以拿的到?
不過還是等王兄把BOOT改好...
就煩你當小白老鼠囉...呵呵

KennyChih 提到...

穩定度上還不錯. 有些程式無法安裝.
在首派官網/服務支援/下載專區
裡面可以下載.
http://www.apanda.com.cn/special/soft/Hipi1_6_1.rar

我現在在研究怎麼包成.img, 把market加到A60首派的image裡.

此外研究了"A60新的ROM"和"A688原生ROM" 差異說真的不算大.

Ming 提到...

TO KennyChih 兄

感謝說明,我下載好了
如果差異不大~就沒什麼動力要裝

現在就等2.1的ROM了

KennyChih 提到...

To Ming,
呃, 您誤會了. 差異不大是說裡面的結構.
當然有不算小的更新. 光是那四個功能鍵靈敏度就值得刷了. 掛斷/撥接鍵反應很快.

只是沒有Market....

提到...

為什麼在ftm底下作修改
修改完成後(ls看到sdapp底下有apk)
重新開機之後修改的東西都沒有變動呢?(我在手機裡面用terminal看沒有sdapp 也沒有放進去的busybox)
我在terminal+root下指令(用root explorer把busybox放進去) 進到ftm裡面也沒有變更(一樣沒有busybox 沒有sdapp)@@
這是啥問題啊?!
難道會自動復原嗎?!

小狼的BLog 提到...

To 宋:
因為 FTM 模式整個檔案系統都是在記憶體中,
所以重開就會被清光光了,
當然 busybox 和 sdapp 也跟著消失了,
不過 sdapp 是後來 mount 近來的,
所以 sdapp 內的東西都還是存在的,
所以只要你打下面兩個指令把 sdapp 重新掛載進入系統又可以看到原本 sdapp 內的東西了
============
adb shell mkdir /sdapp
adb shell mount -t ext2 /dev/block/mmcblk0p2 /sdapp
============
很困了都亂打~_~
不知道你有沒有看懂,
簡單說 sdapp 這個資料夾因為是被建立在記憶體中,所以重開會消失,
而 sdapp 資料夾內的東西是在記憶卡中,所以重開不會消失

小狼的BLog 提到...

To KennyChih:
我把改好的檔案放上來了,
你試試看是否能夠使用~~
http://www.megaupload.com/?d=2EJ4VAWT

另外你說的 system.img 能解開當然有辦法包回去,
不過要包回去需要 linux 作業系統,
因為工具都只能在 linux 下 run,

Ming 提到...

昨天不知道為什麼~我的A688突然秀逗,重開機之後,一直出現MEDIA錯誤...如果不插SD卡的話...就OK,但MARKET不見了,如果有插SD卡的話...會有MARKET,但會出現一堆錯誤...@@...不知道是不是APPS2SD的問題....
然後我刷了SYSTEM.IMG,但是一樣錯誤,而且也一樣沒有MARKET...最後就重刷A60的新ROM

TO KennyChih

請問一下,MARKET有辦法自己獨力安裝到A60裡嗎?另外跟GOOGLE同步的也有辦法嗎?不然我的聯絡人、行事曆都在GOOGLE上...
還有您的新ROM~可以ROOT嗎?

Ming 提到...

我的是有ROOT了,感覺不太穩定
Titanium Backup 一直出錯...

想說再來刷回A688的好了
只是之前王兄的HIDDEN解決了嗎?

看來我先來試試看了
如果可以~到時等KennyChih 兄研究出如何包MARKET,再來刷回A60...

大家一起加油~相信我們的A688也可以有自己的一片天空~呵呵

Ming 提到...

唉~刷不回A688了@@
不知道為什麼...慘結果我的A688變磚了
最後是靠把A60的ROM解開~一個一個用FASTBOO刷回去的
不過刷回去之後,可以開,但是3.5G的部分不能用....
之後在用A60的刷機程式~再刷一次~
現在才OK,只是又回到a60的ROM了@@

要怎樣才可以回到A688啊~
等有時間在來試了~呵呵

Ming 提到...

呵呵~在補充一個~感覺這篇快要變成我的實驗心得了~哈...

我又刷回了A688~不過我是先刷成A60的原始版本,然後再刷A688的SYSYTEM.IMG

其餘沒動,這樣我的SYSTEM就變成A688了,目前都正常,除了開機變成A60的外

晚點有空再來刷APPS2SD

在想如果我先用Titanium Backup備份整個系統,然後刷a60的新ROM,再ROOT,再用Titanium Backup還原,不知道GOOGLE的那些服務會不會回來

等有空再試了....今天已經把手機變磚又變回手機~都沒什麼上班~哈

大家一起繼續加油囉

Wind 提到...

感謝小狼的BLog提供這麼多有關A688資訊,
已成功APP2SD..

很開心儲存空間變大...但是一執行比較大的3d遊戲比如HomerunBattle3D..ToonWarz等遊戲 ,都是執行不到多久就跳出..

真是魚與熊掌不能兼得啊

吉仔 提到...

請問一下
我進行了第三步驟以後
想要測試是否真的APP2SD了
結果就把/data/app砍了...
砍了以後....發現Market不見了!
就算Reset還是一樣沒出現
請問該怎麼辦@@
感謝!

KennyChih 提到...

To 小狼:
1280_a60_ext2.img 是可以開機.
不過我執行、安裝很多程式都失敗.XD

最後刷回A688的ROM, 依照您的App2SD方式. 用boot_App2SD.img去模擬.
發現安裝程式時, 就會出現錯誤. 無法安裝.
我看我跟App2SD無緣..XDDD

另外, 刷回A688, 開機第一個畫面是Vibo, 但是接下來的動畫還是首派. 這個是要改哪個?(我是用Ming的方式刷回, 先用首派原始的RUT刷, 再刷A688_System.img)

To Ming:
我有試著安裝, 步驟很麻煩.
1. 從網路有捉到market.
2. 包成update.zip
3. 用Java去sign.
4. 用recover mode 還原.

但是在最後一步失敗了. 無法還原.
所以我中止了.

Due 提到...

請問一下,上面的下載連結進去都是空白頁面,能不能麻煩再提供新的連結呢?謝謝!

小狼的BLog 提到...

To Due:
你是用 IE?
進去會看到空白頁是瀏覽器的問題,
按右鍵把編碼改成 UTF-8 就可以看到網頁了

小狼的BLog 提到...

To KennyChih:
你說的情況可能是權限沒有設定好的問題,
你可以安裝 root explorer,
查看 /data/app 這個資料夾及下面檔案的權限,
開機動畫的部分是 hidden 這個分割區,
但是經過 Acorn 網友的測試發現 hidden 似乎無法直接用 fastboot 直接刷進去,
目前可行的方式是透過RUT刷進去,
或是透過 Root 把 A688 內的開機動畫複製過去蓋掉

KennyChih 提到...

今天反覆試了很多次.
sdapp裡面已經有程式了.
也在ftm模式下 chmod 644 /sdapp.
然後fastboot boot boot_App2SD.img
發現market不見, 也不能安裝程式. 冏.
害我又不敢刷boot_App2SD.img.

Aaron 提到...

To KennyChin:
hidden這個分割區包含開機動畫的部分的確如小狼大所說是無法用fastboot的方法刷進去。
但是也不是沒有方法可解決,
你可以參考小狼大的方法,
透過Root以後,使用RootExplorer這類的APP,
先將/hidden/data/Power-on animation/裡頭的所有png檔(這些都是A60的開機動畫檔)刪除。
刪除後再將A688的開機動畫檔複製並貼上於此資料夾內,
重新開機後熟悉的A688開機動畫就回來了。
以上方式供你參考。
下面連結是A688的開機動畫檔,
http://www.megaupload.com/?d=H52T7Z0Y

KennyChih 提到...

To Aaron:
感謝提供, 等等把App2SD弄完之後. 再來搞這個.

謝謝..^_^

Aaron 提到...

To KennyChih:
不必向我道謝,^_^
因為真要謝的話,應該要向小狼大道謝,
這招是小狼大他上星期熬夜陪我搞到凌晨所提供我的方式啦。
先預祝你成功。加油!!

吉仔 提到...

請問一下
我進行了第三步驟以後
想要測試是否真的APP2SD了
結果就把/data/app砍了...
砍了以後....發現Market不見了!
就算Reset還是一樣沒出現
請問該怎麼辦@@
感謝!

不好意思
請問這要怎麼解決呢?
我fastboot刷了system結果出現status read failed
結果重開機看還是一樣
請問是什麼問題呢?
感謝!

KennyChih 提到...

呼~ 經過反覆測試過. 終於理頭緒. 不過卻忘了記下來. Orz. 憑印象把步驟key出來.

1. 先用Linux分割, 再用mkfs.ext2 format 第二個磁碟.
2. 再依小狼大的2,3,4步驟去做

強烈建議:
做完data/app -> sdapp之後.
最好用linux環境, 把 sdapp整份再備份起來. (我是備於到sd卡的fat32分割區)

情況1:
開機有看到以前安裝過的程式. 就代表成功一半了. 若沒有, 應該是第4步驟錯了, 或是sd卡的權限問題.
可以用Linux把sd卡第二分割區mount進來, 用sudo chmod 644 修改*.apk的權限.

情況2:
如果遇到無法安裝程式, 但原本來安裝的程式存在且可以執行的話. 那麼就打開root explorer. 把app這個資料夾的權限全開(777). 打開之後應該就可以安裝程式了. (這邊要小心. 我不小心改到data(777)這個資料夾權會讓root explorer程式出錯.)

情況3:
若是發生market不見. 可以先用master reset方式重置看看, (hang-up+camera+power). 再不行的話. 重刷system.img之後再master reset.

我遇到的情況大約就這些, 其它的忘光光了XDDD..有問題再一起討論. ^_^

KennyChih 提到...

再補一槍.

如果發生開機之後, 停在vibo or 首派畫面很久, 之後出現一大堆錯誤.

恭禧您~ 應該是sd卡ext2分割區的資料掛了. 請備份回去, 備份完畢之後, 別忘了再設上權限644...

提到...

我app2sd成功了
可是沒有辦法安裝程式
也沒有辦法從網路上抓程式下來
我有把所有apk權限改成644了
還是沒有辦法安裝
安裝跟apk的權限有關嗎?
還是跟記憶卡分區的權限有關?

KennyChih 提到...

To 宋:
如果你之前有安裝過root explorer的話, 先看一下 /data/app 的權限是多少, 若不是777就改成777試試看.

Ming 提到...

呵呵
想說上來看看..KennyChih大有沒有解決A60包MARKET的方法...結果看來還是要努力,不然好想請那個有A60的台版ROM仁兄把他的SYSTEM.IMG備出來說...
看了大部分的留言,如果不能夠安裝檔案的~大部分應該都是/DATA/APP的這個權限有問題...我這邊是會出現空間不足...其實就是沒有寫入權限....另外覺得啊~最好是用Titanium Backup把原有的APP備份下來,然後不用把原來的複製到APP2SD裡的分區...而是用Titanium Backup還原到該分區,等於重新安裝且原有資料也會還原...比較不容易出現程式異常..
另外試刷A60的ROM,再把A688的SYSTEM.IMG解開之後把/SYSTEM/APP放回去...因為也不會有MARKET,也無法跟GOOGLE同步...可能沒有這麼簡單的作法吧....殘念

KennyChih 提到...

To Mign:
想安裝Market沒有那麼容易.
我在xda捉到一個market packet.
是要用recover的方式刷回去.
不過A688的recover似乎是殘廢.
即使signed的東西. 也是不能用.(無法用手機update update.zip)

我爬了國外很多討論區, 似乎都是要重新刷ROM才能把market回復過去.
所以我才又刷回A688的ROM.

我也有想說請首派那位仁兄把system.img分享出來. 不過他拿到的版本跟Vibo在FB說的版本似乎又不一樣.

阿菜 提到...

感謝小狼跟Ming大大的建議,
我有按照步驟一步步的完成,
感覺上現在我的a688已經APP2SD了,
目前是一些軟體大小很小的apk可以安裝,
大一點的還是會出現安裝空間不足的現象,
可以安裝的軟件就會出現在/data/app內,
用partedmagic開機去看ext2裡的資料夾也會有安裝過後的軟件apk..所以應該是有成功APP2SD...也有將/data/app的權限全部打開,但是就還有一些程式無法執行,不曉得有沒有大大有相同的情形...
ps.ext2的大小有800多MB,應該不會是ext2分割過小吧...

Ming 提到...

to 阿菜大
請問是什麼軟體?
因為目前沒有遇到什麼問題
只是有時會出現軟體強制關閉...
不過再重新安裝一次就好了

要看有沒有裝進去還有一個簡單的方法...
就是~把SD卡拔掉~呵呵

阿菜 提到...

To Ming大大
我都拿一些遊戲的軟體當驗證,
ex: 【Asphalt5】【Speed+Forge+3D】
【iCommando】這類的就不行
像是【basketball 1.2.1】【名片王】比較小的軟體就安裝成功,
如你所說的,拔掉SD開機後,安裝過的軟體就不見了,所以應該是有成功APP2SD吧 ..
anyway..還是很感謝你跟小狼大啦

Ming 提到...

TO 阿菜大

你說的這三套,我去找了一下
除了iCommando1不能裝
應該是不支援2.0以下的ROM吧
因為看其他的如HERO也不能裝

其餘兩套都可以安裝

小狼的BLog 提到...

關於 APP2SD 後仍然會發生空間不足的情況是因為其實目前 A688 的 app2sd 作法有漏,
感謝泰國的 Gotji 網友,
Thank for Gotji ^^
他幫忙發現了空間不足的真正原因,
這是因為目前的 app2sd 只有把原本 /data 中的 app 資料夾搬到 sd 記憶卡中,
這是不夠的其實還差了 /data/dalvik-cache 和 /data/data,
關於 /data 下詳細的各個資料夾的作用, mobile01 上面的 jrywu 大大有解釋
data資料夾說明
節錄下他的說明
=============
/data 下有三個主要的目錄.
/data/app --> 裝 .apk 的地方
/data/data --> app 放自己資料的地方
/data/dalvik-cache --> Dalvik VM 跑 app 前從apk建的的快取.
=============
我們只有作 app 的搬移其實是不夠的還是會發生空間不夠的情況,
所以目前看來要重新修改 ROM,
不過這會面臨 APP2SD 實作的問題,
(都做得出來不過方法好壞的問題)
方案一:
整個 /data 全部搬到 sd 去,
這種作法的好處是比較簡單,
可是壞處是速度比較慢,
因為原本 data 的存取都改到 sd 上面去
方案二:
SD 卡上變成四個分割區,
分別對應 /data/app /data/data /data/dalvik-cache
方案三:
跟一般常見的 app2sd 的方是一樣建一個分割區,然後把手機的 /data/xxx 刪掉然後建立連結過去 SD 分割去上面的資料夾,這樣的缺點是做錯會無法開機,
而且拔掉 sd 卡後會無法開機,
因為資料都被刪光光了
方案四:
另用 unionfs 或是 aufs,
這類的檔案系統的特性,
可以只有一個分割區,
然後可以映射到多個資料夾,
不過聽說似乎不大穩定,
不過也沒有測試過所以也不大確定

恩不知道大家的意見如何?
最近這一兩個禮拜比較所以都沒時間回信,
所以如果有人有寄信給我的話我可能會晚點回,
另外從某位極度低調的大大中拿到了目前尚未放出的 A688 新的 420 版的 Rom,
不過可能是 dump 有問題或是系統有其他地方有影響到,所以用 dump 出來的某些分割區還原回去可能有些問題,
不過主要系統及開機的部分都正常,
這一兩天會把 Rom 和新的驅動程式放出來給大家,
新的驅動有支援 win7 x64 了,
我覺得這才是最大的變動XDD
不用像之前要用特殊方法才能安裝了,
詳細的更新可以參考 a688 facebook 的說明

小狼的BLog 提到...

關於上面各種 APP2SD 的方案應該還是會先各版本弄一個給大家測試看看,
不過可能只有 A688 的版本,
不然 4*4(A688,A60 380/280,A88),
共 16 種會做死掉XDDD
另外有人有詢問關於要如何把解開的 boot/recovery 再包回去,
或是其他各分區的打包,
由於太多人問了,
所以可能會另外寫文章教怎麼弄自訂的 boot/recovery/system 順便講下 APP2SD 怎麼弄的
可能一時還沒那麼快寫完所以我這一兩天會把工具放到 A688_Tools V3 裡面,
有興趣的可以先抓來玩玩看,
不過目前打包的工具都是 linux 系統下才能執行要玩可能要先裝 linux 系統XDD

小狼的BLog 提到...

To KennyChih,
關於安裝 market 的部分我有大概找了一下,
發現似乎沒那麼簡單安裝,
因為 Android Market 這個程式是完全 close source 的,
而且會需要認證所以沒辦法將別的手機的 Market 成是拿來別台手機用,
除非刷上相同的ROM,
這個是 Google 刻意作的保護機制,
原本 Market 必須是 Google 有 GMS 認證的手機才有,
目前有看到比較成功的例子是有 Tatoo 的手機使用者有修改 Market 可以看到需要高解析度支援的應用程式及付費軟體,
不過目前還沒看到有跨手機的,
目前要再 A60 上裝 Market 可能有困難,
因為這等於要破解 Android 的認證機制...
而且就算破解了,
Google 應該也會很快把漏洞補上...=.=|||

小狼的BLog 提到...

所以目前最可行的辦法是從那個有 A60+GMS 的人身上看能不能跟他要到 system 的 dump 或是上面 Market 程式XDDD

阿菜 提到...

感謝小狼大大和Ming大大的幫忙阿,這樣花在A688的錢覺得越來越值得了 ^^

Ming 提到...

to 小狼大:
請問一下~您說方案一和方案三有什麼不同?不都是把整個/DATA都移到SD卡上嗎?只是差別一個把ROM理得SYSTEM刪掉嗎?個人是覺得...方案一算是比較保險的..至少沒了SD卡還可以開機。方案二的話,比較麻煩,因為要割四個分割區,而且四個分割區只要一個有問題,可能也是無法開機

不過是都可以試試看吧...反正新ROM快出來了~就多次刷刷刷~呵呵
...期待這一兩天小狼大的釋出...

不知道新ROM是用RUT刷機嗎?

Ming 提到...

A60聽說下一版就會有GMS了...也許就是台版的ROM釋出吧....不過還是期待2.1的升級~

最好是可以直接釋出A688的驅動,然後用原生的ANDROID~這樣到時也可以自己上2.2...而不用苦苦等待官方的ROM...呵呵

KennyChih 提到...

To 小狼大:
Market部份, 因為涉及到認證部份, 所以我就沒有持續再找了, 根據我找了各大討論區和xda, 之前的做法是用test-key的方式signed. 後期似乎不行(我是參考google上的包rom的方式去做), 其做法是用recovery mode去做.(也有可能是A688的recovery mode是有保護的, 或是說有新的認證方式)

To Ming:
小狼大說的方案一和方案三當然是不同的. 方案一是SD和internal rom是同時存在的. 方案三是像其它手機的app2sd方式,用 ln -s. 修改連結. internel rom就沒有這些東西. so 會有不能開機的問題.

我建議是方案二. 應該需要改修改 /etc/fstab 吧?...

小狼的BLog 提到...

To Ming:
那個 420 的 Rom 我有放上來了,
不過從某位大大那打聽到威寶官方似乎不打算放 NB0 來讓台灣的使用者自己用 RUT 刷機,
可能是 Rom 還不大穩定,
用 RUT 刷機還是有很大機率跟大陸一樣變成飛磚...

To KennyChih:
我後來發現那四個資料夾幾乎就佔了 /data 分割區的 80~90% 的空間了,
所以搞不好兩種方式的效能搞不好差不多XDD

小狼的BLog 提到...

把方案一的 APP2SD 弄好了,
不過實際測試發現真的慢...
連開機都要開好久...>_<|||
方案一:
http://www.megaupload.com/?d=Q7R0X8BC
安裝的話就是下載上面的檔案,
然後解壓縮到 A688_Tools 下面,
然後把 SD 卡格式的第二個分割區格式化成 Ext2,
然後跟著上面的教學作只是原本2.3要執行的 App2SD.bat 改成 a688_App2SD_S1.bat
這樣就可以了

小狼的BLog 提到...

方案二:
http://www.megaupload.com/?d=LL08CO4C
安裝的話就是下載上面的檔案,
然後解壓縮到 A688_Tools 下面,
然後把 SD 卡格式格式化成四個分割區分別為 FAT32, Ext2, Ext2, Ext2,
(分別用來放資料,app,data,dalvik-cache)
然後跟著上面的教學作只是原本2.3要執行的 App2SD.bat 改成 a688_App2SD_S2.bat
這樣就可以了

方案三:
http://www.megaupload.com/?d=V6LW8798
安裝的話就是下載上面的檔案,
然後解壓縮到 A688_Tools 下面,
然後把 SD 卡格式的第二個分割區格式化成 Ext2,
然後跟著上面的教學作只是原本2.3要執行的 App2SD.bat 改成 a688_App2SD_S3.bat
這樣就可以了

================
另外說一下方案四由於需要重新編譯核心所以要花比較久時間弄,
另外上面三種方法在執行 app2sd.bat 時會比較花時間,
可以用文字編輯器打開 app2sd.bat 將裡面有一行
@echo off
改成
@echo on
可以了解目前在做什麼,也可以方便 debug
另外方案三中原本應該是要把三個資料夾刪除才對不過我只有把他們改名變成 app.old,data.old,dalvik-cache.old
目前看來三種方法都很慢說...=.=

KennyChih 提到...

App2D的速度真的很慢 XDDD
SD的速度再怎麼也無法跟Nand flash比.

雖然很多程式都放到SD卡上.
在run大型程式. (Homerun Battle)
有時還是會crash. re-install也沒有用.
crash點不是在於進遊戲. 而是選了遊戲模式後, 要開始玩時. 畫面就會亂掉. 然後跳出.
有可能是CPU要讀資料太慢導致.
SD (這邊速度太慢)->SDRAM->CPU

XD

Kasem 提到...

Hey my friend Thailand already get new recovery ROM and able to do app2sd.

http://droidsans.com/A88-Recovery-Rom-App2SD

Ming 提到...

呵呵~先來下載A88的A88-Recovery-Rom-App2SD
等一下來實驗看看了~

Ming 提到...

確定A88的 Recovery ROM可用
我已經用此ROM成功APP2SD了
呵呵

只是沒有辦法用UPDATE TO ZIP,不然我就要刷HERO的ROM了~哈

§{真}§ 提到...

話說我自己把原版420的boot解開

修改init.rc成開機把SD mount到/data/app

結果包回去的boot.img 用fastboot測試會說是不正確的boot image....

小狼的BLog 提到...

To:§{真}§
你的 mkbootimg 是用 A688_Tools 內的 mkbootimg 嗎?
如果不是的話是沒辦法直接使用的,
A688_Tools 內的 mkbootimg 是我特別修正過的版本,
正常的 mkbootimg 要加上 --base 0x00200000
指定正確的 base 位址才能夠開機,
另外要注意下 unpack/repack 後檔案大小是否一致,
如果不一致表示你的 unpack 的時候可能有錯或是 mkbootimg 那個程式不正確,
正確的 mkbootimg 應該要讓整個打包後的大小是 4096 的倍數,
如果不正確的話就要開 MadEdit或是 UltraEdit 自己在檔案後面補上 0x00 一直補到檔案是 4096 的倍數,
至於要補多少看下正常版本的 img 就知道了

政憲 提到...

請問版大,EXT2的空間僅能在1GB以下嗎?超過了會怎麼呢?而執行APP2SD後,原本灌在主機內的程式是否就都不會跑了?謝謝您

§{真}§ 提到...

哦哦 原來如此 我的檔案大小沒問題
不過mkbootimg是從你介紹的那個解boot/recovery的wiki來的

政憲 提到...

請問小狼大
小弟依照您的Po文去做
一切感覺都很順利
但記憶卡卻灌不進去
爬文之後看到說要改成鍵入這個a688_App2SD_S3.bat檔案
我就所有步驟再做一次,但手機卻卡在開機動畫進不去
請問這是什麼原因呢?如果小狼大知道,麻煩請解惑,不然小弟的手機就成磚了~~~~~~謝謝....~"~

小狼的BLog 提到...

To 政憲:
超過了不會怎麼樣阿,
不過手機軟體能裝到 1GB 這也太誇張了吧,
之所以不建議超過 1GB 是因為當檔案數量很多時,你進去手機的程式清單速度會變得非常非常慢,
當 APP2SD 後原本灌在手機內的程式都不會執行了,(但是上面提到的方案四會同時執行手機和記憶卡內的程式)

單純用 Fastboot 只要你不去刷 radio區域都救的回來,不會變磚啦,
還有你 APP2SD 做錯了吧...
目前 APP2SD 的方式有五種,
這篇文章本文列的方式是一種,
(這是只有一半的 APP2SD)
下面留言列的方式有四種,
(這是比較完整的APP2SD目前還不大穩定,僅供測試...)
你說你執行到了 a688_App2SD_S3.bat 這個會修改 data 分割區,
他會把 data 分割區中放程式的資料夾改名,所以當然會沒辦法開機,
方法有2:
1. 重刷 data 分割區,跟舊的資料 say goodbye~~
2. 進入 FTM 模式,在 Dos_consle 中打
adb shell mkdir /data
adb shell mount -t /dev/block/mtdblock9 /data
adb shell rm /data/app
adb shell rm /data/data
adb shell rm /data/dalvik-cache
adb shell mv /data/app.old /data/app
adb shell mv /data/data.old /data/data
adb shell mv /data/dalvik-cache.old /data/dalvik-cache
adb shell reboot
打完後手機重開應該就能開機了

政憲 提到...

謝謝小狼大的意見,因為之前一直失敗,再加上我覺得改成APP2SD之後真的沒有用到那麼多空間,目前的一百多MB我就用不太完了,還有我的SD卡是CLASS4的,我想速度會更慢,所以想一想還是不試了,感謝大大的用心~~~~

阿菜 提到...

謝謝小狼大的教學,不過方案一到三我都試過了,都是會開機後當在掃描SD的那個畫面,應該是我的記憶體不過吧,還是謝謝大大的教學

不過我想額外一問,看上面政憲提到的,原本的空間就有100多MB,但是位什麼我不論用fastboot刷機,或是RUT刷機,還原到系統最原始的狀態,進去"設定=>記憶卡與手機儲存=>手機內部記憶體=>可用空間"的地方看只剩下23MB左右,而且連多個4~5MB的遊戲都灌不進去,請問這是什麼原因呢...

阿菜 提到...

補充一下,剛剛說SD卡不過的意思是他是class 4的所以有可能速度不夠跑不動吧!

小狼的BLog 提到...

To Kasem:
Thanks for your notification^_^
A88 recovery rom also work in A688.
Thank to k0ng's work.

To 政憲:
其實我也是不建議 APP2SD 的,
對我來說速度才是王道,
手機裝一堆堆軟體弄到連開機撥電話這樣的基本功能都變得很頓實在本末倒置,
另外我的記憶卡也是 Class 4,8GB 的,
用起來是真的有點卡卡的,
可能真的要用到 Class6 才會比較順吧

To 阿菜:
其實 APP2SD 會失敗主要有兩個原因:
1. 選錯 Boot img 要依照手機的韌體版本選 boot img, 這篇網頁上面的 rom 都是給 A688 用的如果是 A60 280/A88 的要用別的 boot img 才會成功否則會沒辦法開機
2. USB 連線不穩定, 這會使得執行 app2sd.bat 時失敗,
可以用文字編輯器打開 app2sd.bat 將裡面有一行
@echo off
改成
@echo on
可以了解目前在做什麼,也可以方便 debug
==========
或是你也可以試試上面泰國網友 k0ng 所做的 recovery 中的 APP2SD 功能,
那個不需要刷 boot 區,
照理來說應該會比較容易成功才對
==========
另外你說你的 userdata 只有 23MB 左右這應該不大可能吧...
應該是哪裡出問題了,
因為 userdata 那區總共有 180~190MB 扣掉系統預先安裝的程式應該也才 20~30MB 至少應該還有 100MB 以上才對,
你可以試試在 FTM 模式下,
打 adb shell df 查看各個分割區的大小,
如果分割區的大小正確的話,
可能要考慮把資料備份下,
然後刷 userdat 區試試...

提到...

請問一下

A688新的ROM(420)可以改APP2SD嗎?

還是只有380J可以改APP2SD?

匿名 提到...

A688新的ROM(420)可以APP2SD及ROOT嗎?

yokamasi 提到...

A688新的ROM(420)可以改ROOT&APP2SD嗎?

小狼的BLog 提到...

新版的 Rom 依然可以 root及 APP2SD,
方法和之前的 Rom 相同,
我目前手機就是 420 的 Rom root & App2SD

提到...

那boot_App2SD.img是用一樣的(380J)嗎?

yokamasi 提到...

大大:
請問420版root後,可以再刷android 2.0以後的Rom嗎?
我有上阿陸仔的首派A60下載區,發現他們有1.6版的Rom,是否就是1.60.0420版....

小狼的BLog 提到...

To 宋:
是的,用的是相同的img(380J)

To yokamasi:
rood 後是否能刷 2.0 以後的 rom 這要分成技術和政策兩方面來回答
技術方面不管是否有 root 都能刷 2.0 以後的 rom
政策方面大陸的首派似乎只要私自 root 後就算視同放棄保固
台灣方面似乎沒這個規定,我上次手機升級時忘記把手機改回來直接拿去升級他們工程師也沒講什麼(root+APP2SD+開機動畫+Recovery)
大陸的A60 目前有三個版本的 rom
380f 這是出廠內置的rom無google 相關程式
380v 這個是目前最新的 rom 沒深入研究不過看起來應該是 380f+GMS, 也就是多了 google 相關的程式
280 這個改版有修改到 radio 的部分不過沒有 GMS 的程式

這三個版本都後 420 版本不一樣,
比較接近的應該是 380v 的版本因為有 GMS 程式, 不過沒有威寶的程式
380F,380V,420 這三個版本的 rom 可以互刷
只要刷該版本的 boot,system,data(可以不刷不過第一次開機會很慢) 就可以變成該版本的系統,
但是升級到 280 要透過 RUT 才能升級

匿名 提到...

請問一下...app2sd後market上的一些軟體(ex.wallpaper .sd card speed tester. 打豆豆等等)安裝後都不能使用...但在app2sd 前卻可以用...是不是這個boot有問題...還是我的手機有問題??

Ming 提到...

APP2SD之後,如果遇到不能執行的,先移除再重新安裝,之後再試試看

匿名 提到...

可是我以已經重裝5次以上了...裝完之後還是不能使用...個人感覺是market的問題...因為只有在market上才有問題...如果是從外面網站下載安裝卻沒問題...但在做完app2sd之前裝這些程式都是沒有問題的...真是令我非常困惑......

匿名 提到...

已經解決了...刷了泰國的recovery在app2sd就可以恢復正常了...看來這個boot跟我的手機八字不合吧...

TODDTODD 提到...

可以請教一下如何分割磁碟區嗎
我用了很久還是用不出來ㄟ
謝謝

小狼的BLog 提到...

To TODDTODD:
不知道你用哪套軟體分割的?
Partition Magic 教學
http://video.ks.edu.tw/soft/07tools/partition/index.htm
也可以試試免費的 Partition Logic 介面跟 Partition Magic 類似,
你是要做 APP2SD 嗎?
如果是的話建議依照這篇的教學做比較簡單,而且內建分割磁區的工具:
http://www.mobile01.com/topicdetail.php?f=423&t=1592542&last=20090646

TODDTODD 提到...

謝謝你阿
小狼大
我再試試
THANKS

夏宇 提到...

我想請問asphalt5這款遊戲要付費嗎?

匿名 提到...

Hi 狼大:
請問,,,
執行app2sd_fat32.bat,會出現
adb shell mount -t vfat /dev/block/mmcblk0p2 /sdapp
mount: Invalid argument

執行app2sd_fat32.bat
都正常,無錯誤回應.

儒鸿 提到...

請問一下為啥我案了app2sd之後他會出現device 沒有在線上???

小狼的BLog 提到...

To 儒鸿:
嗯這篇教學是舊的的歐,
這是 1.6 的版本用的,
2.1 照著作可能會沒辦法開機,
2.1 版的教學在這裡,
http://0rz.tw/2AjUq

另外他說找不到你的 device 請確定你的電腦=>裝置管理員內有 ADB Device 這個裝置,
如果沒有的話要
先將手機連接電腦然後會在我的電腦會有個虛擬光碟機執行 setup.exe 應該就會安裝驅動程式了裝完後可能要重開機就能正常使用了

念親 提到...

小狼先生您好:

可不可以請你重新再寫一篇程序,

我是門外漢,我比較笨,可不可以寫個程序之類的,如果需要工具軟體,是不是可以煩請小狼先生重新上傳?

希望小狼先生此舉可以造福更多A688的使用者,日後我必會幫您把這篇文章曝光而不是轉貼。

sandy 提到...

不好意思,
我的問題是手機一直告訴我訊息記憶體已滿,
使我看不到別人傳的訊息,怎麼辦?
但是我又把我的訊息全刪除了還是無法……

小狼的BLog 提到...

To sandy:
可以透過 [Hang Up] + [Camera] + [Power] 進行 master reset 恢復出廠設定看看能不能恢復正常