Ինչպես տեղադրել Android հավելվածը Linux-ում: Աշխատում է լիարժեք OS Android-ում: Ինչպես է Anbox-ը տարբերվում Shashlik-ից

Բոլոր հնարավոր օպերացիոն համակարգերի համար կան տոննա Android էմուլյատորներ: Նրանցից վատագույնները հազիվ են շարժվում, լավագույններն արագ են աշխատում, իսկ երբեմն նույնիսկ թույլ են տալիս խաղալ: Վերջիններս սովորաբար հասանելի են միայն Windows-ի համար և այդպես էլ աշխատում են Linux-ում: Բայց այսօր Linux-ի փողոցում արձակուրդ է. մենք այժմ ունենք Android հավելվածները անմիջապես Linux-ով գործարկելու միջոց՝ առանց որևէ էմուլյացիայի, արգելակների, յուրաքանչյուրը առանձին պատուհանում՝ չափափոխելու հնարավորությամբ։ Հանդիպեք Anbox-ին՝ Android հավելվածները աշխատասեղանի վրա գործարկելու լավագույն միջոցը:

Ինչպես է Anbox-ը տարբերվում Shashlik-ից

Anbox-ի մշակողներից պահանջվել է մեկուկես տարի նախագիծն ավարտելու համար: Նրանք կարողացան ինտեգրել Android հավելվածները Linux-ի աշխատասեղանին, ապահովել գրեթե ամբողջական համատեղելիություն, և որ ամենակարևորն է՝ այդ ամենը աշխատի արագ, առանց ընդհատումների, և կարգավորելու համար շատ քայլեր չպահանջեցին:

Ինքն Android միջավայրը (ի դեպ, հիմնված է վերջին Android 7.1.1-ի վրա) այստեղ ավազապատված է, վերահսկվում է անվանատարածքների տեխնոլոգիայով, հենց այն, ինչ հիմքում է Docker-ը: Անվանատարածքները լիովին կտրում են միջավայրը Linux բաշխման միջավայրից, և սարքավորումների հետ ամբողջ աշխատանքը անցնում է anboxd դեյմոնով: Հատուկ թարգմանիչ OpenGL ES → OpenGL, որը փոխառված է պաշտոնական Android-ի էմուլյատորից, օգտագործվում է 3D հավելվածների պատկերները ցուցադրելու համար:

Լինուքսի միջուկը նույնպես պետք է փոփոխվեր, ավելի ճիշտ՝ Anbox հավաքածուի մեջ ավելացվեցին կապինդերի և աշմեմի ներդրմամբ մոդուլներ, որոնց օգնությամբ Android-ում փոխազդում են համակարգի բաղադրիչները (IPC): Նախքան սկսելը Anbox-ը բեռնում է մոդուլները միջուկում և ավելացնում է udev կանոն՝ ճիշտ թույլտվությունները սահմանելու համար / dev / binder և / dev / ashmem սարքերի համար:

Յուրաքանչյուր հավելված տեղադրվում է իր սեփական Anbox պատուհանում՝ օգտագործելով փոփոխված hwcomposer կոմպոզիտային կառավարիչը, որը Android-ն օգտագործում է գրաֆիկական շերտերը ծածկելու համար: Hwcomposer-ը պահանջում է յուրաքանչյուր հավելվածի բոլոր շերտերը և տալիս դրանք Anbox-ին, որն այնուհետ ստեղծում է առանձին պատուհաններ առանձին հավելվածների համար:

Այս բոլոր տեխնիկական լուծումները Anbox-ը դարձնում են իսկապես արագ, հեշտ օգտագործման և ռեսուրսների համար արդյունավետ «էմուլյատոր»: Ներառյալ 3D հավելվածներում։

Anbox-ը բաղկացած է երկու բաղադրիչից՝ կոնտեյների կառավարիչ և նիստերի կառավարիչ:

Կոնտեյների կառավարիչկառավարում է ավազատուփերը՝ ներսում գործող Android միջավայրով: Դրա խնդիրն է ճիշտ գործարկել Android համակարգը, այն պահել և ճիշտ անջատել:

Նիստի մենեջեր, իր հերթին, պատասխանատու է Android կապի համար sandbox-ի և հիմնական Linux համակարգի հետ: Դրա խնդիրն է արձագանքել հավելվածի գործարկման հարցումներին և դրանք տարածել տարբեր պատուհաններով:

Ընդհանուր առմամբ, Android հավելվածի գործարկումը Anbox-ի միջոցով ունի հետևյալ տեսքը.

  1. Կապակցող և աշմեմի մոդուլները բեռնված են միջուկի մեջ:
  2. Գործարկվում է կոնտեյների կառավարիչը, որը տեղադրում է ավազարկղը՝ ներսում Android-ով:
  3. Գործարկում է նիստերի կառավարիչը, այն սկսում է Android միջավայրը:
  4. Օգտագործողը հրաման է տալիս հավելվածը սկսելու համար, որն ընդունվում և մշակվում է նիստի մենեջերի կողմից:
  5. Նիստի մենեջերը սպասում է հրամանների:

1-3 քայլերը պատրաստում են Anbox-ը և գործարկում մեկ անգամ, սովորաբար բեռնման ժամանակ:

Այս ճարտարապետությունը հնարավորություն է տալիս հավելվածների գործարկումը գրեթե ակնթարթորեն՝ անգործուն ռեժիմում փոքր (մոտ 400 ՄԲ) հիշողության ավելացման պատճառով:


եզրակացություններ

Անկասկած, Anbox-ը արժանի է ուշադրության: Այո, այն ունի համատեղելիության խնդիրներ, չգիտի ինչպես աշխատել ձեր տեսախցիկի և խոսափողի հետ, այն խափանում է: Բայց սա ալֆա տարբերակն է, և ալֆայի համար այն հիանալի է աշխատում:

Սկսելով Linux-ի լավագույն Android էմուլյատորների ամփոփումը, մենք որոշեցինք, հավանաբար, զարմանալիորեն, որոնել էմուլյատորներ: Այնուամենայնիվ, մենք արագ հասկացանք, որ կան բազմաթիվ եղանակներ հասնելու մեր նպատակին՝ Linux-ով գործարկելու Android հավելվածները: Հետևաբար, մենք ներառեցինք նաև Anbox-ը, չնայած այն հանգամանքին, որ այս ծրագիրը գտնվում է նախալֆա փուլում: Anbox-ը հետևում է նույն փիլիսոփայությանը, ինչ WINE-ը. երկուսն էլ փորձում են հնարավորինս շատ իրականացնել Android համակարգի զանգերը: Այս մոտեցումն ավելի արդյունավետ է, քան էմուլյացիան, քանի որ ձեր հավելվածները կաշխատեն որպես բնօրինակ: Էմուլյատորի ապարատային պահանջները ցավալիորեն պարզ են փոքր հիշողությամբ համակարգչի վրա աշխատելիս:

Ինչպես ենք փորձարկել էմուլյատորները

Մենք սկսեցինք տեղադրել տարբեր լուծումներ՝ տեսնելու, թե ինչ խնդիրների կարող եք հանդիպել նախքան հավելվածները գործարկելը: Օրինակ, Anbox-ը, ըստ իր կայքի տեղեկությունների, գտնվում է նախալֆա փուլում։ Հաջորդը, մենք փորձեցինք հավելվածներ տեղադրել անմիջապես Google Play-ի և երրորդ կողմի ներբեռնման տեխնոլոգիաների միջոցով: Մեթոդներից մեկն այն է, որ adb-ն օգտագործվի գործող օրինակում: Մենք նաև չափել ենք յուրաքանչյուր էմուլյատորի աշխատանքը և պահանջվող հիշողության քանակը:

