הפעלת אפליקציות AR באמולטור Android

אפשר להשתמש באמולטור Android כדי לבדוק תרחישי AR בלי מכשיר פיזי. האמולטור Android מאפשר להריץ אפליקציות ARCore בסביבה וירטואלית באמצעות אמולטור של מכשיר שנמצא בשליטתכם.

הגדרה של סביבת הפיתוח

דרישות התוכנה:

הורדת כלים ל-Android Studio ול-SDK ל-ARCore

  1. מתקינים את Android Studio בגרסה 3.1 ואילך.

  2. ב-Android Studio, עוברים אל Preferences > Appearance and Behavior > System Settings > Android SDK.

  3. בוחרים את הכרטיסייה SDK Platforms ומסמנים את התיבה Show Package Details.

    בגרסה המתאימה של Android, בוחרים:
    Google APIs Intel x86 Atom System Image API ברמה 27 ואילך.

  4. צריך לבחור את הכרטיסייה SDK Tools ולהוסיף את Android Emulator מגרסה 27.2.9 ואילך.

  5. לחץ על OK כדי להתקין את החבילות והכלים שנבחרו.

  6. לוחצים שוב על OK כדי לאשר את השינויים.

  7. Accept הסכם הרישיון של מתקין הרכיבים.

  8. לוחצים על Finish.

יצירת מכשיר וירטואלי עם תמיכה ב-AR

למידע נוסף, קראו את ההוראות ליצירת מכשיר וירטואלי ב-Android Studio.

יצירת מכשיר וירטואלי חדש של Android (AVD)

  1. ב-Android Studio, פותחים את ניהול המכשיר על ידי לחיצה על Tools > Device Manager.

  2. בחלק העליון של החלונית ניהול מכשיר, לוחצים על Create Device.

  3. בוחרים או יוצרים את פרופיל החומרה הרצוי בטלפון ובוחרים באפשרות Next.

  4. בוחרים תמונת מערכת מסוג x86 או x86_64 שפועלת עם API ברמה 27 ואילך ובוחרים באפשרות Next.

    • מכשירי ARCore פיזיים נתמכים ב-API ברמה 24 ואילך, התמיכה באמולטור Android מחייבת API ברמה 27 ואילך.

    • יש תמיכה רק בארכיטקטורות Android Emulator המבוססות x86. אין כרגע תמיכה בארכיטקטורות אחרות כמו arm64-v8a ו-armeabi-v7.

  5. מוודאים שהמכשיר הווירטואלי מוגדר כראוי:

    • לוחצים על Show Advanced Settings.

    • מוודאים שההגדרה של Camera Back היא VirtualScene.

  6. לוחצים על Finish כדי ליצור את ה-AVD.

הפעלת האפליקציה

אפשר לבדוק אפליקציית ARCore במכשיר וירטואלי שתומך ב-AR באמולטור. לשם כך, תוכלו לפעול לפי ההוראות ב-Android Studio במאמר הפעלת אפליקציה ב-Android Emulator.

עדכון Google Play Services למציאות רבודה

סביר להניח שהגרסה של Google Play Services למציאות רבודה באמולטור לא עדכנית. כדי לעדכן אותו, צריך לפעול לפי ההוראות הבאות:

  1. מורידים את הגרסה האחרונה של Google_Play_Services_for_AR_1.41.0_x86_for_emulator.apk מדף הגרסאות של GitHub.

  2. מתקינים את ה-APK שהורדתם בכל AVD שבו רוצים להשתמש:

    מפעילים את קובץ ה-AVD הרצוי וגוררים את ה-APK שהורדתם מתיקיית המערכת (לדוגמה, Downloads) באמולטור הפעיל, או להתקין אותו באמצעות adb כשהמכשיר הווירטואלי פועל:

    adb install -r Google_Play_Services_for_AR_1.41.0_x86_for_emulator.apk

חוזרים על השלבים האלה למכשירי AVD נוספים שבהם רוצים להשתמש.

שליטה בסצנה הווירטואלית

כשהאפליקציה תתחבר ל-ARCore, תוצג שכבת-על שמתארת איך לשלוט במצלמה, ושורת סטטוס מתחת לחלון האמולטור.

הזזת המצלמה הווירטואלית

לוחצים לחיצה ארוכה על Shift כדי לגשת לפקדי התנועה של המצלמה. אפשר להשתמש בפקדים הבאים כדי להזיז את המצלמה:

פעולה מה צריך לעשות?
הזזה ימינה או שמאלה החזקת המקשים Shift + הקשה על A או על D
הזזה למטה או למעלה החזקת המקשים Shift + הקשה על Q או על E
העברה קדימה או אחורה החזקת המקשים Shift + הקשה על W או על S
שינוי כיוון המכשיר לוחצים לחיצה ארוכה על Shift + הזזת העכבר

משחררים את Shift כדי לחזור למצב אינטראקטיבי באמולטור.

השתמשו בכרטיסייה Virtual Sensors בפקדים מורחבים כדי למקם את המכשיר בצורה מדויקת יותר.

הוספת תמונות משופרות לסצנה

טוענים תמונות בסביבת ההדמיה של האמולטור כדי לבדוק תמונות מורחבות.

צריך להשתמש בכרטיסייה Camera ב-Extended controls כדי להוסיף או לשנות את Scene images. יש שני מיקומים של תמונות: אחד על הקיר ואחד על השולחן.

כדי לראות את מיקומי התמונות האלה בסביבה, הפעילו את האמולטור והזיזו את המצלמה לפינת האוכל, דרך הדלת שמאחורי מיקום המצלמה.

טיפים לפתרון בעיות

  • אם אפליקציית ARCore מופעלת ואתם רואים את ההודעה "המכשיר הזה לא תומך ב-AR", כדאי לבדוק את הגרסה הקודמת של תמונת המערכת. ודאו שאתם משתמשים ב-API ברמה 27 גרסה 4 ואילך.

  • אם אפליקציית ARCore לא מצליחה לפתוח את המצלמה כשהיא מופעלת, צריך לוודא שההגדרה של Camera Back היא VirtualScene, כפי שמתואר בשלבי ההגדרה שלמעלה.

  • אם אפליקציית ARCore לא נפתחת ומוצגת ההודעה "נכשלה היצירה של סשן AR", כדאי לבדוק את יומן האפליקציה. אם מופיעה java.lang.UnsatisfiedLinkError עם הודעה שמכילה את /lib/arm/libarcore_c.so" is for EM_ARM (40) instead of EM_386 (3), ייתכן שהתקנתם את הגרסה הלא נכונה של ה-APK של שירותי Google Play ל-AR. יוצרים מכשיר וירטואלי חדש ומתקינים את גרסת x86.