Ohjelma tabletin vilkkumiseen img-laajennusohjelmistolla. Img firmwaren muokkaaminen. Ext4-järjestelmäkuvan purkaminen

MTwinTools on apuohjelma, jonka avulla voit käsitellä laiteohjelmistotiedostoja ja -kuvia boot.img, recovery.img ja system.img. Apuohjelman kirjoittaja on vin2809 4pda-foorumilta. MTwinTool on hyödyllinen omistajille Huawein älypuhelimet perustuu MTK-prosessoreihin.

Käyttöopas MTwinToolsin kanssa työskentelemiseen

1. Esittely.

1.1. Tarkoitus.

MTwinTools-työkalu on tarkoitettu MT-siruihin perustuvien laitteiden kuvien purkamiseen/kokoamiseen.

Se on rakennettu käytettäväksi komentorivi perustuu RKwinTools-työkaluun, joka on suunniteltu toimimaan RK29xx-RK31xx-sirujen ja joidenkin vapaasti jaettujen ohjelmien kanssa.

Toimii vain Windows 7:ssä ja sitä uudemmissa käyttöjärjestelmissä ilman CYGWINin asentamista, eikä myöskään vaadi ylimääräistä polkujen rekisteröintiä ympäristömuuttujat OS.

Työkalun avulla voit:

  • pura ja pakkaa Boot.img-kuva;
  • pura ja pakkaa Recovery.img-kuva;
  • pura ja pakkaa Kernel.img-kuva;
  • pura ja pakkaa System.img-tiedosto, sekä yaffs-tyyppi että ext2-ext4;
  • muuntaa harva tiedosto, jonka tyyppi on sparse, kuvaksi, jonka tyyppi on ext4;
  • laskea tiedoston tarkistussumma md5-muodossa;
  • käynnistää SuperUser.

1.2. MTwinToolsin asennus.
Työkalun asennus suoritetaan purkamalla arkisto missä tahansa sinulle sopivassa paikassa. Tämä luo MTwinTools-kansion, joka sisältää:

  • kansiot _In/, App/ ja Cygwin/;
  • sekä Readme.txt- ja menu.bat-tiedostot.

_In-kansio on tyhjä ja se on tarkoitettu sisältämään lähdekuvia käsittelyä varten. Sovellus/kansio sisältää joukon komentotiedostoja, jotka käsittelevät kuvia. Cygwin/-kansio sisältää vapaasti jaettavissa olevia apukirjastoja ja tiedostoja. Readme.txt-tiedosto sisältää käyttöohjeet, esim. teksti, jota parhaillaan luet. Menu.bat-tiedostoa käytetään MTwinTools-työkalun valikon luomiseen.

HUOMIO. Windows-käyttöjärjestelmän ympäristömuuttujien palvelutiedostojen käyttöpolkuja EI vaadita määrittämään.

Kun työskentelet, muut tarvittavat kansiot tulevat näkyviin:

  • Pack, joka sisältää käynnistys-, palautus- ja järjestelmätiedostot sen jälkeen
    paketit, md5-kansio, joka sisältää tiedostoja tarkistussummalla, sekä kansio
    Laiteohjelmisto, jonka Image-alikansiossa kootut käynnistystiedostot sijaitsevat,
    Palautus ja järjestelmä;
  • Pura pakkaus, jossa käynnistys-, palautus- ja järjestelmätiedostot on TÄYSIN purettu
    sijaitsee Firmware-kansiossa, Image-alikansiossa.

1.3. MTwinToolsin asennuksen poistaminen.

Työkalun asennus poistetaan poistamalla työkalun juurikansio, ts. MTwinTools-kansiot.

2. Työn perussäännöt.

2.1. Aloittaaksesi sinun on suoritettava menu.bat-tiedosto, joka käynnistää työkalun valikon.

2.2. Purkamiseen tarkoitetut kuvat tulee sijoittaa työkalun _In-kansioon. Syöttötiedostojen nimien TÄYTYY sisältää avainsanoja ja niillä voi olla seuraavanlaisia ​​nimiä:

  • *käynnistys*.img;
  • *palautus*.img;
  • *ydin*.img;
  • *järjestelmä*.img.

2.3. Kun käynnistät ensimmäisen kerran, alusta työkalu. Kun työkalu alustetaan, KAIKKI _In-kansiossa olevat tiedostot kopioidaan työskentelyn syöttökansioon Pura pakkaus/Firmware/Image. Tämä tehdään alkuperäisten tiedostojen säilyttämiseksi.

2.4.Kuvan purkamisen jälkeen sen sisältö sijoitetaan Pura-kansioon, johon luodaan seuraava kansiorakenne:

Boot(Recovery)/cfg/
ydin/
muistilevy/

Kansio cfg/ sisältää kuvaasetukset, ydinkansiosta löydät ytimen, ts. zImage-binääritiedosto, ja ramdisk-kansio sisältää kaiken muun. Kokoamaan kuvan, sen osat, esim. Sijoita muistilevy, ydin ja mahdollisesti asetukset asianmukaisiin kansioihin Unpackissa. Luotu kuva sijaitsee Pack output -kansiossa.

3. Tuotteen kuvaus.

3.1. Pääkomentovalikko.

Työkalukomentojen päävalikko näyttää tältä:

**************************
* MTwinTools_V_0.6 *
**************************
*Kuvakomennot:*
* ————— *
*1-Boot*
*2-Toipuminen*
*3-ydin*
*4-järjestelmä*
*5-Muut komennot*
* *
**************************
* Tools komennot: *
* ————— *
*6-init-työkalut*
*7-Puhdas*
* *
**************************
*8-Poistu*
**************************
Ole hyvä ja valitse komento:

Komento valitaan syöttämällä sen edessä oleva numero. Nykyisessä versiossa voit tehdä seuraavaa:

— Siirry käynnistyskuvankäsittelyvalikkoon kirjoittamalla numero "1";
— siirry Palautuskuvankäsittelyvalikkoon — “2”;
— mene Ytimen kuvankäsittelyvalikkoon — “3”;
— mene Järjestelmän kuvankäsittelyvalikkoon — “4”;
— siirry muiden komentojen valikkoon — “5”;
- alusta työkalun työalue - "6";
- puhdista tuotteen työalue - "7";
- suorittaa työ valmiiksi, ts. poistu laitoksesta - "8".

3.2. Käynnistys valikko.

