[SIZE=2]How to create adobe air package to portable</span>
[hide=35]
- ปัญหา และที่มา
เนื่องจากการจะสร้าง package .air ด้วยคำสั่ง adt เพื่อแจกจ่ายโปรแกรมให้กับผู้ใช้งานอื่นๆนั้น
ติดปัญหาอย่างหนึ่งคือ จำเป็นต้องใช้ไฟล์ certificate ในการสร้าง package ซึ่งหลังจากที่ปวดหัวกับมันอยู่นาน
ตอนนี้เลยแก้เผ็ดด้วยการ จับคำสั่ง adl มายัดสร้าง portable ซะเลย
- ข้อเสีย
สูญเสียคุณสมบัติที่จะรันได้ในทุก platform (เว้นแต่จะทำ portable สำหรับทุกๆ platform เลย ^^)
- สิ่งที่ต้องเตรียม
1. adobe air sdk 1
2. โปรแกรมทำ portable : Filepacker
- ขั้นตอนการสร้าง
1. สร้าง root Folder เตรียมไว้ (ผมจะยกตัวอย่าง สร้างไว้ c:\air_portable นะครับ)
จากนั้น สร้าง 3 folder ไว้ ภายในดังนี้
- bin
- runtime
- sourcecode
2. แตกไฟล์ AdobeAIRsdk.zip (ที่เราโหลดมา) และคัดลอกนำไฟล์ adl.exe ใน folder bin ไปไว้ใน
c:\air_portable\bin
3. คัดลอก Folder Adobe AIR ที่อยู่ใน Folder runtime ไปไว้ใน
c:\air_portable\runtime
สังเกตุว่าใน folder c:\air_portable\runtime\Adobe AIR\Versions\1.0 เราจะมี 3 ไฟล์ดังนี้
- Adobe AIR.dll 7.94 mb
- NPSWF32.dll 2.75 mb
- WebKit.dll 12.7 mb
โดย 3 ตัวนี้เป็นไฟล์ dll ที่จำเป็นการ รันโปรแกรมที่เขียนขึ้นมา แต่ด้วยแต่ละไฟล์ขนาดที่ใหญ่ พอสมควร
ดังนั้น จึงขออธิบายเกี่ยวกับ ไฟล์ 3 ตัวนี้ เพื่อที่หาก ไม่ได้จำเป็นใช้จะได้ตัดออกไป
-> Adobe AIR.dll ตัวนี้เกี่ยวกับ air ทั้งหมดครับ จำเป็นแน่นอนครับ ไม่ต้องตัดออก
-> NPSWF32.dll ตัวนี้ เป็น flash player ครับ ซึ่งทุกเครื่องติดตั้งไว้แน่นอน ตัดออกได้เลยครับ
-> WebKit.dll ตัวนี้เป็น dll ของ browser ที่ชื่อว่า safari ครับ ซึ่งหากใครเขียน air ด้วย javascript ตัวนี้จะสำคัญ แต่ถ้าเขียนด้วย flex, flash และไม่ได้ใช้ component ที่แสดงผลผ่าน browser ก็ตัดตัวนี้ออกไปได้เลยครับ
หรือถ้าหาก ไม่สนใจเรื่องขนาดไฟล์ก้อ เก็บไว้ทั้ง 3 ตัวก็ได้ครับ
4. นำ source code ที่เราเขียนขึ้นมา มาใส่ไว้ใน folder
c:\air_portable\sourcecode ครับ ซึ่งในที่นี้ผมจะก๊อบ source code ของผมลงไป คือ
- Hello-app.xml
- Hello.swf
5. เขียน bat ไฟล์ เขีัยนโปรแกรม .exe หรือทำอย่างไรก็ได้ครับ เพื่อไปเรียกไฟล์ใน bin/adl.exe
ให้ รัน โปรแกรมเราขึ้นมาเมื่อต้องการ โดยปกติแล้วคำสั่งจะเป็น
adl.exe ../sourcecode/hello-app.xml ครับ
โดยตัวอย่างนี้ผมจะเขียน โค๊ดด้วย vb.net ครับ
มีโค๊ดดังนี้
[code]