Փորձարկման մեկ այլ կողմն այն է, թե ինչու է մշակվում յուրաքանչյուր փաթեթ. օրինակ՝ ձեր համակարգչի վրա Android խաղեր խաղալու համար: Ի դեպ, մեր փորձարկման մեքենան Intel Core i3 պրոցեսոր է 4 ԳԲ հիշողությամբ, ինչը բավականին սահմանափակող է էմուլյատորների գործարկման համար։ Եվ եթե լավ պատճառ ունեք ձեր Linux համակարգչով Android հավելվածներ գործարկելու համար, գնեք և տեղադրեք ավելի շատ RAM:

Android էմուլյատորներ Linux-ի համար

Փաթեթների մի մասը գալիս է ISO պատկերների տեսքով, որոնք դուք պատճենում եք USB կրիչի վրա և աշխատում այնտեղից: Կարող եք նաև տեղադրել Android-x86-ը որպես ինքնուրույն ՕՀ՝ օգտագործելով Grub ֆայլը: Այս մոտեցումը նշանակում է, որ դուք այլևս էմուլյատոր չեք, այլ բաշխման ամբողջական հավաքածու: Նախքան կոնկրետ փաթեթ ընտրելը, հարցրեք ինքներդ ձեզ, թե որն է ձեր նպատակը: Որոշ փաթեթներ նախատեսված են խաղացողների համար, իսկ մյուսները նախատեսված են նոր ծրագրերի փորձարկման համար: Մշակման և փորձարկման համար ձեզ անհրաժեշտ կլինի փաթեթ, որը ոչ մի կերպ չի համապատասխանում Android-ի ժամանցային հավելվածների օգտագործմանը:

Android վիրտուալ սարք

Android վիրտուալ սարքը մշակման և փորձարկման առավել հասուն փաթեթն է: Եթե ​​սկսեք Android Studio-ից, ապա այն հիանալի ինտեգրված է և բնականաբար օգտագործվում է թեստավորման համար: Ճիշտ է, վերջին թողարկումը պարունակում է սխալ, և դուք պետք է գործարկեք AVD հրամանի տողից՝ օգտագործելով -use-system-libs պարամետրը:

Android էմուլյատոր Linux-ի համար Android վիրտուալ սարքի համար

Վիրտուալ սարքում աշխատելիս դուք ունեք անհրաժեշտ բոլոր հնարավորությունները, ներառյալ GPS-ը, տեսախցիկի էմուլյացիան և ռոտացիայի սիմուլյացիան: AVD-ն լավ է աշխատում, և ավելացնելով Google Play-ը, այն կարող եք օգտագործել սովորական հավելվածների համար: Այնուամենայնիվ, խաղերը կարող են դանդաղեցնել, քանի դեռ դուք օգտագործում եք վիրտուալ սարք: Միայն ամենաժամանակակից պրոցեսորները թույլ են տալիս մի քանի վիրտուալ պրոցեսորներ աշխատել: Այլ, ավելի քիչ պահանջկոտ գրաֆիկայի և պրոցեսորի հավելվածները լավ կաշխատեն; բայց ընդհանուր առմամբ AVD-ն առավել հարմար է ձեր ստեղծած նոր հավելվածների փորձարկման համար:

Android-x86

Android-x86-ը այնքան էլ բնորոշ չէ, քանի որ այն նախատեսված է որպես բաշխում: Այն տեղադրելու համար կարող եք օգտագործել rpm ֆայլը և գործարկել ձեր նոութբուքը որպես Android սարք: Վերագործարկվելուց հետո կարող եք ուղղակիորեն գնալ ձեր սովորական օգտատիրոջ պրոֆիլ և տեղադրել հավելվածներ Google Play-ից: Դա շատ արձագանքող սարք կլինի, քանի որ հիմքում ընկած համակարգն ավելի փոքր է: Եվ, իհարկե, փոխարենը կարող եք հարմարեցնել ձեր Linux-ի տեղադրումը: Էմուլյացիայի ժամանակ խնդիրներ կլինեն նաև ռեսուրսների հետ, ինչպես Համեմատության այլ էմուլյատորներ, բայց ավելի քիչ լուրջ:


Android-ի էմուլյատոր Linux-ի համար Android-x86

Այս փաթեթը լավագույնն է հավելվածներ օգտագործելու համար, բայց մենք այն խորհուրդ ենք տալիս փորձարկման համար, եթե հատուկ չեք ցանկանում զարգացնել Android_x86-ի համար: Չկա տեսախցիկի սիմուլյացիա և սարքի անցում պրոֆիլային ռեժիմից լանդշաֆտային ռեժիմի, ուստի այս էմուլյատորում այս գործառույթների ստուգումը չի աշխատի:

Anbox

Մենք չէինք կարող չընդգրկել Anbox-ը մեր Համեմատության մեջ, չնայած հասկացանք, որ այն կարող է վերադառնալ մեզ: Ինչն արդարացված էր։ Anbox-ի գործարկումը տարբեր աստիճանի հաջողություն է ունեցել, քանի որ մշակողները ասում են, որ այն գտնվում է նախալֆա փուլում: Երբ այն աշխատում է, այն հիանալի գործիք է առանձին հավելվածների հետ օգտագործելու համար, քանի որ դրա համակարգի պահանջները մի փոքր ավելի բարձր են, քան սովորական հավելվածի պահանջները:


Android էմուլյատոր Linux Anbox-ի համար

Տեղադրման գործընթացում օգտագործվում է Snap, որը հեշտացնում է տեղադրումը և հեռացումը: Հիշեք, որ առայժմ պետք է տեղադրել anbox-installer Snap-ը, որն իր հերթին կտեղադրի Anbox-ը: Տեղադրիչի սկրիպտը աշխատում է apt, որը տեղադրում է գրադարանները և միջուկի մոդուլները, որոնք անհրաժեշտ են դրա աշխատանքի համար: Միայն առավել արկածախնդիր օգտվողները կարող են օգտվել հնարավորությունից մինչև առաջին բետա թողարկումը դուրս չգա: Նկատի ունեցեք, որ այս փաթեթն ավելի շատ կոնտեյներ է, քան էմուլյատոր:

Genymotion

Genymotion-ը առնվազն նույնքան լավն է, որքան AVD-ն, երբ խոսքը վերաբերում է ապարատային հատկանիշների մոդելավորմանը, և այն սպառում է նույն քանակությամբ հիշողություն և ռեսուրսներ համակարգչում: Եթե ​​անմիջապես տեղադրեք Gapps-ը, Google Play-ի միջոցով կարող եք տեղադրել հավելվածներ ամեն ինչի համար: Հաշվի առնելով դրա ռեսուրսների սպառումը, մեծ հավելվածներ գործարկելու համար ձեզ շատ հիշողություն կպահանջվի, սակայն այս էմուլյատորի հիմնական նպատակը նոր ծրագրերի փորձարկումն է, որպեսզի այն խնդիրներ չառաջացնի։


Android-ի էմուլյատոր Linux Genymotion-ի համար

Այն ստեղծող ընկերությունը պատրաստել է բազմաթիվ պատկերներ տարբեր հեռախոսների նմանակման համար և ակնհայտորեն հույսը դնում է էմուլյատորի իր վճարովի տարբերակի լուրջ մշակողների վրա։ Դուք կարող եք շատ լավ աշխատել անվճար տարբերակով, նույնիսկ եթե ձեզ անհրաժեշտ է մոդելավորել հեռախոսի տարբեր դիրքեր: Եթե ​​դուք պարզապես ցանկանում եք ձեր աշխատասեղանին գործարկել ինչ-որ հավելված, ապա այս փաթեթը, հավանաբար, չափազանց որակավորված է նման առաջադրանքի համար:

