Uaireannan aon ag iarraidh fhaicinn, agus dè an seòrsa a lìonadh ann an sònraichte a 'phrògram? Sin tha e air a chleachdadh cùl-innleadaireachd. Dè tha seo? Ciamar a dh'obraicheas e? Ciamar a tha am pròiseas seo? All seo bidh thu ag ionnsachadh bho an aiste seo.
Dè tha ann an cùl-innleadaireachd prògraman?
Mar sin ghairm a 'phròiseas iarrtais mion-sgrùdadh gus tuigsinn mar a tha i ag obair mar sin, san àm ri teachd gus ath-chruthachadh le bhith a' phròiseas seo a 'dèanamh an atharrachaidhean riatanach. Mar as trice air a chleachdadh airson an adhbhair seo debugger agus assembler. Crochadh air càileachd na bathar-bog a thèid a chleachdadh eadar-dhealaichte agus 'se toradh na h-ùine a bu chòir a bhith ga chosg air a thoirt ann an riochd àbhaisteach. Mìnich cùl-innleadaireachd airson luchd-tòiseachaidh an eisimpleir as fheàrr. Mar dheth a 'coileanadh iarrtas a sgrìobhadh airson Android. Leig a-nis a bhith a 'faighinn a-mach dè agus ciamar.
Ag obair le Android-iarrtasan
A 'chiad feumaidh sinn a bhith a' soilleireachadh cuid de phuingean. Tha iarrtas a 'cleachdadh an bytecode agus LogCat. Tha seo a 'co-aoisean ionadail a chaidh ainmeachadh roimhe debugger agus assembler. Tha e cuideachd riatanach a bhith a 'tuigsinn an structar na h-iarrtasan fhèin. Mar sin, tha gach prògram faidhle le leudachadh apk. Tha e loma-làn zip'om. Tha sinn a bheil ùidh ann a th 'ann - iarrtas goireasan, classes.dex agus AndroidManifest.xml. Ma tha thu a 'dèanamh phrògraman air Android, na cùisean leis a' bhocsa agus an dàrna Cha bu chòir a bhith. Ach classes.dex - phrògram seo Byte code a tha air a chur ri chèile gu sònraichte airson an inneal-mas-fhìor. Earrann bho aige Java chòd ri fhaotainn air an eadar-lìon nach eil a 'faighinn an airgid. Ach tha e comasach fhaighinn dalvik opcodes - sònraichte seata de àitheantan a tha air a chleachdadh airson an inneal-mas-fhìor. Airson samhlachais faodaidh sinn a ràdh gu bheil seo a 'chomhchruinnich ionadail tuil. Classes.dex cuideachd a dh'fhaodas a bhith air atharrachadh gu faidhle leis a 'phige. Fiù 's ann a leithid sin de chùis, gheibh thu Java-code dèidh decompilation, a bhios barrachd no nas lugha a ghabhas a leughadh. 'S e sin an t-slighe sinn a' dol.
decompilation
Bidh am pròiseas seo a dhèanamh a 'cleachdadh Apk Manger phrògram. Mus fhaigh thu thòisich, dèan cinnteach gu bheil an dràibhear ceart airson devaysa agus obraich USB-debugging modh. An toiseach, feumaidh sinn gluasad am faidhle a thèid a parsed a-steach Stiùireadh apk_manager \-àite apk--nall an-seo airson modding. Às dèidh sin, bu chòir dhut a ruith Script.bat. Ma tha duilgheadas sam bith, agus an uair sin a 'tòiseachadh a' chlàir, a bhios uaine litreachadh. Tagh an Puing àireamh a naoi - "Decompile". Aon uair 's am pròiseas a thòisich, tha e riatanach nach dùin Console. An uair sin, fosgailte ùidh apk-faidhle le archiver agus an earrann bhon e classes.dex, a bhith air an giullachd dex2jar phrògram. Airson dhuinn a tha a dhìth sin, tha e riatanach gus nì a ghluasad le leudachadh .bat. Chì thu am faidhle, a bhios ann an crìoch .jar. Gu ruige seo, tha an uinneag Chan eil dùin.
tha sinn a 'mhion-sgrùdadh dàta
Airson fiosrachadh fhaighinn mu dheidhinn an t-iarrtas, feumaidh tu fosgail e soilleir. A rèir e, sinn a 'dearbhadh gu bheil mar a' phrìomh obair. B 'i a' toirt a-nis as motha a cho cudromach dhuinn. Tha e cuideachd feumail a bhith a 'coimhead air aig a' bhonn a 'phrògraim. Ma tha a 'bhonn tha am fiosrachadh mun cead manaidsear, tha e gu mòr doirbh a dhèanamh a-mach cùl innleadaireachd. Ma tha thu atharrachadh gu JD-Gui agus a 'leudachadh a' chraobh, chì sinn grunn Ainm-spàsan. Smaoineachadh gu bheil an trì dhiubh. Anns a 'chiad tha na faidhlichean co-cheangailte ri sanasachd. Tha an dàrna a bhios a 'cheadachais manaidsear clasaichean. Anns an treas, tha sinn an dàta riatanach. Tha e nuair a bha sinn a 'dol. Chan feumaidh a lorg agus a thoirt air falbh iuchair, agus an uair sin a 'chòrr de na loidhnichean sin a dhearbhadh co dhiubh a bhith ag obair fo cheadachas dreach. Sin uile a dh'fheumas a bhith air a ghlanadh. An uair sin ann ar Apk Manaidsear a 'coimhead airson àite far a bheil àite a shònrachadh bytecode. A-nis leig dhuinn beag a dhèanamh digression agus beachd a thoirt a-mach an sgioba, a dh'fhaodadh a bhith duilgheadasan adhbhrachadh. Às dèidh sin, bidh sinn dìreach a chur ri chèile a 'phrògram.
tog iarrtasan
Cuidichidh seo dhuinn uile an aon Apk Manaidsear. Anns a 'chlàir, a tha nach eil sinn air an glasadh, tagh an nì a №14. An ath cleas. Ma tha an t-iarrtas caran toinnte, nuair a bhios tu a 'tòiseachadh, faodaidh e am pàirt no gu tur a' call a èifeachdais. Na gabh dragh, tha e a 'ciallachadh gu bheil sinn a mhàin a tha letheach-slighe sin agus an àiteigin eile airson a dhol. Tha sinn fhathast a tharraing a-mach cùl-innleadaireachd-uile aplacaidean Android. Ag ràdh, ciod a dhèanamh ann an cùis shònraichte, san fharsaingeachd, Och, tha e do-dhèanta. Uime sin, a 'coimhead airson fuasgladh sgìrean aca fhèin. Mar eisimpleir, ma bhios iarrtas uinneag bacadh a pop-up uinneig, bu chòir dhut a 'faicinn an còd a thoirt air falbh agus a' phàirt a tha an urra ris a 'chòmhradh seo. Gus cuideachadh le seo urrainn JD-Gui. Mar a chì sibh, an innleadaireachd a thilleadh e nach eil e furasta an gnìomhachas, agus tha e a 'cur feum air mòran eòlais. Fiù 's ma tha a h-uile càil a' ruith gun duilgheadas sam bith, bidh e riatanach gus deuchainn a dhèanamh air dèanadas de thagraidhean. Is e sin, an cùl-innleadaireachd a tha barrachd ùine a-caitheamh ghnìomhachd. Tha sinn fhathast ag obair gus na h-uile na duilgheadasan a tha air a chomharrachadh.
sàbhailteachd
Dè ma tha sinn feumach air dìon a h-uile Android-iarrtas bho chùl innleadaireachd? Anns a 'chùis seo, tha dà roghainn: cleachdadh na prògraman sònraichte no a' cruthachadh structar a 'chòd a bhios a' cur bacadh air a dhèanamh parsadh sgrìobhadh. Tha an dàrna roghainn a tha freagarrach a-mhàin proifeiseantaich eòlach, mar sin, bidh sinn a 'beachdachadh a-mhàin a' chiad dòigh dìon. Mar sònraichte a 'cleachdadh bathar-bog ProGuard. Iarrtas seo, a tha a 'cleachdadh a lùghdachadh, agus obfuscation code optimization. Ma 'phrògram "seilg" troimhe, tha sinn a' faighinn am faidhle le leudachadh * .apk nas lugha na bha e. Ann a leithid sin de chùis gum biodh e tòrr nas duilghe disassemble. Agus a 'bhuannachd a' phrògram seo tha fiù 's gu bheil e air a bhith a' toirt a-steach ann an togail Android iarrtasan le r9 ùrachaidhean. Uime sin, brath a ghabhail air e-leasachaidh sam bith aig a bheil an ìre de innealan cruthachadh agus a leasachadh.
co-dhùnadh
Chan urrainn dhuinn a ràdh a bheil an cùl-a ghabhas innleadaireachd a bhith air an riochdachadh mar rudeigin iteach math no dona. Gu dearbh, bho shealladh leasachaidh, a tha air a chruthachadh a-iarrtais, chan e tachartas sona. Ach air an làimh eile, ann an iomadh cùis eòlas-prògramaidh sgrìobhadh riatanach faidhlichean a bhith nas lugha ùine daoire na a 'cleachdadh a leithid de innealan. Ged airson Ùr-ionnsaiche-leasachaidh cùl-innleadaireachd urrainn render math seirbheis ma tha beachd sam bith air ciamar a chur an gnìomh rudeigin, eadhon eisimpleireach, agus nach eil buileach soilleir Cnàmhan a dh'fhaodas cuideachadh le bhith a 'coileanadh an amais seo.