Jatka käynnistyskuvan käsittelyä suorittamalla "1-Boot" -komento. Tämä vie sinut "Käynnistyskomennot" -valikkoon.

Käynnistyskuvankäsittelyvalikko näyttää tältä:

**************************
* Käynnistyskomennot: *
* ————— *
*1-Boot purkaminen*
*2-boot pack*
* *
**************************
*3-Paluu*
**************************
Ole hyvä ja valitse komento:

Komento "1" purkaa käynnistyskuvat, komento "2" pakkaa käynnistyskuvat. Komento “3” palaa työkalun päävalikkoon.

2.2.1. Boot.img-kuvan purkaminen.

2.2.2. Rakenna boot.img-kuva.

Kun rakennat käynnistyskuvaa, näkyviin tulee valikko tietolähteen valintaa varten.

**************************
* Valintalähdekuva: *
* 1. Pura dir *
* 2. Pakkauskansio *
*3.Paluu*
**************************
Ole hyvä ja valitse lähde:

Sinulla on mahdollisuus rakentaa kuva Unpack/Boot-kansiossa olevasta pakkaamattomasta kuvasta, valitse valikkokohta "1. Pura dir.” Jos valitset valikkokohdan "2. Pack dir", kuva luodaan Pack/boot-kansiossa olevista tiedoista. Peruuta toiminto valitsemalla valikkokohta "3. Palata". Samalla sinä
palaa "Boot commands" -valikkoon.

3.3. Palautusvalikko.

Jatka palautuskuvan käsittelyä suorittamalla "2-Recovery" -komento. Tämä vie sinut "Palautuskomennot" -valikkoon. Palautuskuvankäsittelyvalikko näyttää tältä:

**************************
* Palautuskomennot: *
* —————— *
* 1 - palautuspakkaus *
* 2-palautuspaketti *
* *
**************************
*3-Paluu*
**************************
Ole hyvä ja valitse komento:

Komento "1" purkaa palautuskuvat, komento "2" pakkaa palautuskuvat. Komento “3” palaa työkalun päävalikkoon.
2.3.1. Recovery.img-kuvan purkaminen.

Kaikki toiminnot suoritetaan automaattisesti, ts. Ilman osallistumistasi täällä ei ole mitään kuvattavaa.

2.3.2. Rakenna recovery.img-kuva.

Palautuskuvaa luotaessa näkyviin tulee valikko tietolähteen valitsemista varten.

**************************
* Valintalähdekuva: *
* 1. Pura dir *
* 2. Pakkauskansio *
*3.Paluu*
**************************
Ole hyvä ja valitse lähde:

Sinulla on mahdollisuus rakentaa kuva Pakkaa/palautus-kansiossa olevasta pakkaamattomasta kuvasta, valitse valikkokohta ”1. Pura dir.” Jos valitset valikkokohdan "2. Pack dir", kuva luodaan Pack/Recovery-kansiossa olevista tiedoista.

Peruuta toiminto valitsemalla valikkokohta "3. Palata". Tämä palauttaa sinut "Palautuskomennot" -valikkoon.

3.4. Ytimen valikko.

Jatka ytimen kuvan käsittelyä suorittamalla "3-Kernel" -komento. Tämä vie sinut "Ytimen komennot" -valikkoon.

Ytimen kuvankäsittelyvalikko näyttää tältä:

**************************
* Ytimen komennot: *
* —————— *
* 1-ytimen purkaminen *
*2-ydinpaketti*
* *
**************************
*3-Paluu*
**************************
Ole hyvä ja valitse komento:

Komento "1" purkaa ytimen kuvat, komento "2" pakkaa ytimen kuvat. Komento “3” palaa työkalun päävalikkoon.

3.4.1. Kernel.img-kuvan purkaminen.

Kaikki toiminnot suoritetaan automaattisesti, ts. Ilman osallistumistasi täällä ei ole mitään kuvattavaa.

3.4.2. Kernel.img-kuvan rakentaminen.

Ytimen näköistiedostoa rakennettaessa näkyviin tulee valikko tietolähteen valintaa varten.

**************************
* Valintalähdekuva: *
* 1. Pura dir *
* 2. Pakkauskansio *
*3.Paluu*
**************************
Ole hyvä ja valitse lähde:

Sinulla on mahdollisuus rakentaa kuva Unpack/Kernel-kansiossa olevasta pakkaamattomasta kuvasta, valitse valikosta kohta ”1. Pura dir.” Jos valitset valikkokohdan "2. Pack dir", kuva luodaan Pack/Kernel-kansiossa olevista tiedoista.

Peruuta toiminto valitsemalla valikkokohta "3. Palata". Tämä palauttaa sinut "Ytimen komennot" -valikkoon.

3.5. Valikkojärjestelmä.

Jatka järjestelmäkuvan käsittelyä suorittamalla "3-System" -komento. Tämä vie sinut "Järjestelmäkomennot" -valikkoon.

Järjestelmän kuvankäsittelyvalikko näyttää tältä:


* Järjestelmäkomennot: *
* ——————————————— *
* 1-pack yaffs * 2-pack yaffs *
* 3-pakkaus ext3 * 4-pakkaus ext3 *
* 5 pakkausta ext4 * 6 pakkausta ext4 *
* 7-harva - ext4 * *
* * *
***************************************************
*8-Paluu*
***************************************************
Ole hyvä ja valitse komento:

3.5.1. Järjestelmäkuvan purkaminen kuten yaffs.

"1"-komento purkaa yaffs-tyypin järjestelmäkuvat Pura/Järjestelmä-kansioon.

3.5.2. Järjestelmäkuvan rakentaminen kuten yaffs.

Komento “2” pakkaa yaffs-tyyppiset järjestelmäkuvat. Näyttöön tulee valikko tietolähteen valitsemista varten.

**************************
* Valintalähdekuva: *
* 1. Pura dir *
* 2. Pakkauskansio *
*3.Paluu*
**************************
Ole hyvä ja valitse lähde:

Sinulla on mahdollisuus rakentaa kuva Unpack/system-kansiossa olevasta pakkaamattomasta kuvasta, valitse valikosta kohta ”1. Pura dir.” Jos valitset valikkokohdan "2. Pack dir", kuva luodaan Pack/system-kansiossa olevista tiedoista.

Peruuta toiminto valitsemalla valikkokohta "3. Palaa" ja palaat edelliseen "Järjestelmäkomennot" -valikkoon.

3.5.3. Ext3-tyyppisen järjestelmäkuvan purkaminen.

