Trao đổi với tôi

http://www.buidao.com

11/28/10

[Symbian] Lập trình với Symbian OS P3

Hướng dẫn cài đặt và lập trình Symbian S60 3rd với VS2005

Dòng Symbian S60 3rd là hệ điều hành cho rất nhiều con điện thoại mạnh như Nokia 3250, Nokia E60, Nokia N91/N91 ME, N95, N95-8GB, N6290, N71, N73, N73 ME, N75, N76, N92, N93, N93i, N6110 navigator, N5700 Xpress Music, N6120 classic, N6121 classic, N81-MicroSD, N81-8GB, E50, E65, E90, E61/E61i, Nokia E63, Nokia E70, Nokia E71, Nokia N80, Nokia N90, Nokia N77, Nokia N82... Vì vậy tôi ưu tiên hướng dẫn cài đặt để lập trình cho dòng này trước.

Để cài đặt Symbian S60 3rd Edition tích hợp với IDE Microsoft Visual Studio 2005, thì đầu tiên bạn phải download Carbide.vs 3.0, bạn có tìm trên mạng chương trình này hoặc download từ một trong hai địa chỉ sau:
- Download tại Rapidshare
- Download tại Megaupload
Sau khi download xong, bạn chạy chương trình này. Chương trình sẽ hướng bạn chi tiết cần cài những gì và cả địa chỉ để download những thứ này. Cụ thể bạn phải cài đặt những thứ sau:
1. Bạn cài Active Perl 5.6.1. Bạn hãy download tại địa chỉ Download Active Perl 5.6.1.638. Tôi cài nó vào thư mục C:\Symbian\Perl
2. Bạn cài SDK S60 3rd Edition. Bạn download SDK S60 tại địa chỉ Download SDK S60. Ở đây tôi download và cài bản 3rd Edition, Maintenance Release. Tôi cài vào thư mục C:\Symbian\9.1. Trong khi cài đặt, chương trình có hỏi bạn có cài đặt CSL ARM Q1C Toolchain, thì bạn nhấn Yes để cài đặt nó. Và tôi cài nó vào thư mục C:\Symbian\CSL Arm Toolchain
3. Bạn cài Java Runtime. Bạn download chương trình này trực tiếp tại trang chủ của Java Sun
4. Bạn cài Visual Studio 2005. Sau khi cài xong Visual Studio 2005, bạn phải cài Visual Studio 2005 SP1.
=> Các chương trình trên, bạn cài cái nào trước cũng được. Sau khi đã cài hết bạn chạy lại Carbide.vs 3.0 và cài đặt bình thường. Ở đây tôi cài đặt vào thư mục C:\Symbian\Carbide_vs30
Sau khi cài đặt xong, bạn restart lại máy tính.

