יצירת ספר אינטראקטיבי - חלק 16 - PhoneGap ל-Android | |
יריב 09/01/2013 (נערך לאחרונה ב-17/01/2013)
רכשתי לא מזמן מכשיר עם מערכת הפעלה אנדואיד ורציתי להתנסות בסביבת הפיתוח וליצור אפליקציה לדוגמא. כשנגשתי לעבודה חשבתי ש-PhoneGap זו סביבת פיתוח בדומה ל-VisualStudio עם כל אמצעי הדיבוג והריצה המקומית ושבסיום כתיבת הקוד מתקבלים קבצים שונים שמתאימים למכשירים השונים. טעות. PhoneGap היא לא תוכנה בפני עצמה, היא מעין ערימת ספריות שמוסיפים לפרוייקט ושם נמצא הקוד בשפת התכנות הרלוונטית למכשיר שיודע להציג את ה"אתר" שכתוב ב-HTML5. ה"אתר" ימוקם בספרייה בשם WWW, שם יהיו בין השאר קובץ ה-index.html קבצי ה-CSS וה-JavaScript.
נגשתי לדף המדריכים הרשמי ומכיוון שיש לי מכשיר אנדרואיד פעלתי לפי ההוראות להרמת סביבת הפיתוח הרלוונטית, יש פה הנחת עבודה שגויה שנדבר עליה אח"כ. אם תכנסו לקישור שימו לב שבצד ימין למעלה ישנו תפריט עם מספרי גרסאות וביניהם המילה edge. תארתי לעצמי שהכי הגיוני זה ללכת על הגרסא האחרונה בה יהיו הכי הרבה פיצ'רים ופחות באגים ומחלות ילדות. טעות! מסתבר שגרסאת edge, כפי שציין Simon MacDonald, מיועדת יותר למפתחים ולא למשתמש הרגיל. בחלק מהגרסאות צריך להתעסק עם Environment Variables ועם ה- PATH של מערכת ההפעלה, עם כתיבת פקודות דרך הקונסול (cmd) במקום דרך ממשק ועוד דברים שהצלחתי להסתבך איתם, אבל כנראה שככה זה בנוי.
הדרך הפשוטה היא לבחור את הגרסא היציבה האחרונה מתוך הרשימה, נדגים פה למשל את גרסא 2.3.0 בלי הסימון "rc" על יד המספר (Release Candidate) ונפעל לפי ההוראות שבקישור. - הורדה והתקנה של Eclipse Classic - נכון להיום הגרסא האחרונה היא 4.2.1 ונקראת בשם Juno.
כמו ש-VisualStudio היא פלטפורמת פיתוח של C# (ועוד), Eclipse היא פלטפורמת פיתוח של Java (חינמית ולעוד שפות). כיוון שלאנדרואיד כותבים קוד ב-Java אז זו הפלטפורמה שאנו צריכים. Eclipse עצמה כתובה ב-Java לכן לפני ההתקנה צריך להכין את הסביבה שתתמוך בתוכנה, במקרה זה יש להתקין JDK ולא JRE כדי לתמוך גם בשלב הבא. שימו לב משתמשי מע' הפעלה של 64 ביט, במספר מקומות נטען שיש להוריד את ה-JDK בגרסא של 32 ביט כיוון שאחרת השלב הבא עלול להכשל. ההתקנה היא לא מה שהייתי רגיל אלא פשוט פתיחת הכיווץ למקום הרצוי (למשל ל- C:\Program Files\Eclipse), הם לא ממליצים להשתמש לפתיחת הכיווץ בכלי הפנימי של מע' ההפעלה אלא בתוכנת צד שלישי כמו 7Zip החינמית. - Android SDK - ראשי תיבות של Android Developer Kit.
גם פה אין התקנה, סביבת הפיתוח Eclipse תשתמש בקבצים ששם כדי ליצור סביבת ריצה המדמה מכשיר אנדרואיד (אמולטור). כדאי לשמור במקום כזה שלא ימחק בטעות למשל ל- C:\Program Files\AndroidSDK. מריצים את קובץ ה-exe ומתקינים בהתאם להמלצות שבמדריך (תמונה מס' 2 בדף שלנו). - ADT - ראשי תיבות של Android Development Tools.
זו תוספת ל-Eclipse שמרחיבה את היכולות שלה ונותנת כלים לבניית ממשקים, כלים לעזרה במציאת באגים בעזרת ה-SDK שהורדנו קודם, יצירת חבילות התקנה ועוד. ההתקנה נעשית דרך הממשק של Eclipse. - Cordova - לבסוף הגענו לקוד שעושה את הקסם של PhoneGap. הגרסא האחרונה נכון להיום היא 2.3.0.
גם פה פשוט פותחים את הכיווץ ושמים בתקייה כמו C:\Program Files\Cordova.
במקרה של הגרסא הזו יש כמה פרמטרים שצריך להוסיף למערכת ההפעלה, בחלק מהגרסאות זה יותר פשוט. - הוספת משתנים ל-PATH, ראו תמונה מס' 3.
- ב-CMD יש לרשום Java כדי לבדוק אם צריך להוסיף ל-PATH גם %JAVA_HOME%\bin. אם הפקודה מזוהה יופיע טקסט כמו שבתמונה מס' 5.
- כנ"ל לגבי פקודת ant.
Ant זהו גם פרוייקט קוד פתוח תחת מטריית Apache, כלי לארגון ובניית פרוייקטים ב-Java, הידור ובניית הקוד עם הגדרות התלות וכו'. לא נתעסק עם זה בצורה מעמיקה מדי. קובץ build.xml קשור לכלי זה ומתאר את תהליך הבנייה. במידה והפקודה ant לא מזוהה יש להוריד את הגרסא האחרונה, נכון להיום היא 1.8.4, ולפתוח את הכיווץ לתיקייה כגון C:\Program Files\Ant\ ולהוסיף כמו קודם ל-PATH את ספריית ה-bin. שימו לב שיתכן וצריך לסגור ולפתוח שוב את חלון ה-CMD! אם הפקודה מזוהה אז יהיה כתוב משהו לגבי קובץ ה-xml שחסר. - כנ"ל לגבי פקודת javac. אם היא לא מזוהה יש להוסיף ל-PATH את תקיית bin של ספריית ה-SDK.
- הגדרת משתנה JAVA_HOME כמתואר בתמונה מס' 4.
- בניית פרוייקט חדש:
ב-CMD יש לנווט לתיקיית bin בספריית cordova, ולהריץ את פקודת create לתיקייה שאינה קיימת, כמתואר בתמונה מס' 5. המבנה של הפקודה הוא:
create <project_folder_path> <package_name> <project_name> שם ה-package חייב להיות בנוי משלושה חלקים המופרדים בנקודה במבנה של com.YourCompany.YourAppName, השם הזה לא יהיה זמין למשתמש, לעומת זאת שם הפרוייקט כן. כדאי לקבוע את זה כמו שצריך כבר מההתחלה כי אחרי זה יהיה קשה לשנות. גם בגרסאות הבאות של התוכנה שניצור נכניס את אותם פרמטרים כדי שהמשתמשים יוכלו לשדרג את התוכנה שלנו שברשותם.
לבסוף נריץ את תכנת Eclipse. - File -> New -> Project -> Android -> Android Project from Existing Code
- נבחר את התקייה שיצרנו לעיל.
- Finish
- אם יש X אדום על יד קובץ AndroidManifest.xml בפרוייקט נסו לפעול בהתאם לצעדים הבאים:
- לחיצה על לחצן ימני בעכבר על תיקיית הפרוייקט. - Properties -> Android - לסמן את הגרסא הגבוהה ביותר שמותקנת. - OK - Project -> Clean - אם לאחר ה-clean יש איקסים אדומים כמתואר בתמונה מס' 6 על יד תיקיית הפרוייקט אז יתכן ובספריית lib חסר הקובץ cordova-2.3.0.jar, הקובץ נמצא בספריית lib וניתן להוריד את הקבצים מכאן, לאחר מכן לפתוח את הכיווץ ולהדביק בספריית lib בפרוייקט ב-Ecliped.
לאחר מכן Project -> Clean ונקווה לטוב.
התיקייה היחידה כרגע שנשנה היא WWW וכדי להריץ את האפליקציה באמולטור נלחץ בלחצן הימני בעכבר על תיקיית הפרוייקט: Run As -> Android Application וכנ"ל גם להרצה על המכשיר כאשר הוא מחובר בכבל USB כאשר מצב debug מאופשר.
אז מה הנחת העבודה הבסיסית השגויה? נדבר על כך בחלק הבא.
תגובות
הגב/הגיבי לרשומה:
|