Komento “3” purkaa järjestelmäkuvat, joiden tyyppi on ext2-ext3, Pura/Järjestelmä-kansioon.

3.5.4. Ext3-tyyppisen järjestelmäkuvan rakentaminen.

Komento "4" muodostaa järjestelmävedon, jonka tyyppi on ext2-ext3. Pakkaus suoritetaan samalla tavalla kuin kohdassa 3.5.2. vain tulosteen kuva on tyyppiä ext3.

3.5.5. Ext4-tyypin järjestelmäkuvan purkaminen.

"5"-komento purkaa ext4-järjestelmäkuvat Pura/Järjestelmä-kansioon.

3.5.6. Ext4-tyyppisen järjestelmäkuvan rakentaminen.

Komento "6" muodostaa ext4-tyypin järjestelmäkuvan. Pakkaus suoritetaan samalla tavalla kuin kohdassa 3.5.2. vain tulosteen kuva on tyyppiä ext4.

3.5.7. Muunna harva pakattu kuva ext4:ksi.

"7"-komento muuntaa (muuntaa tai transkoodaa) harvaan tyyppiset pakatut kuvat ext4-tyyppisiksi kuviksi (analogisesti simg2img-toiminnon kanssa).

3.5.8.Palaa päävalikkoon.

Komento “8” palaa työkalun päävalikkoon.

3.6. Muiden komentojen valikko.

Jatka muiden komentojen suorittamiseen suorittamalla "5-Other commands" -komento. Tämä vie sinut "Muut komennot" -valikkoon. Valikko muiden komentojen suorittamista varten näyttää tältä:

**************************
* Muut komennot: *
* —————- *
*1-Init SuperUser*
* 2-Laske md5 *
* *
**************************
*3-Paluu*
**************************
Ole hyvä ja valitse komento:

Komento "1" alustaa SuperUserin järjestelmäkuvassa, komento "2" laskee tiedoston tarkistussumman. Komento “3” palaa työkalun päävalikkoon.

3.6.1. SuperUseria alustetaan.

Kun SuperUser alustetaan, lähteen valintavalikko tulee näkyviin:

**************************
* Lähteen valinta: *
* 1. Pura dir *
* 2. Pakkauskansio *
*3.Paluu*
**************************
Ole hyvä ja valitse lähde:

Sinulla on mahdollisuus alustaa purettu kuva, joka sijaitsee Unpack/system-kansiossa, valitsemalla valikosta 1. Pura dir.” Jos valitset valikkokohdan "2. Pack dir", sitten Pack/system-kansiossa oleva kuva alustetaan. Peruuta toiminto valitsemalla valikkokohta "3. Palata".
Alustus tehdään kopioimalla tarvittavat tiedostot(su ja SuperSU.apk) purettuun System.img-tiedostoon. Pääkäyttäjän käyttöoikeuden saamiseksi tarvitset:

— pura järjestelmäkuva päävalikon komennolla "3".
työkaluja tai sijoita pakkaamaton kuva Unpack (tai Pack)/System/ -kansioon;
— suorita komento "1-init SuperUser" "Others commands" -valikossa.

System.img-kuvan vilkkumisen jälkeen sinulla on pääkäyttäjän oikeudet laitteellesi. Jos eri version tiedostoja käytetään pääkäyttäjän oikeuksien hankkimiseen laitteellesi, sinun tarvitsee vain päivittää (korvaa) su- ja SuperSU.apk-tiedostot App/-kansiossa.

3.6.2. Tarkistussumman laskeminen.

Voit laskea tiedoston tai tiedostojen tarkistussumman sijoittamalla ne Pack/md5/-kansioon. "2-Calculate md5" -komennon suorittamisen jälkeen kaikki Pack/md5-kansiossa olevat tiedostot lisätään tarkistussumma, laskettu md5-algoritmilla. Vain tiedostot, joilla ei ole tunnistetta tai joiden tunniste on .img, .tar, .zip, käsitellään.

3.7. Alustus.

Suorita alustus suorittamalla "6-init Tools" -komento. Tämä luo kaikki tarvittavat kansiorakenteet, jotta MTwinTools toimii ja kopioi syöttökuvat työkansioon Pura/Firmware/Image.

3.8. Tuotteen puhdistaminen.

Tyhjennä työalue kirjoittamalla "7-CLEAN". Tässä tapauksessa KAIKKI lisäkansiot sisältöineen poistetaan, MTwinTools suorittaa työnsä ja ottaa sen muodon välittömästi asennuksen jälkeen.

3.9. Poistu.

Poistu valitsemalla "8-Exit". Tässä tapauksessa VAIN tuote tulee ulos ilman puhdistusta.

Interpolointi, interpolointi- laskennallisessa matematiikassa menetelmä suuren väliarvojen löytämiseksi olemassa olevasta diskreetistä tunnettujen arvojen joukosta.

Monien tieteellisten ja teknisten laskelmien parissa työskentelevistä on usein käytettävä empiirisesti tai satunnaisotannalla saatuja arvosarjoja. Pääsääntöisesti näiden joukkojen perusteella on tarpeen rakentaa funktio, johon muut saadut arvot voivat pudota suurella tarkkuudella. Tämä tehtävä on ns likiarvo. Interpolointi on eräänlainen approksimaatio, jossa konstruoidun funktion käyrä kulkee tarkalleen käytettävissä olevien datapisteiden läpi.

On olemassa monia äärellisen eron interpolointimenetelmiä. Suurin osa
Newtonin menetelmä eteenpäin interpoloimiseksi (Newton-Gregory-menetelmä) on yleinen. Interpolaatiopolynomilla on tässä tapauksessa muoto:

Löydämme kertoimet C kaavalla:

Ohjelman toteutus C#:lla:
käyttämällä järjestelmää; nimiavaruuden interpolointi ( luokka Ohjelma…

Lajittelualgoritmien visualisointi

Ohjelma on jaettu kahteen säikeeseen, joista toisessa suoritetaan lajittelu ja toisessa uudelleenpiirtäminen GUI. Napsautettuaan ”Lajittele”-painiketta ohjelma kutsuu ”RunSorting”-menetelmän, jossa määritellään lajittelualgoritmi ja luodaan uusi säie, jossa lajitteluprosessi on käynnissä.
yksityinen void RunSo…

Kacher Brovina KT819G:ssä

Tänään haluan näyttää Kacherini, jonka tein viime talviloman aikana. En kuvaile koko valmistusprosessia, koska Internetissä on monia artikkeleita. Kirjoitan vain sen tärkeimmistä parametreista.

Alla on muutamia kuvia, jotka on otettu laitteen kokoamisen aikana.

Kela on kierretty noin 2000 kierrosta 0,08 mm lankaa PVC-putkeen, jonka halkaisija on 50 mm ja korkeus 200 mm.

Terminaalina käytettiin vanhan levyä. kovalevy. Kaikki muu koottiin sivun alareunassa olevan kaavion mukaan.

Ensimmäinen vaihtoehto sai virtaa vanhan tietokoneen virtalähteestä, jännitteellä 12 V. Sitten tehtiin erillinen virtalähde, 30 V jännitteellä ja sisäänrakennetulla jäähdytyksellä.

Laitekaavio:

Mikä on CORS ja miten sitä käytetään

Verkkotunnusten välinen resurssien jakaminen (CORS) on W3C-spesifikaatio, joka mahdollistaa verkkotunnusten välisen viestinnän selaimessa. Rakentamalla XMLHttpRequest-objektin päälle CORS antaa kehittäjille mahdollisuuden työskennellä samojen ilmaisujen kanssa kuin saman toimialueen pyynnöt. CORSin käyttötapa on yksinkertainen. Kuvittele, että alice.comilla on tietoja, jotka bob.com haluaa saada. Tämäntyyppisiä pyyntöjä ei perinteisesti sallita saman selaimen alkuperäkäytännön mukaisesti. Tukemalla CORS-pyyntöjä alice.com voi kuitenkin lisätä erityisiä vastausotsikoita, joiden avulla bob.com voi käyttää tietoja. Kuten tästä esimerkistä näet, CORS-tuki vaatii koordinointia palvelimen ja asiakkaan välillä. Onneksi, jos olet asiakaspuolen kehittäjä, olet suojassa useimmilta näiltä yksityiskohdilta. Tämän artikkelin loppuosa näyttää, kuinka asiakkaat voivat suorittaa eri lähteiden pyyntöjä ja kuinka palvelimet voivat määrittää itsensä tukemaan CORS:ää. Jatkui…

Melkein kaikki android käyttäjäälypuhelimeen, haluttiin luoda tai muokata laiteohjelmisto tarpeidesi ja toiveidesi mukaan. Tässä artikkelissa tarkastellaan CWM-ohjelmiston muokkausperiaatetta (zip-muodossa).

Valmistautuminen:

Ensinnäkin meidän on päätettävä, mitä laiteohjelmistoa käytämme perustana. On parempi käyttää pois. laiteohjelmisto zip-muodossa. Lähes jokaiselle yleiselle laitteelle on puhdas laiteohjelmisto + juuri.
Kun laiteohjelmisto on valittu, se on ladattava mihin tahansa sinulle sopivaan paikkaan tietokoneellasi (pakkausta ei tarvitse purkaa).
Tarvitsemme myös arkistaattorin, suosittelen käyttöä 7zip ja parasta laatuaan tekstieditori Muistio++.

Laiteohjelmiston rakenne:

Kun avaat arkiston laiteohjelmistolla, näet seuraavan:
META-INF- Kansio sisältää laiteohjelmiston asennuskomentosarjat.
järjestelmä- kansio, jossa on kaikki laiteohjelmistotiedostot (sovellukset, säädöt, komentosarjat jne.).
boot.img- järjestelmän ydin.

Lähes kaikki käsittelyt suoritetaan kansiossa järjestelmä, sen rakenne:
sovellus- järjestelmäsovellukset.
roskakori- itse järjestelmän resurssit.
jne- Skriptit, säädöt, konfiguraatiot, profiilit ja järjestelmäasetukset.
fontit- Järjestelmäfontit.
puitteet- tärkeimmät järjestelmätiedostot on tallennettu tähän (grafiikka, animaatiotekstiasetukset jne.).
lib- järjestelmäkirjastot.
media- multimediatiedostot (ilmoitussoittoäänet, latausanimaatiot, taustakuvat jne.).
usr- asetukset, joita järjestelmä ei voi muuttaa tulevaisuudessa (ne toimivat vain luku -tilassa).
xbin- jälleen järjestelmän asetukset ja muut säädöt.
build.prop- tiedot järjestelmästä, kieliasetuksista ja järjestelmän suorituskyvystä.

Sovellukset:

Ennen kuin lisäät/poistat ohjelmistoja järjestelmään, sinun on tarkistettava, onko laiteohjelmistosi deodeksoitu (eli tarkista, onko sovelluskansiossa .odex-tiedostoja. Jos tiedostoja on, sinun on poistettava ne tämän avulla ohjeet .
Lisää ohjelmisto laiteohjelmistoon:
Ensinnäkin sinun on asennettava älykkääseen ne ohjelmat, jotka haluat lisätä kokoonpanoon. Asennuksen jälkeen poistamme ne järjestelmästä käyttämällä Root Explorer ja sen analogit, ne sijaitsevat data/sovelluspolulla, tarvitsemme myös niiden libsit (jos niitä on tietysti), ne sijaitsevat data/datapolulla. Ne sijaitsevat sovelluksen samannimisessä kansiossa ja niillä on tunniste .niin. Sitten takavarikoitiin .apk laita tiedostot arkistoon polun järjestelmään/sovellukseen ja tiedostot tunnisteella .niin(libs) polkua pitkin system/lib .
Poistamme ohjelmiston laiteohjelmistosta:
Kaikki on yksinkertaista täällä, siirry kansioon sovellus- päätämme mitä emme tarvitse ja poistamme kaikki tarpeettomat ohjelmistot (on parempi olla koskematta järjestelmään).

Kieli ja laiteohjelmistoversio:

Kopioi build.prop-tiedosto työpöydällesi. Avaa se muistilehtiöllä ja etsi rivit:

ro.product.locale.language=en
ro.product.locale.region=US

venäjän kielelle sinun on tehtävä tämä:

ro.product.locale.language=en
ro.product.locale.region=RU

kirjoita modisi nimi riville

samassa rakennuksessa.prop

Grafiikka:

Laiteohjelmiston koko graafinen osa on tallennettu kahteen tiedostoon framework-res.apk tiedostopolku järjestelmäkehys ja SystemUI.apk matkan varrella järjestelmäsovellus. Ja asetussovelluksen graafinen osa on luonnollisesti tallennettu Settings.apk-sovellukseen.

Skriptit ja parannukset (järjestelmän kiihdytys ja optimointi):

Suurin osa asetuksista on tehty tiedostossa build.prop, voit lukea tästä. Myös, jos ytimesi tukee init.d järjestelmän optimointia varten on useita komentosarjoja, joista yksi kuvataan tässä artikkelissa (RAM-optimointi) ja tässä artikkelissa Säädä skriptejä init.d:lle

Järjestelmäfonttien vaihtaminen:

Kuten edellä mainittiin, kaikki fontit ovat kansiossa fontit, tärkeimmät kirjasimet ovat: DroidSans.ttf ja DroidSans-Bold.ttf ne voidaan korvata millä tahansa fonteilla nimeämällä ne uudelleen samalla tavalla kuin edellä ja siirtämällä korvaamalla arkistoon kansiossa olevan laiteohjelmiston kanssa fontit.

Ydin:

Teoriassa se riittää vaihtamiseen boot.img oma, mutta joissain tapauksissa ytimiin liittyy lisäskriptejä. Siksi suosittelen, että et tee mitään, jos sinulla on epäilyksiä.



Aloitetaan siitä, että tarvitset Linuxin. Windowsissa voit vain purkaa laiteohjelmiston, mutta et voi koota sitä uudelleen puhtaasti teknisistä syistä. Nyt laiteohjelmistosta. Ne jaetaan yleensä ZIP-arkistojen muodossa, jotka on päivitetty mukautetun palautuksen kautta. Se on yksi niistä, jota tarvitsemme kokeisiin. Suosittelen, että aloitat romodellin polun jostain mahdollisimman lähellä AOSP:tä mukautettu laiteohjelmisto, koska se on usein helpompi ymmärtää kuin varastossa.

  1. Pura laiteohjelmiston sisältävä arkisto mihin tahansa kansioon.
  2. Lataa skripti linkistä ja pura se mihin tahansa kansioon.
  3. Käynnistämme ext-tiedoston (jos se valittaa Javan puutteesta, ohita painamalla y; Javaa tarvitaan vain pakkaamiseen).
  4. Valitse nyt pakkauksen purkaminen painamalla painiketta 1 ja sitten Enter.
  5. Ext-tiedoston ja työkalut-kansion viereen ilmestyy uusi kansio nimeltä extract_*. Kopioi tiedostot system.new.dat ja system.transfer.list siihen.
  6. Kun olet kopioinut tiedostot, paina Enter ja odota. Jonkin ajan kuluttua sinun on painettava Enter-näppäintä uudelleen, syötettävä järjestelmänvalvojan salasana ja painettava Enter-näppäintä uudelleen.
  7. Valmis. Järjestelmän sisältö on Extract_*/output-kansiossa.

Manuaalinen menetelmä

Pura laiteohjelmiston sisältävä arkisto mihin tahansa kansioon (esimerkiksi rom):

$ mkdir ~/rom $ pura polku arkistoon -d ~/rom/

Lataa tarvitsemamme työkalut tähän kansioon:

$ cd ~/rom $ wget https://github.com/xpirt/sdat2img/raw/master/sdat2img.py

Suoritetaan skripti:

$ chmod +x sdat2img.py $ ./sdat2img.py system.transfer.list system.new.dat system.img

Se muuntaa system.new.dat-tiedoston raakakuvaksi nimeltä system.img. Liitä kuva mnt-alikansioon:

$ mkdir mnt $ sudo mount -t ext4 -o loop system.img ~/rom/mnt

Android-hakemistorakenne

Järjestelmän purkamisen jälkeen näkyviin tulee seuraava hakemistorakenne:

  • sovellus - esiasennetut sovellukset tavallisilla oikeuksilla;
  • yksityinen sovellus- esiasennetut sovellukset korotetuilla oikeuksilla, mukaan lukien jotkin järjestelmäkomponentit;
  • roskakori- binääritiedostot ELF-muodossa, analogi Linuxin /bin- ja /usr/bin-hakemistoille. Sisältää erilaisia ​​järjestelmäkomponentteja, joita ylemmän tason järjestelmäkomponentit käyttävät;
  • jne- asetustiedostot. Täydellinen /etc-analogi Linuxissa, jota kuitenkin käyttävät vain samat järjestelmäkomponentit. Android-sovellukset tallentaa yksittäisiä asetuksia/data/data/-hakemistoissa;
  • fontit- fontit. Oletusarvoisesti se sisältää vain Roboto-merkkisiä fontteja;
  • puitteet- järjestelmän ja sovellusten käyttämät Java-luokkien kirjastot. Siellä on myös tiedosto framework-res.apk, joka sisältää täydellisen kuvauksen käyttöliittymästä käyttöjärjestelmä, mukaan lukien kaikki grafiikkatiedostot;
  • lib Ja lib64- Linux-kirjastot, joita käyttävät matalan tason järjestelmäkomponentit. Analogi /lib- ja /usr/lib-hakemistoista Linuxissa, mukaan lukien seuraavat vakiokirjastot, kuten libc, libz, libssl. Laitteissa, joissa on ARMv7-arkkitehtuuri tai vanhempi, lib64-hakemisto puuttuu;
  • media- Mediatiedostot: soittoäänet, ilmoitusäänet, käyttöliittymääänet ja käyttöjärjestelmän latausanimaatio;
  • tts- puhesyntetisaattorin tarvitsemat tiedostot;
  • usr- hakemisto, joka sisältää yleensä tiedostoja, joita tarvitaan sovellusten suorittamiseen bin-hakemistosta. Pohjimmiltaan /usr/share:n analogi;
  • myyjä- laitteen valmistajan toimittamat tiedostot. Yleensä sisältää binaarisen laiteohjelmiston eri laitteistokomponenteille, esimerkiksi Wi-Fi-moduulille;
  • xbin- valinnainen hakemisto; mukautetut laiteohjelmistot käyttävät sitä tallentamaan asioita, kuten bash-tulkki, SSH, PowerTOP, BusyBox ja muut hyödylliset työkalut;
  • build.prop- tiedosto, joka sisältää tietoja kokoonpanosta sekä erilaisia ​​matalan tason asetuksia;
  • addon.d- sisältää komentosarjoja, jotka käynnistetään laiteohjelmiston asennuksen jälkeen. GApps kirjoittaa myös skriptinsä tänne, minkä ansiosta ne heräävät henkiin laiteohjelmiston uudelleenasennuksen jälkeen.

Nyt kun tunnemme Androidin perusrakenteen, aloitetaan muutosten tekeminen.

Sovellusten poistaminen ja lisääminen

Kaikki esiasennetut ohjelmat löytyy kahdesta kansiosta:

  • /järjestelmä/sovellus/;
  • /system/priv-app/.

Ne eroavat toisistaan ​​käyttöoikeuksissa. Jos sovelluksen ohjelmilla on samat käyttöoikeudet kuin kolmannen osapuolen ohjelmia(esimerkiksi asennettuna Play Kaupasta), yksityissovelluksen sovellukset voivat käyttää etuoikeutettuja sovellusliittymiä (etuoikeutettuja oikeuksia). Voit oppia tästä lisää osoitteesta.

Jos haluat esiasentaa sovelluksen laiteohjelmistoon, pudota sen APK-tiedosto hakemistoon /system/app/. Voit tietysti luoda erillisen kansion, mutta meidän tapauksessamme tämä ei ole järkevää, koska kansiota käytetään kirjastojen ja odex-tiedostojen tallentamiseen, joita meillä ei yksinkertaisesti ole. Voit poistaa sen poistamalla sen sisältävän kansion.

Voit mennä pidemmälle ja korvata varastosovellukset analogeilla. Jos esimerkiksi haluat korvata kalenterin, poista kansio Kalenteri ja kopioi suosikkimme com.rpagyc.simplecalendar.apk kansioon /system/app. Ja sinun ei tarvitse kopioida sitä. Tällöin laiteohjelmisto on ilman kalenteria.

Tärkeintä on muistaa, että osakeohjelmat voivat olla yhteydessä toisiinsa. Siksi yhden ohjelman poistaminen voi hyvinkin johtaa toisen täydelliseen toimintakyvyttömyyteen (esimerkiksi CalendarProvider ja Calendar: poistamalla ensimmäisen teet toimimattomaksi paitsi osakekalenterin myös kaikki muut kalenterit). Onneksi puhtaassa AOSP-laiteohjelmistossa ei ole paljon keskinäisiä yhteyksiä.

Latausanimaatiota muutetaan

Animaatio tallennetaan PNG-kuvina, pakattuna arkistoon /system/media/bootanimation.zip ilman pakkausta. Arkiston sisällä on:

  • desc.txt- animaatiota kuvaava tiedosto;
  • osa0- kansio animaatiotiedostoilla, jotka toistetaan ensin;
  • osa 1- kansio animaatiotiedostoilla, jotka toistetaan toisena;
  • osa?- viimeinen kansio, jonka kuvat toistetaan lopussa.

desc.txt-tiedosto saattaa sisältää jotain tällaista

1920 1080 60 p 1 0 osa0 p 0 0 osa1

Näiden viivojen tarkoitus on intuitiivinen: 1920 × 1080 on kuvan resoluutio, 60 on ruutujen määrä sekunnissa. Osa0 ja osa1 osoittavat kansiot, joista animaatio toistetaan, ja toistojärjestyksen. Yleensä niitä voi olla joko yksi tai useampi (kolme tai useampi).

Osakansioissa olevat kuvat on numeroitu viidellä numerolla toistojärjestyksessä: 00000.png, 00001.png, 00002.png... Nämä kuvat voidaan korvata omilla kuvillasi, jolloin syntyy alkuperäinen animaatio. Tai voit yksinkertaisesti poistaa bootanimation.zip-tiedoston. Sitten laite näyttää animaation kohteesta tavallinen Android. Tai käytä valmiita animaatioita osoitteessa w3bsit3-dns.com.

Äänisuunnittelun muuttaminen

Itse asiassa kaikki järjestelmän toistamat äänet tallennetaan kansioon /system/media/audio. Sen sisältä löydät seuraavat kansiot:

  • hälyttimet- herätyskellon melodiat;
  • ilmoituksia- ilmoitusäänet;
  • soittoääniä- soittoäänet;
  • ui- järjestelmän äänet, kuten akun heikko varaus, kameran tarkennus, käyttöliittymäelementtien valinta.

Hälytyksiin, ilmoituksiin ja soittoääniin voit lisätä niin monta melodiaa kuin haluat. Voit ottaa ne esimerkiksi täältä:

  • vakiosoittoäänet eri Nokia-puhelimista ja älypuhelimista;

Ja pieni elämänmurto: tiedostojen poistaminen ui-kansiosta ei johda kaatumisiin ja virheisiin, vaan järjestelmääänien katoamiseen. Siksi voit helposti sammuttaa äänen, kun otat kuvan kamerasta tai otat kuvakaappauksen, yksinkertaisesti poistamalla näitä ääniä sisältävät tiedostot (niiden nimet ovat intuitiivisia).

Fossien lisääminen

Fontit tallennetaan kirjasimiin. Löydät arkistot fonttitiedostoja osoitteesta w3bsit3-dns.com ja XDA. Asenna vain kopioimalla ja korvaamalla ttf-tiedostot arkistosta fontit-kansioon.

Järjestelmäasetusten muuttaminen (build.prop)

Järjestelmäkuva sisältää mielenkiintoisen build.prop-tiedoston, joka sisältää paljon hyödyllistä tietoa laitteen laitteistosta ja oletusasetuksista eri varastosovelluksiin. Ollakseni rehellinen, huomautan, että näin ei aina ole. Esimerkiksi Gigaset ME:ssä ja ME Prossa build.prop on jaettu kahteen osaan. Yksi osa sisältää Gigaset ME:n asetukset, ja ME Pron jotkin linjat ovat päällekkäisiä, mutta näppäimet (älypuhelimen nimi jne.) ovat erilaisia. Tämä tehtiin sen varmistamiseksi, että sama laiteohjelmisto toimii enemmän tai vähemmän oikein eri laitteissa.


Build.prop sisältää (tai voi sisältää) valtavan määrän asetuksia. Jotkut niistä eivät muuta mitään, jotkut parantavat yhtä asiaa toisen kustannuksella, mutta on niitä, jotka ovat todella hyödyllisiä:

  • ro.product.model Ja ro.product.manufacturer- älypuhelimen malli ja valmistajan nimi. Korvaamalla nämä rivit voit saada Play Kaupan ajattelemaan, että sinulla on toinen älypuhelin, joka avaa pääsyn useampaan ohjelmistoon. Kaikille vähän tunnetuille Kiinalaiset älypuhelimet näistä linjoista voi tulla hengenpelastus;
  • hw.qemu.mainkeys- ottaa vain kaksi arvoa: 0 - näytä näytön navigointinäppäimet, 1 - älä näytä painikkeita. Viivan puuttuminen vastaa 0:ta;
  • debug.sf.nobootanimation- arvo 1 estää lataamisen animaation, mikä lisää hieman sen nopeutta. Sen asettaminen 0:ksi tai rivin poistaminen palauttaa animaation paikoilleen;
  • ro.telephony.default_network- kertoo järjestelmälle, mihin tilaan se tulee vaihtaa mobiiliverkko latauksen aikana;
  • ro.sf.lcd_density- Näytön DPI, näytön tarkin arvo voidaan laskea kätevän verkkosivuston kautta. Mutta kukaan ei kiellä asettamasta suurempaa tai pienempää arvoa mielesi mukaan: korkeammat arvot tekevät käyttöliittymäelementeistä suurempia, pienemmät arvot tekevät käyttöliittymäelementeistä pienempiä;
  • ro.config.vc_call_vol_steps- äänenvoimakkuuden portaiden määrä puhelun aikana (oletus 8);
  • ro.config.media_vol_steps- median äänenvoimakkuuden portaiden määrä (oletus 15).

Toteutamme Google Appsin laiteohjelmistoon

Lähes aina mukautettu laiteohjelmisto tulee ilman Googlen palvelut ja sovelluskauppa. Kehittäjät ehdottavat, että asennamme ne erikseen GApps-paketin avulla. Se voidaan kuitenkin integroida suoraan laiteohjelmistoon.

Ensin sinun on ladattava GApps-paketti. Suosittelen Open GApps -arkiston ottamista. Sinä valitset Android-versio, prosessorin arkkitehtuuri ja konfigurointivaihtoehto (Pico, Nano, Stock...), joka määrittää kuinka monta erilaista Google-sovellukset sisältää arkiston. Suosittelen Pico-version lataamista. Se sisältää vain Play Kaupan ja joukon sen toimintaan tarvittavia kirjastoja.

GApps integroidaan laiteohjelmistoon seuraavasti:

  1. Pura GApps ZIP -arkisto millä tahansa arkistointilaitteella.
  2. Siirry Core-kansioon.
  3. Näemme monia arkistoja, joiden tunniste on .tar.lz. Pura lzip:llä.
  4. Pakkauksen purkamisen jälkeen kopioi tiedostot kansioista vastaaviin järjestelmän kansioihin. On helppo arvata, mitä heittää minne arkiston hakemistorakenteesta. Esimerkiksi configupdater (kuvakaappauksesta) on sijoitettava priv-app-kansioon.
  5. Siirry GApps-kansioon (sijaitsee Coren vieressä) ja seuraa vaiheita 3 ja 4 siinä olevien tiedostojen osalta.
  6. Siinä kaikki, olemme integroineet GAppit laiteohjelmistoomme!

Vapaa paikka

On ymmärrettävä, että laiteohjelmiston asennustila on rajallinen. Et voi asentaa laiteohjelmistoa, jonka koko ylittää laitteen järjestelmäosion koon. Voit tarkastella sen arvoa käyttämällä:

$ adb shell df /system

Toinen vaihtoehto: laita pääte laitteeseen ja kirjoita komento

$df/järjestelmä

Voit selvittää osion koon tavuina asentamalla BusyBox älypuhelimeesi ja suorittamalla komennon päätteessä

$ busybox df -B 1 /järjestelmä

Tai sama kanssa käyttämällä ADB:tä:

$ adb shell busybox df -B 1 /järjestelmä

Laiteohjelmiston viemä tila on suunnilleen yhtä suuri kuin järjestelmän koko, kun se puretaan. Yleensä laiteohjelmistoa luotaessa on otettava huomioon, että käyttäjä voi myös flashida sen päälle erilaisia ​​​​muokkauksia (SuperSU, Xposed) tai siirtää sovelluksia järjestelmäosioon. Esimerkiksi Googlen vähimmäissovelluspaketti (Pico) vaatii vähintään 150 Mt lisää asennustilaa.

Tarvittaessa laiteohjelmistotiedoston kokoa voidaan pienentää poistamalla paitsi tarpeettomia ohjelmia osoitteesta /system/app (/system/priv-app) ja soittoäänet osoitteesta system/media/audio ja bootanimation.zip, mutta myös:

  • /system/tts/lang_pico- primitiivisen äänimoottorin Pico TTS, Googlen äänimoottorin kieliä ei vaikuta;
  • /system/usr/srec/config/- offline-kielet. Voit ladata sen tarvittaessa myöhemmin verkosta.

Kokoonpano

Muutosten tekemisen jälkeen sinun on koottava kaikki takaisin. Pakkaa ensin järjestelmäosa tiedostoon system.new.dat. Lataa tarvitsemamme työkalut:

$ wget https://github.com/xpirt/img2sdat/raw/master/img2sdat.py $ wget https://github.com/xpirt/img2sdat/raw/master/blockimgdiff.py $ wget https://github. com/xpirt/img2sdat/raw/master/common.py $ wget https://github.com/xpirt/img2sdat/raw/master/rangelib.py $ wget https://github.com/xpirt/img2sdat/raw/ master/sparse_img.py $ sudo apt-get install android-tools-fsutils

Muunnetaan kansiomme takaisin RAW-kuvaksi. Kutsutaan sitä nimellä system_new.img:

$ sudo make_ext4fs -T 0 -S file_contexts -l 1073741824 -järjestelmä system_new.img output/

1073741824 muutetaan järjestelmäosion kooksi tavuina. Suositeltavaa olisi jopa pienentää sitä hieman. Teemme RAW-kuvasta harvan kuvan:

$ img2simg system_new.img system_snew.img

Muunnetaan kuva tiedostoiksi system.transfer.list ja system.new.dat, jotka pitäisi heittää arkistoon laiteohjelmiston mukana, mutta ensin poistamme vanhat tiedostot:

$ rm -rf system.transfer.list $ rm -rf system.new.dat $ rm -rf system.patch.dat $ chmod +x img2sdat.py $ ./img2sdat.py system_snew.img

Erotetaan laiteohjelmistotiedostot ylimääräisestä kuoresta (tiedostot, jotka latasimme työtä varten. Tätä varten on kätevää käyttää arkistoa laiteohjelmiston kanssa). Poistettu? Nyt sinun on pakattava laiteohjelmisto ZIP-arkistoon (millä tahansa arkistointilaitteella).

Jäljelle jää vain allekirjoittaa arkisto. Tämä voidaan tehdä sekä Androidilla itse ZipSignerillä että PC:llä (tarvitset Java asennettuna):

$ wget https://github.com/appium/sign/raw/master/dist/sign.jar $ java -jar file.zip

Vedenalaisia ​​kiviä

Rakentaessasi tiedostoa system.new.da, saatat kohdata useita ongelmia, jotka johtuvat jatkuvasta sukupolvimekanismien muutoksista Android-laiteohjelmisto. Yllä kuvatun menetelmän pitäisi toimia hyvin Android 5.1 -pohjaisen laiteohjelmiston tapauksessa; uudemmissa voi olla vaikeuksia, joten sinun on käytettävä muita rakennustyökalujen versioita. Valitettavasti emme voi kuvailla kaikkia kokoonpanon vivahteita, joten saatat joutua googlettamaan sitä.

Asennus

Tarvitset mukautetun laiteohjelmiston asentaaksesi mukautetun laiteohjelmiston palautus TWRP, jonka avulla voit asentaa allekirjoittamattoman tai testiavaimella allekirjoitetun laiteohjelmiston (tämän loimme juuri). Lehdessä olemme toistuvasti kuvanneet sen asennusprosessia, ja laitteellesi omistetuissa keskustelupalstoissa on yleensä tarpeeksi tietoa tähän.

TWRP

johtopäätöksiä

Tässä artikkelissa kuvataan vain valtavan jäävuoren huippu, jota kutsutaan "laiteohjelmiston muutokseksi". "Vakava" laiteohjelmisto ei vain täydennä ydintä ja itse laiteohjelmistoa varastosovelluksilla, joissa on monia toimintoja (jotka on usein otettu muista ytimistä ja laiteohjelmistosta), järjestämällä tai jopa muuttamalla niiden vuorovaikutuksen periaatteita, vaan voivat myös muuttaa radikaalisti järjestelmän toimintaperiaatteita. käyttöjärjestelmä. Totta, tällainen hakkerointi ei ole enää Android, vaan erillinen käyttöjärjestelmä, vaikka Play-palvelut voidaan asentaa sinne (muuten, tällaisia ​​​​toimia, lievästi sanottuna, Google ei rohkaise). No, älä unohda: kaikki valmistajien kuoret - TouchWiz, ZenUI, HTC Sense ja niin edelleen - ovat vain tavallisia mukautettuja, jotka on mahdollisimman sidottu laitteen laitteistoon ja toisiinsa.

Interpolointi, interpolointi- laskennallisessa matematiikassa menetelmä suuren väliarvojen löytämiseksi olemassa olevasta diskreetistä tunnettujen arvojen joukosta.

Monien tieteellisten ja teknisten laskelmien parissa työskentelevistä on usein käytettävä empiirisesti tai satunnaisotannalla saatuja arvosarjoja. Pääsääntöisesti näiden joukkojen perusteella on tarpeen rakentaa funktio, johon muut saadut arvot voivat pudota suurella tarkkuudella. Tämä tehtävä on ns likiarvo. Interpolointi on eräänlainen approksimaatio, jossa konstruoidun funktion käyrä kulkee tarkalleen käytettävissä olevien datapisteiden läpi.

On olemassa monia äärellisen eron interpolointimenetelmiä. Suurin osa
Newtonin menetelmä eteenpäin interpoloimiseksi (Newton-Gregory-menetelmä) on yleinen. Interpolaatiopolynomilla on tässä tapauksessa muoto:

Löydämme kertoimet C kaavalla:

Ohjelman toteutus C#:lla:
käyttämällä järjestelmää; nimiavaruuden interpolointi ( luokka Ohjelma…

Ohjelma on jaettu kahteen säikeeseen, joista toisessa suoritetaan lajittelu ja toisessa graafinen käyttöliittymä piirretään uudelleen. Napsautettuaan ”Lajittele”-painiketta ohjelma kutsuu ”RunSorting”-menetelmän, jossa määritellään lajittelualgoritmi ja luodaan uusi säie, jossa lajitteluprosessi on käynnissä.
yksityinen void RunSo…

Tänään haluan näyttää Kacherini, jonka tein viime talviloman aikana. En kuvaile koko valmistusprosessia, koska Internetissä on monia artikkeleita. Kirjoitan vain sen tärkeimmistä parametreista.

Alla on muutamia kuvia, jotka on otettu laitteen kokoamisen aikana.

Kela on kierretty noin 2000 kierrosta 0,08 mm lankaa PVC-putkeen, jonka halkaisija on 50 mm ja korkeus 200 mm.

Terminaalina käytettiin vanhan kiintolevyn levyä. Kaikki muu koottiin sivun alareunassa olevan kaavion mukaan.

Ensimmäinen vaihtoehto sai virtaa vanhan tietokoneen virtalähteestä, jännitteellä 12 V. Sitten tehtiin erillinen virtalähde, 30 V jännitteellä ja sisäänrakennetulla jäähdytyksellä.

Laitekaavio:

Verkkotunnusten välinen resurssien jakaminen (CORS) on W3C-spesifikaatio, joka mahdollistaa verkkotunnusten välisen viestinnän selaimessa. Rakentamalla XMLHttpRequest-objektin päälle CORS antaa kehittäjille mahdollisuuden työskennellä samojen ilmaisujen kanssa kuin saman toimialueen pyynnöt. CORSin käyttötapa on yksinkertainen. Kuvittele, että alice.comilla on tietoja, jotka bob.com haluaa saada. Tämäntyyppisiä pyyntöjä ei perinteisesti sallita saman selaimen alkuperäkäytännön mukaisesti. Tukemalla CORS-pyyntöjä alice.com voi kuitenkin lisätä erityisiä vastausotsikoita, joiden avulla bob.com voi käyttää tietoja. Kuten tästä esimerkistä näet, CORS-tuki vaatii koordinointia palvelimen ja asiakkaan välillä. Onneksi, jos olet asiakaspuolen kehittäjä, olet suojassa useimmilta näiltä yksityiskohdilta. Tämän artikkelin loppuosa näyttää, kuinka asiakkaat voivat suorittaa eri lähteiden pyyntöjä ja kuinka palvelimet voivat määrittää itsensä tukemaan CORS:ää. Jatkui…




Yläosa