顯示具有 Android 標籤的文章。 顯示所有文章
顯示具有 Android 標籤的文章。 顯示所有文章

2008年9月21日 星期日

J2ME - WTK - Emulator - AWT-EventQueue-0 GTKLookAndFeel Exception

在 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年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 我一直都跟它不熟 , 到現在我還是搞不定它 ,
我只好去整理出我覺得自己比較能夠簡單使用的方式

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 整個就是沒有問題 

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>