แก้ปัญหา Android plugin บน Ubuntu Gutsy

เขียนไว้นานแล้วใน atthakorn.com คิดว่าน่าจะเอามารวมไว้ที่นี่เลยดีกว่า

ลองลง Android plugin บน Eclipse จะทดสอบรันโปรแกรม Sample ที่กับชุดพัฒนา Android พบว่าไม่สามาถทำงานได้ นั่งหาทางแก้ไขอยู่สักพัก พบว่าเจ้าตัว Android plugin ไม่สามารถทำงานบน Eclipse รันบน GCJ JVM ได้ ถ้าใครเจอปัญหาเดียวกันนี้ก็ให้ลองตรวจสอบ Default VM ของ Eclipse ได้โดยเปิดโปรแกรม Eclipse แล้วเลือก Help -> About Eclipse SDK -> Configuration details จะพบข้อมูลดังนี้

[...]
-vm
/usr/lib/jvm/java-gcj
[…]

จะเห็นว่า Default VM ของ Eclipse เป็น GCJ JVM ซึ่งเป็นเหตุผลที่ทำให้เจ้าตัว Android Plugin ทำงานได้ไม่เต็ม 100% วิธีแก้ไขก็ให้เราไปเปลี่ยนลำดับ JVM ที่เป็นของ Sun ให้อยู่บนสุดในไฟล์ /etc/eclipse/java_home ดังนี้

# This file determines the search order the Eclipse Platform uses to find a
# compatible JAVA_HOME. This setting may be overridden on a per-user basis by
# altering the JAVA_HOME setting in ~/.eclipse/eclipserc.
/usr/lib/jvm/java-6-sun
/usr/lib/jvm/java-gcj

หลังจากแก้ไขแล้วให้ลองตรวนสอบที่หน้า Help ของ Eclipse อีกที Default VM จะต้องเปลี่ยนไปตามค่า Configuration ที่ได้แก้ไปสักครู่ แล้วก็ลองไปทดสอบรันโปรแกรมตัวอย่างของ Android อีกครั้งพบว่าตอนนี้โปรแกรมสามารถทำงานได้แล้ว

ติดตั้ง Android SDK + Eclipse Plugin

มีเวลาหัดเล่นเสียทีกับสุดยอดผลงานอีกหนึ่งชิ้นจาก Google ครับแต่กว่าจะผ่านด่านแรกก็เล่นเอา เหงื่อหยดเกือบถอดใจ แต่ชคยังเข้าข้างเพราะมีน้อง @sand มาช่วยชีวิตไว้ไม่งั้นไม่รอดแน่ๆ มาเรียนรู้การติดตั้ง Android SDK กันดีกว่าโดยสามารถอ่านได้จาก เวบของ Android เองแต่สำหรับเราชาวไทยมีเรื่องต้องทำเพิ่มเติมอีกสองข้อใหญ่ๆ เพื่อไม่ให้ออกทะเล
1. ก่อนอื่น กรุณาเปลี่ยน Location และ Format ใน Regional and Setting ให้เป็น English(United State) ครับไม่เช่นนั้นจะเกิดปัญหาเรื่อง
"Error generating final archive: Debug certificate expired on 15/11/2495, 17:32 "
2. โหลด SDK มาไว้ที่เครื่องครับ
3. เปิด software update ของ eclipse แล้วทำการ add site เข้าไปโดยที่จากเวบ Android เองให้ใช้ url->https://dl-ssl.google.com/android/eclipse/ แต่บางท่านรวมถึงผมเจอปัญหาว่า Eclipse ไม่สามารถหา site นี้เจอได้ทางออกคือให้ตัด s ออกจาก https:// จะเหลือ http://dl-ssl.google.com/android/eclipse/ จากนั้นติดตั้งโลด
4. เปิด eclipse ขึ้นมาเพื่อกำหนดตำแหน่งของ SDK ให้กับ Android Project โดยเข้าไปที่ Windows->Preferences->Android
5. ใน Windows->Preferences->Android->Build นั้นจะมีข้อมูลอีกหนึ่งอย่างที่สำคัญคือเรื่องของ Debug Keystore ครับให้เข้าไปตาม PATH นั้นและทำการลบไฟล์ debug.keystore ทิ้งเพื่อให้ระบบสร้างใหม่มิเช่นนั้นจะเจอกับ "Error generating final archive: Debug certificate expired on 15/11/2495, 17:32 " ตลอด
6. เรียบร้อย
เชิญสนุกกับ Android