Շաշլիկ

Shashlik-ը նույնպես զարգացման շատ վաղ փուլում է, ինչն ակնհայտ է դառնում, երբ փորձում ես այն գործարկել: Տեղադրողն աշխատում է լռելյայն, և նույնիսկ հավելվածի տեղադրման սցենարն աշխատում է անթերի: Երբ փորձում ես հավելվածներ գործարկել, ամեն ինչ բարդանում է: Բազմաթիվ կարգավորումներ ներկառուցված են գործարկման սկրիպտում, և այն գործարկելու համար պարամետրեր գտնելը մի ամբողջ խնդիր է: Աջակցությունը նույնպես կարծես փակուղի է մտել: Github-ի զարգացման ծառի վրա ամենավերջին աշխատանքը կատարվել է երկու տարի առաջ:


Android-ի էմուլյատոր Linux Shashlik-ի համար

Չնայած դրան, նախագիծը հետաքրքիր տեսք ունի, և մենք հույս ունենք, որ ինչ-որ մեկը նորից կանի դա: Հավելվածներ ավելացնելու տարօրինակությունները դադարեցվել են, և երբ տեղադրում եք Android հավելվածը, գործարկիչի պատկերակը անմիջապես հասանելի է դառնում: Դուք ի վերջո գործարկում եք ձեր ուզած հավելվածները, կարծես դրանք ներկառուցված են, չնայած որ դրանք նմանակվում են ֆոնային QEmu-ում:

Android Emulator-ի տեղադրում Linux-ում

Հանրաճանաչ բաշխումների վրա ծրագրեր տեղադրելիս մենք օգտագործում ենք ծանոթ փաթեթների կառավարիչներ, ինչպիսիք են apt, dnf և այլն: Այնուամենայնիվ, երբեմն ծրագրաշարի տեղադրումը կատարվում է պարզապես Anbox-ի նման երկուական փաթեթ ներբեռնելու միջոցով: Այն գալիս է Snap ձևաչափով, ստանդարտ, որը մշակվել և դեռ պահպանվում է Canonical-ի կողմից: Anbox-ը ծրագիր է։ Նախաալֆա փուլում լինելը, և նույնիսկ եթե հաջողվի, այն գործի դնելը լրիվ այլ խնդիր է:

Android սարքերը ընդօրինակելու ստանդարտ եղանակը Android Studio-ի համար Android վիրտուալ սարքի փաթեթի օգտագործումն է: Դուք կարող եք այն գործարկել առանց Studio-ի, եթե պարզապես անհրաժեշտ է փորձել հավելվածը: Հաշվի առնելով Android Studio-ի սպառած ռեսուրսները՝ սա օգտակար տարբերակ է: Այնուամենայնիվ, լավագույնն է էմուլյատորը տեղադրել որպես Studio-ի մաս:

Android-x86-ը ստեղծվում է որպես նոր բաշխում, երբ տեղադրում եք rpm ֆայլը: Այն ավելացնում է մուտքագրում Grub-ի մենյուում, որպեսզի հաջորդ անգամ բեռնելիս կարողանաք պարզապես ընտրել այն և գործարկել համակարգիչը որպես Android սարք: Այն ձեր սովորական առաջադրանքներին զուգահեռ գործարկելու համար ձեզ հարկավոր է VirtualBox կամ QEmu: Փաստորեն, մեր վերանայման շատ էմուլյատորներ օգտագործում են VirtualBox վիրտուալացման համար:

Genymotion-ը սպառում է ամենաշատ ռեսուրսները գործարկման ժամանակ: Այնուամենայնիվ, VirtualBox-ի առկայության դեպքում դրա տեղադրումը պարզ է: Այն տեղադրելու համար ներբեռնեք և գործարկեք երկուական տեղադրիչը: Երբ առաջին անգամ գործարկեք հավելվածը, դեռևս չկան վիրտուալ սարքեր, և դուք պետք է ընտրեք դրանք ընդարձակ ցանկից. ներբեռնումը և կազմաձևումը ավտոմատ են:

Շաշլիկը հետևում է նույն փիլիսոփայությանը, ինչ Anbox-ը: բայց վերաբերում է QEmu էմուլյատորին: Անկախ նրանից, այն արագ է և լրացուցիչ օգտագործում է պարզ կարգավորիչ սցենար՝ կամարային ֆայլերը կողքից բեռնելու համար: Shashlik-ը տեղադրելու համար կարող եք օգտագործել Debian փաթեթը dpkg -i հրամանով։ Տեղադրվելուց հետո ձեզ կարող է անհրաժեշտ լինել փոխել որոշ պարամետրեր, օրինակ՝ օգտագործել GPU-ն: Դա անելու համար բացեք և խմբագրեք shashlik-run Python սկրիպտը։

Android-ի էմուլյատորների կատարումը

Այս փաթեթները փորձարկելու համար օգտագործեցինք 4 ԳԲ համակարգիչ, որը, պարզվեց, հեռու էր իդեալական լինելուց։ Պատճառն այն է, որ սովորաբար յուրաքանչյուր վիրտուալ մեքենայի կարիք ունի մոտ 1 ԳԲ հիշողություն, իսկ լիարժեք ֆունկցիոնալ Gnome աշխատասեղանը պահանջում է 1,5 ԳԲ բազմաթիվ ծանուցումներ և ամպային պահեստավորման համաժամացում: Գործարկելով Firefox-ը, դուք մոտենում եք արագ լիցքավորմանը և պետք է խնայեք հիշողությունը:

Anbox-ն իրականացնում է զանգեր՝ դարձնելով այն իդեալական գործարկելը ձեր սովորական հավելվածների կողքին, բայց, ցավոք, զարգացման վաղ փուլերում: Մենք խորհուրդ չենք տալիս օգտագործել այն շարունակական հիմունքներով, և դա դժվար թե հնարավոր լինի:

Եթե ​​ձեզ պարզապես անհրաժեշտ է աշխատեցնել ձեր համակարգիչը որպես Android սարք, օգտագործեք Android_x86, այն շատ լավ է աշխատում:

Մյուս փաթեթները գործարկվում են վիրտուալացման միջոցով, մասնավորապես VirtualBox-ից, ինչը դժվարացնում է դրանց գործարկումը այլ ծրագրերի հետ մեկտեղ: Այլ կերպ ասած, եթե ցանկանում եք մշակել և փորձարկել Android հավելվածներ, գործարկեք 16 ԳԲ համակարգիչ և կարող եք էմուլատորը գործարկել ձեր IDE-ին զուգահեռ։

Ամենաունակ և ինտեգրված ընտրությունը Android Studio-ի և AVD տանդեմն է՝ նույն համակարգչի վրա մշակելիս և փորձարկելիս: Շատ գործառույթներ մոդելավորելու համար, ինչպիսիք են տեսախցիկը, GPS-ը և հեռախոսի թեքությունը, հարմար է օգտագործել Genymotion-ը, այն հիանալի գործիք է: Բացի այդ, այն ցույց է տալիս էկրանը ճիշտ այնպես, ինչպես երևում է իրական ֆիզիկական սարքում:

Էմուլյատորի հետ աշխատելու հարմարավետություն

