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

אתם יכולים להשתמש במכונה וירטואלית ל-Android כדי לבדוק תרחישים של מציאות רבודה בלי מכשיר פיזי. באמצעות Android Emulator אפשר להריץ אפליקציות 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 כדי לפתוח את Device Manager.

  2. לוחצים על Create Device בחלק העליון של החלונית Device Manager.

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

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

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

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

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

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

    • מוודאים ש-Camera Back מוגדר כ-VirtualScene.

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

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

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

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

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

  1. מורידים את הגרסה העדכנית של Google_Play_Services_for_AR_1.48.0_x86_for_emulator.apk מהדף releases ב-GitHub.

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

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

    adb install -r Google_Play_Services_for_AR_1.48.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 לא נפתחת ומופיעה הודעת השגיאה 'Failed to create AR session' (נכשלה היצירה של סשן AR), צריך לבדוק את יומן האפליקציה. אם מופיע java.lang.UnsatisfiedLinkError עם הודעה שמכילה את /lib/arm/libarcore_c.so" is for EM_ARM (40) instead of EM_386 (3), יכול להיות שהותקנה גרסת ה-apk הלא נכונה של Google Play Services למציאות רבודה. יוצרים מכשיר וירטואלי חדש ומתקינים את הגרסה x86.