Bây giờ bạn bật Visual Studio 2005, khi đó Carbide.vs 3.0 sẽ tự động chạy, nó hỏi bạn đăng ký hoặc dùng 14 ngày. Nếu bạn lập trình bạn nên đăng ký luôn nhưng để đăng ký được bạn phải đăng ký account trên trang Nokia Forum. Để đăng ký bạn chỉ cần chọn "I don't have serial number" rồi nhấn Next. Nếu không có mạng, bạn chọn "I don't have Internet Connection" nhấn Next và làm theo hướng dẫn. Nếu bạn có mạng bạn chọn "I have Internet Connection" và nhấn next, nó sẽ tự động link đến trang để lấy key, bạn đăng nhập xong, bạn sẽ nhập được Serial Number. Bạn quay lại Carbide.vs và nhập Username (Là Username mà bạn đăng nhập http://www.forum.nokia.com) và nhập Serial Number vào để đăng ký.

Như vậy bạn đã hoàn thành cài đặt. Bây giờ bạn thử tạo Project Symbian mới. Bạn vàoFile/New/Project, trong Visual C++ bạn chọn Symbian. Bạn chọn New Symbian OS Project trong mục chọn Template, đánh tên Project (HelloWorld chẳng hạn) và chọn thư mục. Các Project của Symbian tôi để trong thư mục C:\Symbian\Projects. Bạn nhấn Next, và chọn SDK (S60 3.0 Maint) rồi nhấn OK.
Bây giờ xuất hiện hộp thoại, bạn chọn:
- Project type: Symbian 9
- Project template: S60 3rd Ed. Hello World Application
- Bạn chọn S60 3.0 Maint, bạn chọn cả:
- WINSCW (Để lập trình và chạy trên máy ảo, luôn được chọn)
- GCCE (Để bạn build file sis chạy trên máy thật)

Bây giờ bạn nhấn Next để tùy chình thêm hoặc Finish để hoàn thành.
Bây giờ bạn để chế độ Debug, build và chạy thử. Máy ảo tự động được bật, nhưng chương trình không tự động chạy được. Bạn phải vào mục Installations, bạn thấy chương trình HelloWorld mà bạn vừa viết. Bạn hãy chạy thử xem.



Bây giờ bạn chọn chế độ Release, build lại Project. Trong thư mục Project của bạn, bạn sẽ nhận được fileHelloWorld.SIS trong thư muc sis. Bạn chỉ cần Sign file sis này là có thể cài được trên máy thật sử dụngSymbian 3rd.

Bạn nên tìm hiểu và tham khảo các ví dụ của SDK trong thư mục:C:\Symbian\9.1\S60_3rd_MR\Examples.

Dòng Symbian S60 3rd và Symbian UIQ 3.x được thiết kế với chế độ bảo mật cao hơn hẳn các dòng Symbian S60 1st và 2rd. Dòng này yêu cầu ứng dụng của bạn phải được Sign trước khi bạn cài đặt nó lên máy thật. Với mỗi ứng dụng tương ứng với một IMEI, bạn có thể vào trang SymbianSigned.com để Sign, và bạn phải chờ đợi để nhận được ứng dụng đã được sign. Nếu bạn đã cài SDK, tôi xin hướng dẫn bạn tự ký ứng dụng của mình (self-sign Symbian software) và ứng dụng của bạn đã sign sẽ chạy trên tất cả các máy Symbian S60 3rd và Symbian UIQ 3.x mà không phân biệt từng IMEI khác nhau. Bây giờ tôi hướng dẫn cách sign thông qua việc sign ứng dụng HelloWorld.SIS của chúng ta:
- Đầu tiên, bạn bật hộp thoại Run, đánh cmd rồi Enter để vào màn hình Command Line.
- Trong màn hình Command, bạn đánh lệnh:
MÃ: CHỌN TẤT CẢ
cd \
cd "C:\Symbian\Projects\HelloWorld\HelloWorld\sis"

để vào thư mục chưa file HelloWorld.SIS.
- Bạn đánh lệnh sau để tạo ra hai file .key.cer:
MÃ: CHỌN TẤT CẢ
makekeys -cert -password 123456 -len 1024 -dname "CN=HelloWorld OU=ThangDao OR=ThangDao CO=VN EM=myshop4vn@gmail.com" helloworld.key helloworld.cer

Bạn di chuyển chuột trên màn hình command line để lấy dữ liệu ngẫu nhiên cho việc tạo tệp certificate.
- Bây giờ bạn đánh lệnh sau để thực hiện Sign tệp SIS:
MÃ: CHỌN TẤT CẢ
signsis HelloWorld.SIS HelloWorld_Signed.SIS helloworld.cer helloworld.key 123456




Bây giờ bạn lấy tệp HelloWorld_Signed.SIS (đã được Sign) để cài đặt trên máy thật.

Chú ý:
- Bạn làm tương tự để signed cho ứng dụng khác.
- Bạn có thể dùng trực tiếp tệp helloworld.cerhelloworld.key để sign cho ứng dụng khác, khi đó bạn chỉ cần dùng lệnh signsis mà thôi. Bạn chỉ phải thay tên file sis dùng để sign và file sis tạo ra sau khi sign.
- Chứng chỉ của bạn (.cer.key) chỉ có thời hạn trong một năm, kể từ lúc bạn tạo hai tệp này.
- Với các ứng dụng tự sign, khi cài đặt trên máy thì sẽ có cảnh báo Warning. Bạn chọn Continue để cài đặt.

Hướng dẫn cài đặt và lập trình Symbian S60 1st & 2nd với VC6


Để lập trình cho các dòng Symbian đời cũ như S60 1st và S60 2nd, nếu bạn không sử dụng các hàm nào đặc biệt thì bạn nên cài bản 1st Edition, FP1, Wins. Khi đó ứng dụng của bạn sẽ tương thích với tất cả các máy sử dụng dòng Symbian S60 1st và 2nd.

Để cài đặt và lập trình cho dòng này, bạn thực hiện như sau:
1. Bạn cài đặt ActivePerl-5.6.1 (Nếu bạn chưa cài). Bạn hãy download tại địa chỉ Download Active Perl 5.6.1.638. Tôi cài nó vào thư mục C:\Symbian\Perl
2. Bạn cài đặt S60 SDK 1st Edition. Bạn download SDK S60 tại địa chỉ Download SDK S60. Ở đây tôi download và cài bản 1st Edition, FP1, Wins. Tôi cài vào thư mục C:\Symbian\6.1.
3. Bạn cài Visual Studio 6.0 để làm IDE lập trình. IDE này tôi cài vào thư mục mặc định.

Trong thư mục “C:\Symbian\6.1\Series60\Epoc32Ex” chứa các ví dụ sẵn có của SDK, bạn có thể vào đây để xem và tham khảo. Ở đây, chúng ta bắt đầu thử với project đầu tiên “Hello World”. Các Projects cho Symbian tôi để ở thư mục: C:\Symbian\Projects
- Để bắt đầu với ví dụ này, bạn copy thư mục helloworld trong “C:\Symbian\6.1\Series60\Epoc32Ex”sang thư mục C:\Symbian\Projects.
- Bây giờ bạn bật hộp thoại Run, sau đó đánh cmd, rồi Enter để vào màn hình Command Line. Bạn đánh lệnh sau để sang chuyển sang thư mục Project:
MÃ: CHỌN TẤT CẢ
cd \
cd c:\symbian\projects\helloworld

- Tiếp bạn đánh lệnh:
MÃ: CHỌN TẤT CẢ
bldmake bldfiles

khi đó tệp ABLD.BAT sẽ được tạo trong thư mục project helloworld.
- Bây giờ bạn đánh tiếp lệnh:
MÃ: CHỌN TẤT CẢ
abld makefile vc6

để tạo ra tệp Project (HelloWorld.dsw) trên VC6. Bạn đừng đóng màn hình Command Line vội. Tí nữa bạn sẽ còn phải dùng tiếp.



- Bây giờ bạn search file “helloworld.dsw” trong thư mục cài đặt SDK (C:\Symbian\6.1), chính xác thì nó ở trong thư mụcC:\Symbian\6.1\Series60\Epoc32\BUILD\SYMBIAN\PROJECTS\HELLOWORLD\HELLOWORLD\WINS

- Bạn mở tệp “helloworld.dsw” bằng Visual Studio 6.0, bạn chon chế độ Debug (Release cũng vậy thôi), và nhấn F7 để build thử. Không lỗi gì đúng không bạn. Bây giờ bạn ấn Ctrl+F5 để chạy thử chương trình trên máy ảo. Nếu nó xuất hiện hộp thoại thì bạn chỉ đường dẫn đến tệp epoc.exe cho nó:
+ Nếu dịch Debug bạn chỉ đếnC:\Symbian\6.1\Series60\Epoc32\Release\wins\udeb\epoc.exe
+ Nếu dịch Release thì bạn chỉ đến thư mụcC:\Symbian\6.1\Series60\Epoc32\Release\wins\urel\epoc.exe

Bạn nhấn OK, máy ảo sẽ được bật lên. Bạn dùng phím mũi tên di chuyển xuống dưới, bạn sẽ thấy ứng dụnghelloworld mà bạn vừa build. Bạn hãy chọn nó để chạy thử:



- Chạy máy ảo vậy là okie. Bây giờ bạn sẽ build để chạy máy thật. Bạn đánh lệnh sau:
MÃ: CHỌN TẤT CẢ
abld build armi urel


- Bây giờ bạn sẽ thấy trong thư mục C:\Symbian\6.1\Series60\Epoc32\Release\armi\urel có các tệp HELLOWORLD.APPHELLOWORLD.RSC

- Bạn copy hai tệp này vào thư mục nào đó trong ổ C:, chẳng hạn tôi copy vào thư mụcC:\Symbian\Apps\helloworld

-Trong thư mục C:\Symbian\Apps\helloworld bạn tạo thêm tệp helloworld.pkg như sau:
MÃ: CHỌN TẤT CẢ
; helloworld.pkg
;

; standard SIS file header
#{"Helloworld"},(0X10008ACE),1,0,0,TYPE=SISAPP

;Supports Series 60 v2.0
(0x101F6F88), 0, 0, 0, {"Series60ProductID"}

;Tep lien quan den ung dung
"HELLOWORLD.APP"-"!:\system\apps\HelloWorld\HelloWorld.app"
"HELLOWORLD.RSC"-"!:\system\apps\MDictPro\HelloWorld.rsc"


- Sau đó bạn đánh lệnh sau để vào thư mục chứa các tệp này. Sau đó đánh các lệnh sau:
MÃ: CHỌN TẤT CẢ
cd \
cd "C:\Symbian\Apps\helloworld"
makesis helloworld.pkg

Bây giờ bạn đã có file helloworld.SIS để cài đặt và chạy trên máy thật.
=> Vậy là Okie rồi. Chúng ta đã cài đặt và chạy thử thành công.

Upload lại links cho các bạn down:
ActivePerl-5.6.1.638 (8 MB): http://downloads.activestate.com/ActivePerl/Windows/5.6/
ActivePerl-5.8.8.819 (15 MB): http://oldapps.com/Perl.php

Sau đây là chương trình Helloworld đã được viết và đóng gói lại thành file *sis

Hình ảnh

Download tại đây: http://www.mediafire.com/file/cmtmkwinz ... oworld.rar