Վիրտուալիզացիայի օգտագործման բազմաթիվ պատճառներ կան: Հոբբիստները կարող են ցանկանալ ինչ-որ հավելված, որը չի աշխատում իրենց ՕՀ-ում, կամ նրանք կարող են ցանկանալ փորձարկել իրենց մշակած ծրագրերը:

Այլ կիրառումներ են առևտրային սերվերների վրա, որտեղ վիրտուալացումը հարմար է անվտանգության և բեռի հավասարակշռման խնդիրների համար: Այս բաժնում մենք ցույց կտանք, թե կոնկրետ փաթեթներն ինչ նպատակներով կլինեն առավել հարմար:

Փաթեթները տրամադրում են նաև մի շարք առանձնահատկություններ, որոնք կարող են ազդել ձեր որոշման վրա: Այնուամենայնիվ, որքան հարուստ է այս ֆունկցիոնալությունը, այնքան ձեր համակարգի բեռը մեծանում է: Մենք տեսնում ենք, որ երկու կոմերցիոն լուծումներն ունեն ամենամեծ թվով գործառույթներ, բայց դրանք նաև առավել պահանջկոտ են համակարգի ռեսուրսների նկատմամբ:

Մեր վերանայման մեջ հավելվածների գործարկման ամենաարդյունավետ լուծումը Anbox-ն է: Նա հրաժարվում է սարքավորումների իմիտացիայից և առաջ է անցնում բոլորից, բայց դեռ չի հասունացել արտադրական գործունեությանը։

Դիմումների կառավարում էմուլյատորում

Երբ ձեր էմուլյատորը գործարկվի, ժամանակն է տեղադրել ձեր սիրած հավելվածները: Սովորական Android սարքում դուք կունենաք Google Play կամ նույնիսկ FDroid: Էմուլյատորներում սովորաբար անհրաժեշտ է տեղադրել Gapps-ը՝ Play Store մուտք գործելու համար: Ձեր վիրտուալ հեռախոսին հավելվածներ ավելացնելու այլ եղանակներ կան: Կարող է օգտագործվել վիրտուալ սարքի վրա; այն աշխատում է էմուլյատորների և բեռնարկղային լուծումների վրա, ինչպիսիք են Anbox-ը: Android_x86-ն ունի լռելյայն տեղադրված Play Store-ը, ինչը շատ արագ է դարձնում այն ​​սկսելը:

AVD-ի միջոցով դուք կարող եք գործարկել տեղադրված հավելվածները կամ Android Studio-ում ձեր մշակած հավելվածները: Google Play-ի միջոցով հավելվածների տեղադրումը ներառված է որոշ պատկերներում, բայց ոչ բոլորը: apk-ից տեղադրելու մեկ այլ եղանակ է ֆայլը էմուլատորի պատուհանի մեջ գցելը: Սա անմիջապես կտեղադրի հավելվածը կամ գոնե կփորձի դա անել: Genymotion-ը նաև աջակցում է քաշել և թողնել: Ամեն դեպքում, apk-ը պետք է լինի x86-ի համար։ կամ տեղադրումը չի հաջողվի: Բացի այդ, սկսելուց առաջ ձեզ անհրաժեշտ է Adb:

Կարող եք նաև փորձել աշխատել Shashlik-ի հետ։ Շաշլիկը գործում է կոնտեյների պես, Anbox-ի նման: բայց ունի ներկառուցված տեղադրման գործառույթ: Հավելվածը տեղադրելուն պես: այն կհայտնվի որպես հավելված ձեր աշխատասեղանի ցանկում: Gnome աշխատասեղանի մեր օրինակում shashlik մուտքագրելով «ցուցադրվում են բոլոր տեղադրված հավելվածները: Այնուհետև դուք կկարողանաք գործարկել ձեր նախընտրած հավելվածները ուղղակիորեն, ինչպես մնացած տեղադրվածները:

Էմուլյատորի փաստաթղթեր և աջակցություն

Փաստաթղթավորումը սովորաբար սիրողական նախագծերի թույլ օղակն է, ինչը ցավալի է, եթե առաջարկվող նախագծերն այդքան էլեգանտ են: Մեր համեմատությունն ունի նույն արդյունքները, Android վիրտուալ սարքն ունի բոլոր փաստաթղթերն ու աջակցությունը, որի մասին կարող եք երազել, և երբ այն օգտագործում եք Android Studio-ի հետ, դա ավելի լավ է: Genymotion-ն ունի հիանալի FAQ հիմնական լուծումներով, որոնք կօգնեն ձեզ սկսել, և եթե պրոֆեսիոնալ եք աշխատում, ապա կա վճարովի տարբերակ:

Փաստաթղթերը բարձրակարգ են և հստակ նախատեսված են ակտիվ մշակողների համար: Նա լավագույնն է. Android ~ x86-ը բավականին հասուն է և ունի ֆանտաստիկ փաստաթղթեր՝ գերազանց ՀՏՀ-ով: Համայնքի օգնությունը տրամադրվում է Google Խմբերի միջոցով: Նրանք ակտիվ են և կարող են օգնել ձեզ, եթե խնդիրներ ունենաք: Anbox-ն այնքան նոր է, որ նույնիսկ փաստաթղթեր կան այն կարգավորելու և սկսելու մասին: Ասել է թե, թեև ՀՏՀ-ն բավականին ինքնաբացատրելի է, մյուս փաստաթղթերը սակավ են: Կարելի է ներել նման պակասը, քանի որ ծրագիրը գտնվում է նախալֆա փուլում, և գործառույթների մեծ մասը դեռ գրված չեն, էլ չեմ խոսում դրանց փաստաթղթավորման մասին։

Մենք հուսով ենք, որ Anbox-ի վրա աշխատանքը կշարունակվի, քանի որ դա Android հավելվածները Linux-ում բերելու արդյունավետ միջոց է: Եթե ​​ցանկանում եք նպաստել զարգացմանը, նայեք օգնության էջին: Չնայած այն հանգամանքին, որ Anbox-ի ներբեռնման ֆայլն ինքնին ընդամենը 1,5 ԳԲ է: միակ բանը, որ դուք պետք է հաշվի առնեք, Android-ի զարգացման ծառն է: Shashlik-ն օգտագործում է Ark տեղադրում, բայց ծրագիրը ոչ մի տեղ այնքան էլ փաստաթղթավորված չէ:

Էմուլյատորի մշակման գործունեություն

Օգտագործելով ծրագիրը, մենք ցանկանում ենք իմանալ, թե ինչպես կարելի է լուծել խնդիրները: Սա պահանջում է աջակցություն կամ շարունակական զարգացում: Մեր Համեմատության էմուլյատորների դեպքում, ինչպես և սպասվում էր, Genymotion-ը և Google Apps-ն ամենաակտիվն են: Այնուամենայնիվ, Genymotion-ը ամուր ներդրում ունի ամպի և այլ մասնագիտական ​​լուծումների մեջ: հետևաբար, նրա կորպորատիվ եռանդը կարող է դեն նետել սիրահարներին: Բնականաբար, Android վիրտուալ սարքը նույնպես ուժեղ է այս առումով:

Մնացած նախագծերի դեպքում ամեն ինչ ավելի քիչ պարզ է, և մենք ստիպված էինք ստուգել նրանց գործունեությունը իրենց վեբ էջերում և GitHub-ում:

Android_x86-ը թողարկեց նոր տարբերակը 2017 թվականի հունիսին և հնարավոր է թողարկեր ևս մեկը՝ նախքան մեր վերանայման հրապարակումը: Այս նախագիծը շատ ակտիվ է՝ այն բառացիորեն անկասելի է։ Նրա մշակողների և օգտատերերի համար ամենահուզիչ ժամանակներն են մոտենում: Եթե ​​ցանկանում եք օգնել զարգացմանը, հիշեք, որ աղբյուրի ծառը 10 ԳԲ-ից ավելի է: այնպես որ պատրաստեք որոշակի սկավառակի տարածություն:

Anbox-ն աշխատում է ամեն օր և թարմացնում է աղբյուրը շաբաթական. այս նախագիծը նոր է դուրս գալիս: Դա արժեքավոր հավելում կլինի Linux ծրագրերի ցանկում: Սա հատկապես հարմար է, եթե դուք արդեն օգտագործում եք հավելվածը ձեր հեռախոսում և ցանկանում եք շարունակել օգտագործել 8 ծանոթ ինտերֆեյսը: Android-ի շատ հավելվածներ շատ քիչ հիշողություն են սպառում և բավականին արդյունավետ են: Եթե ​​ցանկանում եք օգնել, հրահանգները բավականին պարզ են նրանց համար, ովքեր արդեն գիտեն, թե ինչպես վարվել:

Շաշլիկը երկու տարի ակնհայտ ակտիվություն չի ունեցել իր վեբ էջում կամ GitHub-ում: Ցավոք սրտի, գուցե ստիպված լինեք ընդունել այս նախագծի փլուզումը: Կոդը դեռ հասանելի է GitHub-ում, եթե կա խիզախ հոգի, ով ունի որոշ ժամանակ խնայելու և զարգացում սկսելու ցանկություն:

Աղբյուրի առկայությունը

Մեր ամփոփման բոլոր փաթեթները գալիս են բաց կոդով, ուստի աղբյուրը գտնելը պետք է համեմատաբար հեշտ լինի:

Բայց միշտ չէ, որ այդպես է։ Google-ից ամեն ինչ ունի երկու մասնաճյուղ՝ մեկը ներքին զարգացման և մեկը հանրության համար: Google-ն անում է դա՝ նոր գործառույթները փակ պահելու համար մինչև թողարկումը: Սովորական ծրագրավորողները և շնորհալիները կարող են օգտագործել հանրային մասնաճյուղը՝ կարկատներ ներկայացնելու համար: Այս բաժնում մենք կանդրադառնանք, թե ինչ ծրագրավորման լեզուներ են օգտագործվում և արդյոք ծառը հասանելի է ներբեռնման համար: Մենք նաև կպարզենք աղբյուրի ծառի չափը: Հիշեք, որ մեկ փաթեթի ծառը սովորաբար գտնվում է միջուկի աղբյուրի և զարգացման գործիքների վերևում:

Ամբողջ Android ծառը հասանելի է www.source.android.com կայքում: Փաթեթը, որը ներառում է մշակողի գործիքակազմը, կշռում է մոտ 10 ԳԲ, բայց խելամիտ կլինի դրան հատկացնել 20 ԳԲ:

Այս փաթեթը ստանդարտ է, բայց ոչ փոքր, այնպես որ համոզվեք, որ ձեր համակարգիչը բավարար ռեսուրսներ ունի այն օգտագործելու համար:

Android_x86-ը 4,5 ՄԲ չափ է: միջուկի ծառի գագաթին: Նախագիծը հիմնականում օգտագործում է C ++ և սցենարներ, հիմնականում՝ shell-ով: Այս նախագիծն ամենահետաքրքիրն է, երբ ցանկանում եք Android-ը գործարկել այլ սարքերում, այլ ոչ թե երբ ցանկանում եք փորձարկել բջջային սարքերի համար նախատեսված հավելվածները:

Anbox-ը ներբեռնելու աղբյուրը փոքր է՝ ընդամենը 1,5 ՄԲ։ իսկ Anbox-ը ծրագրավորված է հիմնականում C ++-ով: Եթե ​​ցանկանում եք սովորել կոնտեյներային տեխնոլոգիայի մասին, կարող եք ստանձնել այս նախագծի որոշ առաջադրանքներ, քանի որ այն հենց այնտեղ է օգտագործվում: Եթե ​​ցանկանում եք լրջորեն ուսումնասիրել ներկայումս օգտագործվող ամենակարևոր տեխնոլոգիան, ապա փորեք այստեղ: Anbox-ը տեղակայված է GitHub-ում:

Genymotion-ն իրականացնում է բնիկ C ++ կոդը և նրա սցենարների մեծ մասն օգտագործում է Perl-ը: Սցենարները օգտագործում են փոփոխված միջուկ վիրտուալ մեքենաների համար: Նրանց ներբեռնման սկզբնական կոդը 135 ՄԲ է:

Shashlik-ի սկզբնական կոդը կարծես այլևս կապ չի հաստատվել, բայց այն հասանելի է GitHub-ում: Կա նույնիսկ պատառաքաղ, որը թարմացվել է 2017 թվականի ընթացքում, ուստի հույսը շարունակում է բացվել: Ինչ-որ մեկը ստեղծել է Dockerfile, որպեսզի դուք կարողանաք գործարկել այն Docker կոնտեյներներով: Ներբեռնված է 6 ՄԲ: մինչդեռ ծրագրավորումն արվում էր C ++-ով և C-ով։ Սկրիպտները հիմնականում գրված են Python-ով։

եզրակացություններ

Android-ը դարձել է սմարթֆոնների առաջատար ՕՀ-ն։ Ավելի ու ավելի շատ ցանցային գործունեությունը բջջային ծագում ունի: Ցանկացած նոր վեբ դիզայն պետք է պատրաստ լինի շարժական սարքերին: Եվ համացանցում կամ ծրագրավորման ոլորտում գործողության ցանկացած փորձ պետք է հաշվի առնի դա։ Որպեսզի ձեր վեբ էջը կամ ծրագիրը հասանելի լինի հնարավորինս շատ մարդկանց, դուք պետք է այն տեղափոխեք բջջային հեռախոս, եթե դա իմաստ ունի ձեր հավելվածի համար: Դրան հասնելու համար դուք պետք է կամ ուղղակիորեն գրեք այն բջջայինի համար, կամ գտնեք լուծում, որը համատեղում է երկու մոտեցումները: Մեր վերանայման ընթացքում մենք նայեցինք բջջային հավելվածները ցանկացած Linux սարքի վրա հասանելի դարձնելուն:

Եթե ​​ցանկանում եք փորձարկել ծրագիրը 8 տարբեր սարքերի համար մի քանի սցենարներով, կան երկու կոմերցիոն լուծումներ: Android վիրտուալ սարքը և Genymotion-ը զգալիորեն գերազանցում են մնացածին: Մշակողների համար դրանք բավականին բազմակողմանի են և օգտակար:

Նրանց համար, ովքեր պարզապես ցանկանում են գործարկել ծրագիր կամ խաղ իրենց աշխատասեղանին, այլ հավելվածներն ավելի հարմար են: Anbox-ը և Shashlik-ը նախատեսված են հենց այս նպատակով: Ցավոք, նրանք բավականաչափ հասուն չեն AVD-ներ օգտագործելու համար: Android Studio-ն այն փաթեթն է, որը լավագույնս համապատասխանում է հատուկ Android-ի համար հավելվածներ մշակելու համար: Նրանք աշխատում են մշակման և փորձարկման համար: Genymotion-ը ևս մեկ բավականին պարկեշտ միջավայր է ձեր փորձարկումն աջակցելու համար:

Այլ փաթեթներն ավելի հետաքրքիր են, երբ դուք օգտագործում եք առկա հավելվածները: Որպես այլընտրանք, դուք կարող եք դրանք օգտագործել որպես ելակետ, եթե ցանկանում եք ավելին իմանալ C-ի և C ++-ի մասին, և գուցե: անցեք միջուկի ծրագրավորմանը:

Հայտնի է, որ Android-ը և Linux-ը ինչ-որ իմաստով կապված են: Ամեն դեպքում, զանգվածային համոզումը հենց սա է։ Իրականում ամեն ինչ մի փոքր ավելի բարդ է. ամենատարածված բջջային ՕՀ-ն օգտագործում է միայն Linux միջուկը: Սա նշանակում է, որ բացակայում է ուղղակի համատեղելիություն (որքանով կարելի է ասել երկու համակարգերը): Այնուամենայնիվ, երբ մեզ անհրաժեշտ է Android-ի էմուլյատոր Linux-ի համար, ընդհանուր նախահայրերը սկսում են դեր խաղալ:

Windows-ի էմուլյատորներում մենք իրականում գործարկում ենք վիրտուալ մեքենա Android-ով, որն իրագործելու համար պահանջում է շատ ռեսուրսներ: Linux միջավայրում ինտեգրումը տեսականորեն հնարավոր է այլ մակարդակում. առանձին «Sandbox»-ի փոխարեն համակարգը գործարկում է շարժական հարթակ անմիջապես ընթացիկ միջուկի վրա, քանի որ այն իրականում փոփոխության կարիք չունի: Հավելվածները փաթեթավորված են այնպես, որ դրանք կարող են դրսում ցուցադրվել առանձին պատուհաններով։ Ավելին, նրանք կարող են նույնիսկ օգտագործել 3D ապարատային արագացում, որը օգտվողի փորձը դուրս է բերում ձանձրալի ավազատուփերից: Օգտագործողի համար դա նշանակում է, որ հավելվածները չեն դանդաղի, և ոչ ոք չի վատնի համակարգի ռեսուրսները:

Այսօր կան Linux-ում Android հավելվածներ գործարկելու մի քանի իրականացում (հաշվի առնելով Google-ի պաշտոնական էմուլյատորը՝ The ARC Welder-ը, որը պատրաստված է որպես Chrome-ի ընդլայնում): Այնուամենայնիվ, Linux-ի վրա լիարժեք Android միջավայրը հայտնվեց միայն 2017 թ. Այս հրաշքը կոչվում է Anbox և համատեղելի է միայն x86 / 64-պրոցեսորների, ինչպես նաև միայն Ubuntu-ի (խստորեն հրատարակություններ 17.04, 16.10, 16.04, 14.04), Linux Mint, Neon և Elementary բաշխումների հետ:

Anbox-ի տեղադրում

Anbox-ն ինքնին առաջարկվում է որպես ինքնուրույն Snappy տեղադրման փաթեթ կամ որպես պահեստի հեռավոր տեղադրող, որը կարող է տեղադրվել՝ գործարկելով սկրիպտը: Այսպիսով, օրինակ, Ubuntu-ում դա արվում է հետևյալ կերպ.

  1. Բեռնել սցենարը.

$ wget https://raw.githubusercontent.com/anbox/anbox-installer/master/installer.sh -O anbox-installer


Տվեք սկրիպտին ծրագիրը տեղադրելու համար անհրաժեշտ իրավունքները.

$ chmod + x anbox-installer

  1. Գործարկել սցենարը.

$ sudo ./anbox-installer

  1. Եթե ​​տերմինալը ձեզ խնդրում է մուտքագրել վահանակի տողում «ՀԱՄԱՁԱՅՆ ԵՄ», Արա.

Երբ տեղադրումն ավարտվի, վերագործարկեք ձեր համակարգիչը: Ամենայն հավանականությամբ, համակարգը ինքնին կհուշի ձեզ դա անել: Եթե ​​ամեն ինչ լավ է անցել, ապա վերագործարկումից հետո ձեր ընտրացանկի տարրը կհայտնվի «Anbox»:

Linux-ի այլ բաշխումների դեպքում ընթացակարգը կարող է մի փոքր տարբեր լինել: Նրանցից շատերը նաև աջակցում են Snap փաթեթներին: Ամեն դեպքում, ոչ ոք չի խանգարում փաթեթը տեղում հավաքել աղբյուրից։

Եթե ​​նախընտրում եք ներբեռնել Snap փաթեթը, ապա տեղադրման հրամանը կլինի.

sudo snap install - դասական anbox-installer && anbox-installer

Այնուհետև մուտքագրեք 1 թիվը և սեղմեք Enter, ապա մուտքագրեք « ԻՀԱՄԱՁԱՅՆՎԵԼ "և հաստատեք գործողությունը:

Հավելվածների տեղադրում Anbox-ում

Էմուլյատորը (լավ, լավ, խստորեն ասած՝ փաթեթավորող, բայց մեծամասնության համար այն դեռևս Android-ի էմուլյատոր է Linux-ի համար) նախատեսված է հավելվածներ գործարկելու համար: Այսպիսով. Google-ը այդպես չի կարծում: Good Corporation-ը հրաժարվում է թույլատրել սարքերը, եթե դրանք հավաստագրված չեն: Իսկ մեր Anbox-ը ամենևին էլ սարք չէ, ուստի սերտիֆիկացում չի անցնի նույնիսկ տեսականորեն։

Այնուամենայնիվ, Anbox-ում հավելվածներ տեղադրելու տարբերակ կա։ Փաստն այն է, որ ինչպես ցանկացած «երկաթյա» Android սարք, Anbox-ն ունի ADB կարգաբերման ռեժիմ, և այն ի սկզբանե ակտիվ է: Մնում է միայն համակարգում տեղադրել ԱԶԲ-ի դրված հրամանը: Ubuntu-ի համար դա կարելի է անել տերմինալին ուղղված հետևյալ հարցումով.

$ sudo apt-get տեղադրել android-sdk-platform-tools

Այս նույն «Android SDK պլատֆորմի գործիքներից» է ԱԶԲ-ն:

Դրանից հետո պարզապես պետք է ներբեռնել անհրաժեշտ հավելվածների տեղադրման ֆայլերը։ Դրա համար շատ ռեսուրսներ կան՝ համաշխարհային apkmirror-ից մինչև թվերի և երեք տառերի հայտնի ֆորում:

Հիշեք հասցեն, որտեղ դուք ներբեռնում եք ֆայլերը (օրինակ՝ Ներբեռնումներ): Ubuntu-ում հավելվածների գործարկման հրամանն ընդհանուր առմամբ այսպիսի տեսք ունի.

$ adb install ~ / Ներբեռնումներ / filename.apk

Փոխարեն ֆայլի անուն.apkդուք պետք է փոխարինեք դիմումի ֆայլի անվանումը:

Այսպիսով, Android հավելվածները կաշխատեն պատուհանային ռեժիմով։ Իհարկե, կատարումը կախված է համակարգի պարամետրերից, բայց ընդհանուր առմամբ հավելվածները բավականին արագ կաշխատեն:

Android հավելվածների աշխատանքի առանձնահատկությունները Anbox-ի տակ