ทำความรู้จักกับ Android

Android คือระบบปฏิบัติการ (Operating System) บนโทรศัพท์มือและอุปกรณ์พกพาที่พัฒนาโดย Google. เราอาจเรียก Android เป็น Software Stack ที่ประกอบด้วย ระบบปฏิบัติการ โปรแกรมต่างๆ และแฟรมเวิร์ค (Framework) สำหรับนักพัฒนา เพื่อใช้ในการพัฒนาโปรแกรมบนแพลตฟอร์ม Android ได้

สถาปัตยกรรมของ Android
จากรูป Android จะประกอบด้วย องค์ประกอบหลักอยู่ 5 ส่วน ดังนี้

1. ซอฟแวร์ทั่วไป (Applications)
อุปกรณ์พกพาที่ติดตั้ง Android จะมาพร้อมโปรแกรมหลักที่ไว้ใช้งานทั่วไป เช่น โปรแกรมรับส่งอีเมล, SMS, ปฏิทิน, แผนที่, Browser (ใช้ WebKit เป็น Engine) เครื่องมือจัดการสมุดโทรศัพท์ และโปรแกรมหลักอื่นๆ

2. แฟรมเวิร์ค (Application Framework)
นักพัฒนาสามารถพัฒนาโปรแกรมบน Android โดยใช้ภาษา Java ผ่านทาง API (Application Programming Interface) โดยสามารถเข้าถึงระบบและข้อมูลต่างๆ ที่อยู่บน Android ดังนี้

  • Views ประกอบด้วย UI ชนิดต่างๆ ที่ใช้ในการพัฒนาโปรแกรม เช่น lists, grids, text boxes, buttons รวมไปถึง Event และเว็บบราวเซอร์
  • Content Provider โปรแกรมที่พัมนาบน Android จะสามารถส่งข้อมูลถึงกันผ่านทาง Content Provider เช่นเราสามารถพัฒนาโปรแกรมเพื่อไปดึงข้อมูลรายชื่อที่อยู่ใน Contacts ได้
  • Resource Manager เป็นตัวจัดการเรื่องรูปภาพ, Localized strings และข้อมูลอื่นๆ ที่นอกเหนือจาก Code ของโปรแกรม
  • Activity Manager นักพัฒนาสามารถสร้าง Custom Alert และส่งไปแสดงผลที่ Status Bar โดยผ่าน Activity Manager

3. ชุดพัฒนา (Libraries)
Android ยังประกอบด้วยชุดพัฒนาของ C/C++ อื่นๆ ที่สามารถใช้งานผ่านทาง API ของเฟรมเวิร์คที่ Android ได้จัดไว้ให้ (API เป็นภาษา Java)

  • System C Library ไลบรารีมาตรฐานของ C (C system library) ปรับปรุงพิเศาสำหรับอุปกรณ์ที่รันบน Linux
  • Media Library โดย Android สรับสนุนการใช้งานไฟล์ฟอร์แมตต่างๆ เช่น MPEG4, H.264, MP3, AAC, AMR, JPG และ JPG
  • Surface Manager เป็นตัวจัดการระบบแสดงผล และควบคุมบนจอภาพ

Hello, Android

ทักทายด้วยโปรแกรม Hello, Android ตามประเพณี

package com.android.hello;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroid extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       TextView tv = new TextView(this);
       tv.setText("Hello, Android");
       setContentView(tv);
   }
}
Syndicate content

*Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 License
*สัญญาอนุญาตสร้างสรรค์ร่วมกันครีเอทีฟคอมมอนส์

*Android and the Android logo are registered trademarks of Google Inc.
* Android และสัญลักษณ์ Android คือเครื่องหมายการค้าของบริษัท Google Inc.

Powered by Drupal, an open source content management system