הכירו את דני, בחור ממוצע בן עשרים. לדני יש תחביב – הוא אוהב לקרוא ספרים דיגיטליים. הוא מוריד לפלאפון שלו את אפליקציית ע-ברית, קונה כמה ספרים – וקורא. אממה, לפעמים יותר נוח לו לקרוא מהמחשב. הוא מחפש דרך להריץ אפליקציה של אנדראיד מהמחשב. האם זה אפשרי?
לכאורה התשובה היא לא. יש (לפחות) 2 סיבות:
1. מעבד. האפליקציה כתובה בשפה שהמעבד שיש בפלאפונים (מעבד ARM) מבין, אבל המעבד שיש במחשב (מעבדים מסוג x86) לא מבינים.
2. מערכת הפעלה. האפליקציה בנויה במבנה שרק מערכת ההפעלה Android מבינה. אבל Windows או Linux לא מבינים. כמו כן, היא משתמשת בקוד שקיים רק ב Android ולא ב Linux או Windows.
המטרה שלנו היא לפתור את שתי הבעיות הנ"ל, כדי שדני יוכל לקרוא ב ע-ברית מהמחשב.
לכאורה את הבעיה השנייה אפשר לפתור בצורה מאוד פשוטה – ליצור מחשב ווירטואלי. כלומר – מחשב בתוך מחשב – ובתוכו אפשר להתקין Android במקום Windows או Linux, ועל המחשב הוירטואלי יהיה אפשר להתקין את האפליקציה!
אבל את הבעיה הראשונה עוד לא פתרנו.
כפי שכתבתי, האפליקציה כתובה בשפה שרק מעבד ARM מבין, אבל המעבד של המחשב לא מבין. יש את אותה בעיה עם מערכת ההפעלה Android – המערכת הפעלה עצמה כתובה בשפה שרק מעבד ARM מבין, ולא המעבד של המחשב! כלומר, מעבד רגיל של מחשב לא מסוגל פיזית להריץ Android, כי הוא פשוט לא יבין את הקוד שבו Android כתובה!
אז מה עושים?
פה נכנכס האמולטור לתמונה. אמולטור בא מהמילה האנגלית emulator. אם נשאל את ה Google Translate מה זה, הוא יהיה מאוד יעיל:
תודה, גוגל. מה היינו עושים בלעדיך.
לכן, נלך יותר רחוק. emulator בא מהמילה emulate. לפחות פה Google Translate ידע להגיד לנו שהתרגום הוא "לחקות". לכן, אמולטור זה "מחקה", או "חקיין".
נחזור לעניינו. האמולטור יודע לעשות משהו מאוד חשוב – הוא יודע לחקות חומרה. מה הכוונה? במקרה שלנו, הוא ידע ליצור מעבד ARM וירטואלי. זה בעצם תוכנה שמדמה מעבד ARM. ומה הלאה? ככה אפשר ליצור מחשב וירטואלי, שהמעבד שלו זה המעבד ARM הוירטואלי. ופה פתרנו את הבעיה! כי עכשיו, בגלל שלמחשב הוירטואלי יש מעבד ARM וירטואלי, המעבד הוירטואלי ידע להבין את הקוד של Android! ולכן, על המחשב הוירטואלי הנ"ל אפשר להתקין Android!
וככה פתרנו גם את את הבעיה הראשונה, כי כעת – יש לנו מחשב וירטואלי שמריץ Android, ואז המחשב הוירטואלי ידע להבין את האפליקציה, ושלום על ישראל.
לסיכום – בעזרת אמולטור אפשר ליצור מחשב וירטואלי עם מעבד ARM וירטואלי, וככה אפשר להריץ על המחשב הוירטואלי Android, ועל גבו להריץ ע-ברית.
אמולטורים מוכרים: Nox, BlueStacks, Genymotion.
–
ודבר אחרון – בימינו כבר יש מיזם נהדר שנקרא Android-x86, שמטרתו ליצור גירסא של אנדרואיד שמתאימה למעבד של מחשב. ככה כבר לא צריך אמולטור, אלא אפשר להתקין ישירות על המחשב, או להתקין על מחשב ווירטואלי. לפרטים נוספים – https://www.android-x86.org.