Թեև Linux միջուկի շնորհիվ թվում է, որ խնդիրներ չպետք է լինեն, իրականում կան բազմաթիվ նրբերանգներ։ Ուշադրություն դարձրեք հետևյալին.

  • Դուք ստիպված չեք լինի ընտելանալ հսկիչներին: «Հետ» կոճակը մոդելավորվում է Esc ստեղնով, իսկ էկրանին ժեստերի փոխարեն կարող եք օգտագործել մկնիկը։
  • Եթե ​​հավելվածը, սկզբունքորեն, չի աջակցում x86 / 64, ապա այն չի աշխատի: Սա վիրտուալ մեքենայից հրաժարվելու հակառակ կողմն է:
  • Clipboard-ը ինտեգրվում է հիմնական ՕՀ-ի հետ: Ավաղ, ավելի բարձր մակարդակով ինտեգրում դեռ չկա։
  • Կան բաղադրատոմսեր Play Market-ը Android-ի պատկերի մեջ ինտեգրելու համար: Եթե ​​հետևում եք դրանց, ապա Anbox-ի օգնությամբ կարող եք շատ ավելի ֆունկցիոնալ լուծում ստանալ։ Բայց դուք կարող եք դա անել ավելի հեշտ և սովորականի պես տեղադրել երրորդ կողմի հավելվածների խանութ:

Canonical-ը ստեղծում է Android-ի գործարկման ժամանակ, որը թույլ կտա Android ծրագրերին աշխատել Ubuntu-ում:

Android-ը Linux-ի վրա հիմնված հարթակ է Google-ից: Յուրաքանչյուր նոր տարբերակ բարելավում է հարթակը և թույլ է տալիս ավելի շատ տարբերակներ հեռախոս արտադրողների և բջջային օպերատորների համար: Կա նույնիսկ Android պորտ x86 պլատֆորմի համար, որը որոշ մարդկանց հույս է տալիս գրավել նեթբուքերի շուկան: Սակայն որոշ վերլուծաբաններ կարծում են, որ Android-ը վատ է նեթբուքերի համար:

Intel-ից Moblin կոչվող նախագիծ, Canonical նախագիծ Ubuntu Netbook Remix, Google Chromebook-ներն ավելի լավ են տեղավորվում նեթբուքի շրջանակներում՝ օպտիմիզացված և օգտագործողի համար հարմար ինտերֆեյսի և Atom չիպերի հետ ավելի լավ համատեղելիության շնորհիվ:

Android-ն օգտագործում է Linux միջուկը, բայց դա հենց այնպես Linux հարթակ չէ: Java ծրագրերը աշխատասեղան Linux-ից «Android» տեղափոխելու պարզ և հեշտ միջոց չկա: Android-ի Dalvik-ով աշխատելու համար գրված Java ծրագրերը նույնպես չեն կարող աշխատել սովորական Java մեքենաների վրա: Այս ամենը Android-ին դարձնում է ինչ-որ «կղզու» հարթակ:

Canonical-ը ստեղծում է Android-ի մասնագիտացված գործարկման ժամանակ, որը թույլ կտա Android ծրագրերին աշխատել Ubuntu-ում այնպես, ինչպես սովորական, բնիկ ծրագրերը գործարկվում են:

Android-ի այս գործարկման ժամանակի վերաբերյալ որոշ տեխնիկական մանրամասներ տրամադրվել են Canonical-ի մշակողներ Մայքլ Ֆրեյի և Դեբի Բելիվոյի կողմից: Մշակողները ստեղծեցին աշխատանքային նախատիպ և հաջողությամբ կազմեցին Ubuntu libc-ը Android libc-ի փոխարեն և ամեն ինչ գործարկեցին սովորական Ubuntu միջուկի վրա:

Նախատեսվում է նաև անջատել Android-ին հատուկ բոլոր բաղադրիչները, որոնք անհրաժեշտ չեն Ubuntu-ում ծրագրեր գործարկելու համար։

Binder կոչվող միջգործընթացային հաղորդակցության բարդ android համակարգը ճիշտ աշխատելու համար պահանջում է հատուկ դրայվեր: Այս դրայվերը խնդրահարույց է միացման համար, և, հետևաբար, նախատիպը օգտագործում է ժամանակավոր լուծում՝ Binder-ը շրջանցելու համար, սակայն մշակողները հույս ունեն, որ անհրաժեշտ patches-ը շուտով կօգնի շտկել իրավիճակը, և գործարկման ժամանակը էլ ավելի ճիշտ կաշխատի:

Մեկ այլ հիմնական խնդիր, որի հետ բախվում են մշակողները, շերտի անհրաժեշտությունն է, որը կօգնի Android-ի գործարկման ժամանակին մուտք գործել բնիկ ծառայություններ և սարքավորումներ: Մասամբ սկսվեց libwrap փաթաթում:

Բացի այդ, մշակողները որոշում են, թե ինչպես Ubuntu ֆայլային համակարգը հասանելի դարձնել Android ծրագրերին, որպեսզի օգտվողները կարողանան մուտք գործել թղթապանակներ և ֆայլեր:

Մշակողների ճանապարհին կան բազմաթիվ սահմանափակումներ և մարտահրավերներ, և թեև նախագիծը դեռ վաղ փուլերում է, և դեռ շատ աշխատանք կա անելու, արդեն կատարված աշխատանքը նշանակալի ձեռքբերում է:

Նախագծի սկզբնական կոդը դեռ հասանելի չէ, սակայն մշակողները նախատեսում են հնարավորինս շուտ հրապարակել այն։ Նրանք հույս ունեն, որ համայնքը կօգնի արագացնել զարգացումը և մեծացնել թափը:

Android հարթակը շատ գրավիչ է կոմերցիոն ծրագրային ապահովման վաճառողների համար, և այս ծրագրաշարը սովորական Linux բաշխման մեջ օգտագործելու հնարավորությունը կարող է շատ օգտակար լինել օգտատերերի համար:

Իմ անունից ավելացնեմ այն, ինչ, իմ կարծիքով, մնաց կուլիսներում։ Canonical-ն ուզում է, որ Ubuntu Touch-ը գործարկի Android ծրագրերը:Եթե ​​այդպես է, ապա դա կլինի ռումբ! Մայրենի, բնիկ Ubuntu Touch ծրագրեր և Android ծրագրերի կուտակված ուղեբեռն օգտագործելու հնարավորություն:

Մանրամասն քայլ առ քայլ հրահանգներ՝ Ubuntu-ում Android Studio-ի հետ օգտագործելու VirtualBox էմուլյատորի տեղադրման և օգտագործման համար: Առաջնային նպատակ. Օգտագործեք վիրտուալ սարք VirtualBox-ում՝ Android Studio-ից հավելվածներ մշակելու և գործարկելու համար:

Հատկապես կարևոր է օգտագործել Bluetooth ինտերֆեյսը VirtualBox վիրտուալ սարքում: շատ էմուլյատորներ չեն աջակցում այն: Օգտագործելով այս հրահանգը, դուք կարող եք միացնել վիրտուալ մեքենան համակարգչի Bluetooth ինտերֆեյսին:

1. VirtualBox-ի տեղադրում

VirtualBox-ը կարող է տեղադրվել Ubuntu Application Center-ի միջոցով: Տերմինալի միջոցով տեղադրելուց հետո ընթացիկ օգտագործողին ավելացրեք vboxusers խմբին, դա անհրաժեշտ է VirtualBox-ի միջոցով իրական USB սարքեր մուտք գործելու համար.

Sudo adduser օգտվողի անունը vboxusers

օգտվողի անունը Ubuntu-ի ներկայիս օգտագործողի անունն է:

Դրանից հետո դուք պետք է վերագործարկեք օգտվողի նիստը կամ վերագործարկեք:

2. VirtualBox վիրտուալ մեքենայի ստեղծում

Եկեք ստեղծենք կամայական անունով վիրտուալ մեքենա՝ հիմնված Linux / Other Linux (32-bit):



