הפעלת אפליקציות 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.

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

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

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

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

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

    adb install -r Google_Play_Services_for_AR_1.44.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 Level 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 Services ל-AR. צרו מכשיר וירטואלי חדש והתקינו את גרסת x86.