2014年10月4日 星期六

建立使用者自訂的 Android 裝置

        當透過 Android Virtual Device (AVD) Manager 建立 AVD 時,Device 只能選擇已內建好的裝置,如下圖所示:

        當這些內建裝置的解析度與硬體設定剛好符合你的需求時並沒有任何問題,但如果想要不一樣的設定;如解析度、記憶體大小、Keyboard...等等。這時你就必須自己制訂符合需求的 Android Device,建立的步驟如下:

  1. 開啟  Android Virtual Device (AVD) Manager 切換到 Device Definitions,選擇一個與你需求最接近的 Device後,按 Clone 按鈕,如下圖所示:(PS: 使用 ADT 23.0.4.1468518 按 Create Device... 按鈕並無法成功建立使用者自訂裝置)。

  2. 在 Clone Device 畫面,填入你所需的設定值,如下圖所示:

  3. 建立完成後,你會在 Device 清單畫面中看到你剛剛所定義的裝置,往後你就可以建立你剛剛所自訂的 Android 虛擬裝置。

        當你建立完自訂的 Android 裝置後,你可以在 ~/.android/devices.xml 檔案中找到你剛剛所建立的資訊。

自動產生Ant build script 檔案

假設你的專案存放在 C:\AndroidProject\Hello,在 console window 下,執行下列指令即可:

android update project –p .

另外如果你的專案含有 appcompat_v7 ,也必須到該目錄下執行上面的指令。

執行完指令後會在專案的資料夾內產生 build.xml 與 local.properties 兩個檔案。local.properties 的內容是設定 android SDK Home 的目錄,你可以自行修改指定到其他路徑下,如果你沒有特殊的需求,基本上都不需要去修改這些檔案。

之後你就可在C:\AndroidProject\Hello 目錄下,透過 ant 來編譯你的Android 專案了。範例如下:

ant clean release
ant clean debug

2014年9月28日 星期日

解決 Eclipse 執行時出現 "JVM terminated. Exit code=13" 的問題

   今天下載 Eclipse for J2EE 64 bit 版本後,在執行時卻出現下列畫面:


   最後發現原來我使用的 java 是 32 bits,而下載下來的 Eclipse 版本為 64 bits。Orz.

解決方法有二:
   1.重新下載 32 bits 的 Eclipse
   2.下載 64 bits JDK ,在 eclipse.ini 中設定 -vm 參數 (似乎只在你沒有設定 JAVA_HOME 才有用)

   因為在我的環境中不管怎麼設定 eclipse.ini 啟動時依舊是使用我 32 bits 的 JDK 版本,所以你可以再啟動 Eclipse 自己加上就可以順利啟動了,請參考下面指令:

~/bin/eclipse-j2ee-luna-64$ ./eclipse-j2ee -vm /home/joca/bin/jdk-8u20-linux-x64/bin

2014年8月28日 星期四

透過 Eclipse 設定 VM arguments

        之前在這篇文章中提到透過 Boloean.getBoolean("TRUE") 總是回傳 false, 是因為我們沒有設定額外的系統參數給 JVM,除了你可以在程式中透過 System.setProperty("TRUE", "TRUE"); 設定讓 getBoolean 方法回傳 true 外,你還可以自己透過在執行你的 Java 程式時設定,如下畫面:

        如果是使用 Eclipse IDE 來編譯/執行 你的 Java 程式,你可以透過 "Run Configurations..." 來設定你的 JVM 系統參數,設定方式如下圖示:

圖一

圖二
     範例程式如下:

 
package com.josh.demo;

public class GetBooleanDemo {
  public static void main(String[] args) {
   System.out.println("getBoolean(\"TRUE\") = " + Boolean.getBoolean("TRUE"));
   System.out.println("getBoolean(\"FALSE\") = " + Boolean.getBoolean("FALSE"));
   System.out.println("getBoolean(\"True\") = " + Boolean.getBoolean("True"));
   System.out.println("getBoolean(\"False\") = " + Boolean.getBoolean("False"));
 }
}

2014年7月20日 星期日

解決 Eclipse Graphical layout 無法顯示的問題

         建立一個簡單的 Android App 一開始 Graphical Layout 上面還有畫面,但是放了幾個 TextView與 EditText 後發現 Graphical Layout 竟然沒有畫面,而 Graphical Layout 提示執行 Eclipse 中的 Windows>Show View> Error Log,發現錯誤訊息為  "java.lang.NoSuchMethodError: java.lang.System.arraycopy([CI[CII)V ..." 上網查詢發現 "Android version to use when rendering layouts in Eclipse" 不可以選擇 Android 4.4W。
        剛剛稍微小試了一下,擺上  TextView 還可以正常顯示,一旦放上 EditText 就無法顯示了。下面圖示是設定的方式:

[參考文章]

[關鍵字]
  • java.lang.System.arraycopy([CI[CII)V