在 Ubuntu 8.04 , 中文環境 , UTF-8 , 設定
在 Eclipse + EclipseMe , 啟動
J2ME , Sun WTK Emulator - 會出現 AWT-EventQueue-0 GTKLookAndFeel Exception
沒有辦法啟動手機模擬器
上網去查了一下 , 唯一的解法只有去修改環境變數變成 en_US
然後去啟動 Eclipse , 但是注意看 , 啟動時 , 會有錯誤訊息 , locale not supported by C library
進入 Eclipse , 啟動 WTK Emulator , 可以啟動了
但是仔細看 , 程式碼中 , 原先是中文的地方變成亂碼了 , 輸入或是修改中文訊息也會有問題
噹噹 , 正解在這裡 , 修改環境變數 LANG 為 en_US.UTF-8
然後去啟動 Eclipse , 就沒有錯誤訊息了
接著啟動 WTK Emulator , 也可以正常執行 , 沒有錯誤訊息 , 而且程式碼中的中文也沒有變成亂碼了 , 可以正常顯示了
最近順便在看手機程式 , 但是發現 MIDP/J2ME 跟 Android 比起來 , 限制多了不少
沒有辦法使用標準常用的 J2SE 程式跟 API 方式 , (最簡單的例子 , System.getProperties() , MIDP/J2ME 沒辦法用這樣的寫法, 但是 Android 可以 , 簡單的說 MIDP 感覺很像是被閹掉的 J2SE , 限制還不少)
2008年9月21日 星期日
2008年8月29日 星期五
Android Emulator 中的 Java Properties
NOTE: 以下項目是在 Android 0.9/1.0 測試的
Android Emulator 中的 Java Properties
透過程式抓到 Android Emulator中的相關屬性 , 重新按照比較對我們有用的部份 , 去排序
可以看到有些值是空的
另外要注意的是 它的 java.io.tmpdir 是會去讀取 SD Card , 它用 sdcard 當作暫存目錄
另外則是 user 的dir , home , name , language , region , file.encoding 等幾個屬性會是比較跟我們撰寫程式要可能會使用到的
NO | Name | Value |
01 | user.dir | / |
02 | user.home | |
03 | user.name | |
04 | user.language | en |
05 | user.region | US |
06 | file.encoding | UTF-8 |
07 | file.separator | / |
08 | line.separator | |
09 | path.separator | : |
10 | java.io.tmpdir | /sdcard |
11 | java.class.path | . |
12 | java.boot.class.path | /system/framework/core.jar: /system/framework/ext.jar: /system/framework/framework.jar: /system/framework/android.policy.jar: /system/framework/services.jar |
13 | java.home | /system |
14 | java.library.path | /system/lib |
15 | javax.net.ssl.trustStore | /system/etc/security/cacerts.bks |
16 | java.ext.dirs | |
17 | os.arch | OS_ARCH |
18 | os.name | Linux |
19 | os.version | 2.6.25-00350-g40fff9a |
20 | java.specification.vendor | The Android Project |
21 | java.vendor | The Android Project |
22 | java.vm.vendor | The Android Project |
23 | java.vm.specification.vendor | The Android Project |
24 | java.vendor.url | http://www.android.com/ |
25 | java.vm.vendor.url | http://www.android.com/ |
26 | java.specification.name | Dalvik Core Library |
27 | java.vm.specification.name | Dalvik Virtual Machine Specification |
28 | java.vm.name | Dalvik |
29 | java.vm.specification.version | 0.9 |
30 | java.specification.version | 0.9 |
31 | java.runtime.version | 0.9 |
32 | java.vm.version | 1.0.0 |
33 | java.compiler | |
34 | java.class.version | 46.0 |
35 | java.version | 0 |
36 | android.vm.dexfile | true |
2008年8月24日 星期日
Android - 在 Android 模擬器中使用 SD 卡的 Image File
Android - 在 Android 模擬器中使用 SD 卡的 Image File
2008/08/24 13:54
Android - 在 Android 模擬器中使用 SD 卡的 Image File
建立 SD Card Image File(以下是指令)
cd .android
mksdcard -l sdcard 2048M demo-sdcard.img
<- 建立 2GB的 SD Card Image File , 模擬 2GB的 SD Card
注意: 在UBuntu 中 , Android的預設設定目錄是在你的home目錄下的 .android 目錄
(/home/demo/.android 它是隱藏目錄)
在UBuntu 中複製檔案或是存取 SD Card Image 中的檔案(以下是指令)
mkdir android_sdcard
sudo mount -o loop demo-sdcard.img android_sdcard
然後你就可以透過 android_sdcard 這個mount point 去存取檔案
例如複製 圖片 jpg 到 sd card 的 Image File中(以下是指令)
copy *.jpg ./android_sdcard/
如果不用了 , 記得下(以下是指令)
sudo umount android_sdcard
在模擬器中中使用 SD Card Image(以下是指令)
emulator -sdcard /home/demo/.android/demo-sdcard.img
在Eclipse 的整合環境中
當你去 Run Android Application 時的(Run As)啟動設定中的
Target 頁面的 Additional Emulator Command Line Options
輸入 -sdcard /home/demo/.android/demo-sdcard.img
就可以讓模擬器去使用剛剛我們建立並放入檔案的 SD Card Image File
嗯 , mtools 我一直都跟它不熟 , 到現在我還是搞不定它 ,
我只好去整理出我覺得自己比較能夠簡單使用的方式
建立 SD Card Image File(以下是指令)
cd .android
mksdcard -l sdcard 2048M demo-sdcard.img
<- 建立 2GB的 SD Card Image File , 模擬 2GB的 SD Card
注意: 在UBuntu 中 , Android的預設設定目錄是在你的home目錄下的 .android 目錄
(/home/demo/.android 它是隱藏目錄)
在UBuntu 中複製檔案或是存取 SD Card Image 中的檔案(以下是指令)
mkdir android_sdcard
sudo mount -o loop demo-sdcard.img android_sdcard
然後你就可以透過 android_sdcard 這個mount point 去存取檔案
例如複製 圖片 jpg 到 sd card 的 Image File中(以下是指令)
copy *.jpg ./android_sdcard/
如果不用了 , 記得下(以下是指令)
sudo umount android_sdcard
在模擬器中中使用 SD Card Image(以下是指令)
emulator -sdcard /home/demo/.android/demo-sdcard.img
在Eclipse 的整合環境中
當你去 Run Android Application 時的(Run As)啟動設定中的
Target 頁面的 Additional Emulator Command Line Options
輸入 -sdcard /home/demo/.android/demo-sdcard.img
就可以讓模擬器去使用剛剛我們建立並放入檔案的 SD Card Image File
嗯 , mtools 我一直都跟它不熟 , 到現在我還是搞不定它 ,
我只好去整理出我覺得自己比較能夠簡單使用的方式
Android HelloAndroid 出現錯誤 - invalid constant pool index 0000
Google Android SDK - HelloAndroid 出現錯誤 - invalid constant pool index 0000
Android SDK - Beta1
Platform : UBuntu 8.0.4
IDE : Eclipse 3.4 (eclipse-jee-ganymede-linux-gtk)
JDK: 6.x
在安裝跟設定完 ADT Plug-in之後 ,
根據說明文件在 Eclipse 下產生 HelloAndroid 並執行 ,
結果出現錯誤訊息
[2008-08-21 22:15:45 - HelloAndroid] invalid constant pool index 0000
...while parsing LocalVariableTable attribute at offset 00000193
...while parsing attributes[1]
...while parsing Code attribute at offset 00000170
...while parsing attributes[0]
...while parsing methods[0]
...while parsing com/android/helloandroid/HelloAndroid.class
...while processing com/android/helloandroid/HelloAndroid.class
[2008-08-21 22:15:45 - HelloAndroid]
去查詢過其他相關討論區說明 , 發現全部都不是正確解答(包含 Android 的討論區)
後 來重新檢視 Android 的文件 , 它出現一行小小的文字: "Android 不支援 GCJ"
嗯 , 剛剛在啟動 Eclipse 3.4 (ganymede) 時有看到說電腦有 GCJ 之類的提示說明
很不幸的 我的Ubuntu上面有安裝 GCJ (有點忘記是 UBuntu 預設安裝 , 還是我自己手賤裝上去的)
原因:
Android SDK 不支援 GCJ
解決方法:
使用Synaptic 套件管理程式 , 搜尋 gcj , 把所有有關 gcj 的套件整個徹底移除之後
重新啟動 Eclipse , 建立 Android Project 去測試 HelloAndroid 整個就是沒有問題
Android SDK - Beta1
Platform : UBuntu 8.0.4
IDE : Eclipse 3.4 (eclipse-jee-ganymede-linux-gtk)
JDK: 6.x
在安裝跟設定完 ADT Plug-in之後 ,
根據說明文件在 Eclipse 下產生 HelloAndroid 並執行 ,
結果出現錯誤訊息
[2008-08-21 22:15:45 - HelloAndroid] invalid constant pool index 0000
...while parsing LocalVariableTable attribute at offset 00000193
...while parsing attributes[1]
...while parsing Code attribute at offset 00000170
...while parsing attributes[0]
...while parsing methods[0]
...while parsing com/android/helloandroid/HelloAndroid.class
...while processing com/android/helloandroid/HelloAndroid.class
[2008-08-21 22:15:45 - HelloAndroid]
去查詢過其他相關討論區說明 , 發現全部都不是正確解答(包含 Android 的討論區)
後 來重新檢視 Android 的文件 , 它出現一行小小的文字: "Android 不支援 GCJ"
嗯 , 剛剛在啟動 Eclipse 3.4 (ganymede) 時有看到說電腦有 GCJ 之類的提示說明
很不幸的 我的Ubuntu上面有安裝 GCJ (有點忘記是 UBuntu 預設安裝 , 還是我自己手賤裝上去的)
原因:
Android SDK 不支援 GCJ
解決方法:
使用Synaptic 套件管理程式 , 搜尋 gcj , 把所有有關 gcj 的套件整個徹底移除之後
重新啟動 Eclipse , 建立 Android Project 去測試 HelloAndroid 整個就是沒有問題
2007年11月15日 星期四
Google 手機作業系統開發套件 - android sdk 試玩
Google 手機作業系統開發套件 - android sdk 試玩
<別問我 , 為何這個時間會出現在網路上 , 因為失眠很嚴重...>
Google 的手機 Gphone 沒出現但是
Google 推出的是一個開放作業平台android
它的開發套件 android SDK 也已經可以下載
開發套件支援使用不同作業系統平 台的開發人員
下載網址
http://code.google.com/android/download.html
共 有
1.Linux (android_sdk_linux_m3-rc20a.zip)
2.Windows (android_sdk_windows_m3-rc20a.zip)
3.Mac
你需要有已經安裝並設定好的 JDK 1.5/1.6 的環境
(a) 下載套件
(b) 解壓縮套件
以 下以我使用的Ubuntu 7.10 Desktop 來作說明
下載之後解壓縮 android_sdk_linux_m3-rc20a.zip
得 到一個子目錄 android_sdk_linux_m3-rc20a
(c) 搬移 SDK 到 /opt 目錄下
將 它搬到 /opt 路徑下
完整的路徑為 /opt/android_sdk_linux_m3-rc20a
(使用Windows 的人自己找地方放)
(d) 修改環境變數
然後需要修改 PATH 變數
在 Ubuntu 7.10 中是修改 ~/.bashrc 這個檔
新增以下內容到 ~/.bashrc
#200711 Google Phone SDK
export PATH=$PATH:/opt/android_sdk_linux_m3-rc20a/tools
然後存檔 , 試著開啟一個 終端機 , 如果有錯誤訊息, 則表示你在 .bashrc 這個檔案中的設定有錯
如果有錯 請自己檢查
(e) 啟動手機模擬器
試著開啟一個 終端機 , 輸入以下指令
cd /opt/android_sdk_linux_m3-rc20a/tools
./emulator
接 著會出現 一個手機模擬器的畫面
手機的介面仍然是英文的
p1.jpg
注意:
初始畫面會有點久 ,
(會出現紅光閃閃閃 , 作這玩意的人 ,
當初應該是 霹靂車 影集的影迷...要有點年紀的網友才會有看過霹靂車的影集...)
p2,jpg
特別是當你沒有連結在 Internet 環境時 , 它會出現錯誤訊息
但是仍然可以使用
手機裡 面包含 Google Search & Google Map (當然 , 如果你沒有連線到 Internet 這兩個功能是無法使用的)
試 著叫出Browser ,
輸入 Yahoo ,
p4.jpg
找到 Taiwan , 點選 ,
p5.jpg
可以出現 中文的台灣奇摩 顯示無誤
p6.jpg
(不過目前沒有辦法有手機內建的輸入法去輸入中文)
試著叫出 Google Map ,
p7.jpg
顯示台北市的地圖 (中文顯示是可以的)
p8.jpg
<如果你是在 Windows 平台的 , 請自行處理對應的設定 , 因為目前我的環境只有 Ubuntu 可以用>
<待續...開發工具設定 Eclipse & Plug-in>
<別問我 , 為何這個時間會出現在網路上 , 因為失眠很嚴重...>
Google 的手機 Gphone 沒出現但是
Google 推出的是一個開放作業平台android
它的開發套件 android SDK 也已經可以下載
開發套件支援使用不同作業系統平 台的開發人員
下載網址
http://code.google.com/android/download.html
共 有
1.Linux (android_sdk_linux_m3-rc20a.zip)
2.Windows (android_sdk_windows_m3-rc20a.zip)
3.Mac
你需要有已經安裝並設定好的 JDK 1.5/1.6 的環境
(a) 下載套件
(b) 解壓縮套件
以 下以我使用的Ubuntu 7.10 Desktop 來作說明
下載之後解壓縮 android_sdk_linux_m3-rc20a.zip
得 到一個子目錄 android_sdk_linux_m3-rc20a
(c) 搬移 SDK 到 /opt 目錄下
將 它搬到 /opt 路徑下
完整的路徑為 /opt/android_sdk_linux_m3-rc20a
(使用Windows 的人自己找地方放)
(d) 修改環境變數
然後需要修改 PATH 變數
在 Ubuntu 7.10 中是修改 ~/.bashrc 這個檔
新增以下內容到 ~/.bashrc
#200711 Google Phone SDK
export PATH=$PATH:/opt/android_sdk_linux_m3-rc20a/tools
然後存檔 , 試著開啟一個 終端機 , 如果有錯誤訊息, 則表示你在 .bashrc 這個檔案中的設定有錯
如果有錯 請自己檢查
(e) 啟動手機模擬器
試著開啟一個 終端機 , 輸入以下指令
cd /opt/android_sdk_linux_m3-rc20a/tools
./emulator
接 著會出現 一個手機模擬器的畫面
手機的介面仍然是英文的
p1.jpg
注意:
初始畫面會有點久 ,
(會出現紅光閃閃閃 , 作這玩意的人 ,
當初應該是 霹靂車 影集的影迷...要有點年紀的網友才會有看過霹靂車的影集...)
p2,jpg
特別是當你沒有連結在 Internet 環境時 , 它會出現錯誤訊息
但是仍然可以使用
手機裡 面包含 Google Search & Google Map (當然 , 如果你沒有連線到 Internet 這兩個功能是無法使用的)
試 著叫出Browser ,
輸入 Yahoo ,
p4.jpg
找到 Taiwan , 點選 ,
p5.jpg
可以出現 中文的台灣奇摩 顯示無誤
p6.jpg
(不過目前沒有辦法有手機內建的輸入法去輸入中文)
試著叫出 Google Map ,
p7.jpg
顯示台北市的地圖 (中文顯示是可以的)
p8.jpg
<如果你是在 Windows 平台的 , 請自行處理對應的設定 , 因為目前我的環境只有 Ubuntu 可以用>
<待續...開發工具設定 Eclipse & Plug-in>
訂閱:
文章 (Atom)












