取得這門課授權碼的條件很簡單,
助教寫了一個小 app 給我們,也就是那個 NTU Android Homework ,
只要能夠改一下,讓這個 app 可以寫檔案到 SD card 就好了。
首先,用 adb shell 進去看看,
不由分說地先試試看 touch /sdcard/foo ,
果然 touch 不到,摸都摸不著。
不死心,繼續留在 adb shell 裡用 ls 檢查 /sdcard 這個東西,
發現它是一個 symbolic link ,連向 /storage/sdcard ,
它的權限是 drwx------ ,這樣除了 root 以外都沒辦法在裡面寫檔案呀,
於是就打了 chmod 777 /storage/sdcard ,
沒想到居然出現 "Unable to chmod /storage/sdcard: Read-only file system" 。
看了課程網之後,發現原來要先用 mksdcard 造出一塊 SD card 才對,
但這個 mksdcard 還沒 compile 好,只好先到 sdk/emulator/mksdcard 去 mm 一下。
順利 compile 出 mksdcard 之後,就可以造出一塊 sdcard.img 了,
因為我不知道該把它放在哪兒比較好,所以就先放在 project 的根目錄吧。
接著把 emulator 重新開機,只是這次開的時候要加一個 -sdcard sdcard.img 的參數。
用 adb shell 進去之後,果然可以在 /sdcard 裡 touch 了,愛怎麼摸就怎麼摸。
接著到 NTU Android Homework 這個 app 裡加上寫檔案的 function ,
就成功寫進去了!!
讓我有點困惑的是,有些人說還要去增加 "WRITE_EXTERNAL_STORAGE" 的權限,
我記得以前寫 app 時的確也是需要,
但現在怎麼不用了呢?是哪裡出問題了嗎?
不管了,先去拿授權碼再說吧XD
沒有留言:
張貼留言