RAM-ը կկազմի 512 ՄԲ, ինչը միանգամայն բավարար է։
Հաջորդը, մենք կստեղծենք նոր վիրտուալ սկավառակ, ավելի լավ է օգտագործել առնվազն 2 ԳԲ, քանի որ համակարգը կզբաղեցնի մոտ 700 ՄԲ: Սկավառակի տեսակ VDI (VirtualBox Disk Image), ֆիքսված վիրտուալ կոշտ սկավառակ։

Եթե ​​ստեղծեք վիրտուալ սկավառակ, որը չափազանց փոքր է չափերով, կարող եք որսալ սխալը.
Անհաջողություն, վերաբերվում է վիրտուալ սկավառակի ծավալը մեծացնելով։

3. Android OS-ի տեղադրում

Android համակարգը տեղադրելուց առաջ ներբեռնեք դրա պատկերը android-x86.org կայքից։ Այս ձեռնարկը օգտագործում է պատկերը

Սկսենք ստեղծված վիրտուալ մեքենան։ Դրանից հետո ձեզ անմիջապես կառաջարկվի ընտրել boot disk, դուք պետք է ընտրեք ներբեռնված Android OS պատկերը iso ձևաչափով: Գործողությունների հաջորդականությունը սքրինշոթերով նկարագրված է ստորև:

Մենք ընտրում ենք համակարգի տեղադրումը.




Ստեղծեք բաժանմունք տեղադրման համար.




Ստորև բերված երկխոսության պատուհանում ընտրեք «Նոր» / «Հիմնական», թողեք վիրտուալ սկավառակի ամբողջական չափը, այնուհետև նշեք սկավառակը որպես «Բեռնարկվող», սեղմեք «Գրել» և «Դուրս գալ».




Այժմ մենք ընտրում ենք ստեղծված բաժինը համակարգը տեղադրելու համար.



Մենք ձևավորում ենք բաժանումը ext3-ում.








Մենք համաձայնում ենք տեղադրել GRUB bootloader-ը.




Մենք համաձայն ենք սահմանել կարդալու/գրելու թույլտվությունները ֆայլային համակարգի համար, սա ապագայում օգտակար կլինի.




Տեղադրումն ավարտված է, ստուգեք տեղադրումը՝ գործարկելով էմուլյատորը.




Երբ այն առաջին անգամ եք սկսում, դուք պետք է կարգավորեք Android ՕՀ-ը: Ձեզ հարկավոր չէ միանալ Wi-Fi-ի միջոցով, մուտքագրեք նաև ձեր Google հաշվի տվյալները:

4. Վիրտուալ մեքենայի կարգավորում

Նախքան կարգավորումները փոխելը, վիրտուալ մեքենան պետք է անջատվի:

Հիմնական պարամետրը, որը կարևոր է նշել, ցանցային միացման ռեժիմն է, մեզ անհրաժեշտ է «կամուրջ»: Քանի որ իմ դեպքում բոլոր սարքերը միացված են երթուղիչի միջոցով Wi-Fi-ի միջոցով, ես ընտրեցի wlan0 ինտերֆեյսը, ոչ թե eth0:


«Համակարգ» բաժնում դուք պետք է սահմանեք կուրսորային մանիպուլյատորի «PS / 2 մկնիկի» աշխատանքի ռեժիմը, մանիպուլյատորի այս ռեժիմում հարմար է աշխատել ԱՀ-ի հետ: Նույն ներդիրում կարող եք անջատել «Floppy» սարքը։

Օգտակար է լրացուցիչ ավելացնել վիդեո հիշողության չափը մինչև 32 ՄԲ «Ցուցադրել» բաժնում:

5. Վիրտուալ սարքի IP հասցեի ձեռքբերում

Մենք սկսում ենք վիրտուալ մեքենան և սպասում ենք ներբեռնման ավարտին:








Վիրտուալ սարքի IP հասցեն որոշելու համար հարկավոր է դրա մեջ գտնվող վահանակը գործարկել Alt + F1 համակցությամբ (կարող եք վերադառնալ GUI ռեժիմ Alt + F7 համակցությամբ): Վահանակում մուտքագրեք հրամանը.

Էկրանի վրա կհայտնվի հետևյալի նման ելք.




Մեզ անհրաժեշտ է eth0 ինտերֆեյսի IP հասցեի արժեքը, որի միջոցով մեր սարքը աշխատում է վիրտուալ մեքենայում:

6. Վիրտուալ Android սարքի միացում

Ubuntu տերմինալում գնացեք Android SDK տեղադրման գրացուցակ, գործիքներ բաժին, իմ օրինակում դա / opt / android-sdk-linux / platform-tools /:

Cd / opt / android-sdk-linux / platform-tools /

Դադարեցրեք adb-ը, դա անհրաժեշտ չէ, բայց որոշ դեպքերում անհրաժեշտ է.

./adb kill-server

Եկեք միացնենք վիրտուալ սարքը՝ օգտագործելով IP հասցեն, որը մենք վերջերս սովորեցինք՝ նշելով 5555 նավահանգիստը.

./adb Connect 192.168.1.65:5555

Տերմինալում ելքը մոտավորապես այսպիսին կլինի.




Հետագայում, համակարգիչը վերագործարկելուց կամ նիստը փոխելուց հետո, ձեզ հարկավոր կլինի նորից միանալ, բայց նույն IP հասցեով։ Այսինքն՝ բավական է մեկ անգամ կատարել վերջին հրամանը։

7. Գործող հավելվածներ VirtualBox էմուլյատորում

Փաստորեն, լրացուցիչ գործողություններ չեն պահանջվում, Android Studio-ում հավելվածը գործարկելուց հետո համակարգն ինքը կառաջարկի ցանկից ընտրել էմուլյատոր, որում ներկա կլինի նոր վիրտուալ սարքը։




Հաստատումից հետո սարքի էկրանին կհայտնվի նոր աղբյուրից հավելվածներ տեղադրելու հարցում.




Այժմ կարող եք աշխատել VirtualBox սարքերի հետ Android Studio-ում:

8. Իրական bluetooth սարքի օգտագործում VirtualBox էմուլյատորի միջոցով

Խնդիրը չափազանց արդիական է Android ծրագրավորողների համար, ովքեր մշակում են հավելվածներ Bluetooth-ի միջոցով հաղորդակցվելու համար։ Երկրորդ Android սարքը չգնելու համար կարող եք յոլա գնալ դրա վիրտուալ փոխարինմամբ։

Որպեսզի էմուլյատորը մուտք ունենա Bluetooth ադապտեր, ներկառուցված կամ արտաքին, դուք պետք է ավելացնեք ցանկալի սարքը հասանելիների ցանկում վիրտուալ մեքենայի կարգավորումներում, դա արվում է «USB» կարգավորումների ներդիրում.




Սարք ավելացնելու պատկերակը սեղմելուց հետո («+» նշանով) էկրանին կհայտնվի հասանելի սարքերի ցանկը, սովորաբար տեսախցիկ, bluetooth և wi-fi ադապտեր, քարտի ընթերցող և այլն:

Եթե ​​սարքերի ցանկը չի հայտնվում, ապա, ամենայն հավանականությամբ, համակարգի ներկայիս օգտվողը vboxusers խմբի անդամ չէ: Ինչպես դա շտկել, նկարագրված է հոդվածի սկզբում առաջին պարբերությունում:

Մենք ընտրում ենք ցանկալի սարքը և սկսում ենք վիրտուալ մեքենան:




Bluetooth ինտերֆեյսը հասանելի է կարգավորումներում: