Atskiras APK, skirtas „Android Studio“ moduliui. Naujas būdas skelbti programas naudojant „Android App Bundle“.

Įvadas

Programavimo aplinkos patogumas labai priklauso nuo smulkių, su programavimu nesusijusių veiksmų, kuriuos turi atlikti programuotojas, skaičiaus, taip pat nuo pačios kūrimo aplinkos tyrimo gylio, norint tinkamai ją sukonfigūruoti savo poreikiams. Šia prasme idealiausia, mano nuomone, yra „Delphi“ aplinka, sukurta kaip tik paprasčiausiam ir greičiausiam „Windows“ programų kūrimui (teisybės dėlei pažymiu, kad kuriant programas „Android“ ir kitoms sistemoms, ne viskas yra taip, kaip sklandžiai, kaip norėčiau).

Šia prasme „Android“ karalystėje nėra pakankamai patogios kūrimo aplinkos, kaip vis dėlto tikimasi iš programų nemokamų operacinių sistemų pasaulyje. Dar visai neseniai „Eclipse“ su specializuotais priedais buvo laikoma pagrindine kūrimo priemone. Tačiau 2013 metų vasarą Google pristatė visuomenei naują IDE – Android Studio, paremtą ilgamečiu Eclipse konkurentu – IntelliJ IDEA sistema. Reikia pasakyti, kad nepaisant ankstyvos sistemos versijos, kuri net neįžengė į Beta stadiją, patogumu ji jau pranoksta „Eclipse“.

Tačiau programuotojams dar tenka įsigilinti tiek į daugybę aplinkos nustatymo niuansų, tiek į neįprastus galutinių platinimui paruoštų programų failų generavimo veiksmus. Ir visa tai vyksta tų konkrečių klasių, kurios turi būti naudojamos, kad sąsaja tinkamai veiktų su kodu, tyrimo fone.

Po tokios ilgos įžangos aš tiesiog pasakysiu, kaip „Android Studio“ galite sugeneruoti galutinius platinimui paruoštus APK failus, nes yra niuansų. Tikiuosi, kad mano straipsnis kažkaip palengvins gyvenimą pradedantiesiems šio, ko gero, geriausio šiandieninio „Android“ programavimo IDE.

Rankinis metodas

  1. Apatiniame kairiajame Android Studio kampe yra mažas mygtukas, valdantis specialių nuorodų rodymą ekrano kraštuose. Spartieji klavišai atveria įvairius pagalbinius langus. Be to, tiesiog užvedus pelės žymeklį ant šio mygtuko, atsiranda visų šių langų sąrašas, kad būtų galima greitai atidaryti reikiamą. Atidarykime langą Sukūrimo variantai ir priešais mūsų modulį esančiame lauke Sukūrimo variantas perjunkite kūrimo režimą iš derinimo į leidimą.
  2. Pagrindiniame meniu atidarykite Build → Generate Signed APK. Pasirodo pranešimas, kurį, šiek tiek perfrazavus, galima išversti maždaug taip: „D Programos „Gradle“ surenkamiems projektams informacija apie parašą ir apk failų pasirašymo procedūrą turi būti nurodyta specialiame scenarijuje. Sukonfigūruokite scenarijų, kaip aprašyta vartotojo vadove: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations. Tada paleiskite „Gradle assembleRelease“ ir gaukite sugeneruotą apk failą aplanke build/apk/„Šiame pranešime primygtinai rekomenduojame naudoti antrąjį apk failo kūrimo metodą. Atsižvelgiame į informaciją, bet tęsiame rankinį metodą spustelėdami Gerai.
  3. Atsidaro apk failo parašo generavimo asistento langas. Jau žinome, kad visos platinamos Android programos turi turėti skaitmeninį autoriaus parašą, antraip programa nebus įdiegta vartotojų įrenginiuose. Sugeneruotas parašas turėtų būti saugomas specialiame saugyklos faile, esančiame jūsų kompiuteryje, iš kurio vėliau jis bus paimtas pasirašyti apk failus. Tokiu atveju vienoje saugykloje gali būti saugomi keli skirtingų APK failų parašai. Be to, tuo pačiu parašu galima pasirašyti skirtingus apk failus. Taigi, norėdami sukurti saugyklą, spustelėkite mygtuką Sukurti naują... ir užpildykite lange atsidariusius laukus:
    1. Kelias į saugojimo failą
    2. Slaptažodis ir patvirtinimas norint pasiekti saugyklą
    3. Parašo, kuriuo jis bus vadinamas, pavadinimas
    4. Slaptažodis ir patvirtinimas norint pasiekti parašą
    5. Parašo galiojimo laikas (pagal nutylėjimą 25 metai, palikti nepakeistą)
    6. Bent vienas iš sertifikato laukų. Paprastai įrašykite vardą ir pavardę, miestą ir šalį (RU).
  4. Spustelėkite Gerai. Langas užsidaro ir matome, kad visi ankstesnio lango laukai buvo automatiškai užpildyti mūsų įvestais duomenimis. Pažymėkite laukelį Atsiminti slaptažodį, kad nereikėtų kiekvieną kartą įvesti slaptažodžio, ir spustelėkite Gerai.
  5. Kitame lange mes valdome apk failo kelią ir pavadinimą. Pagal numatytuosius nustatymus jis yra lygus modulio pavadinimui. Įjungiame žymimąjį laukelį Run ProGuard, kad mūsų failas būtų optimizuotas, ir netgi galime pakeisti konfigūracijos failą proguard-android.txt į proguard-android-optimize.txt, kad optimizavimas būtų griežtesnis (nors kai kuriems egzotiškiems išmaniesiems telefonams tai gali prireikti). Spustelėkite Baigti ir palaukite, žiūrėdami į būsenos juostą.
  6. Kai projektas bus sukurtas, pasirodys langas, kuriame bus prašoma atidaryti aplanką su gautu apk failu. Atidarome jį ir matome savo failą.

Iš karto pasakysiu, kad nepaisant to, kad pažymiu laukelį Run ProGuard, kažkodėl jis man neveikia, o apk failas lieka neoptimizuotas. Tai gali būti ankstesnės „Android Studio“ versijos likutis ( Turiu 0.5.4 versiją). Tačiau gana lengva išeiti iš šios situacijos įjungus šį žymimąjį laukelį tiesiai ProGuard programos scenarijaus faile. Raskite failą build.gradle mūsų modulio projekto lange. Skiltyje Android → buildTypes → leidimas, kuris yra atsakingas už leidimo generavimą, pakeiskite parametrą runProguard iš false į true.

Nepamirškite sinchronizuoti projekto su juo po to, kai redagavote scenarijaus failą. Norėdami tai padaryti, įrankių juostoje spustelėkite mygtuką Sinchronizuoti projektą su Gradle failais (rodyklė žemyn nuo žalio apskritimo) arba nuorodą Sinchronizuoti dabar geltonoje pranešimų juostoje, kuri pasirodo šaltinio kodo viršuje. Po sinchronizavimo galite pabandyti dar kartą sukurti apk failą, pradėdami nuo antrojo instrukcijų punkto. Tik šį kartą vietoj naujos saugyklos generavimo naudojame jau sukurtą. Visi mūsų slaptažodžiai ir nustatymai buvo išsaugoti, todėl tereikia iššokančiuosiuose languose spustelėti Gerai-Kitas-Baigti. Atminkite, kad naujai sugeneruotas apk failas yra šiek tiek mažesnis nei praėjusį kartą.

Automatinis metodas

Automatinis metodas leidžia sugeneruoti apk failą neįvedant slaptažodžių kiekvieną kartą paleidus programą vykdyti, taip pat su komanda assembleRelease, įtraukta į konfigūracijų sąrašą ir vykdoma tuo pačiu mygtuku Vykdyti.

Norėdami įjungti automatinį režimą, į jau pažįstamą build.gradle scenarijaus failą turite pridėti naują skyrių, kuriame yra informacija apie parašą:


Konfigūracijos ( leidimas ( storeFile failas ("C:\\Users\\UserName\\KEYSTORE.jks") storePassword "Saugyklos slaptažodis" KeyAlias ​​"SignatureName" keyPassword "SignaturePassword" ) buildTypes ( išleidimas ( minifyEnabled true signingConfigs.Figglessignase getDefaultProguardFile(" proguard-android.txt"), "proguard-rules.pro" ) )

Vietoj nustatymų failo „proguard-android.txt“ galite įvesti dar labiau optimizuotų nustatymų failą „proguard-android-optimize.txt“. Tai leis jums šiek tiek sumažinti apk failo dydį.

Norėdami įtraukti šią skiltį prie nustatymų, atidarykite failą build.gradle, esantį mūsų modulyje, ir pakomentuokite skyrių buildTypes. Vietoj to įterpsime aukščiau pateiktą skyrių. Nepamirškite pakeisti kelio į rakto failą, kurį sukūrėte pirmoje straipsnio dalyje, rankiniu būdu kurdami apk failą, taip pat įveskite teisingą parašo pavadinimą ir abu slaptažodžius.

Atlikę failo pakeitimus, įrankių juostoje spustelėkite mygtuką Sinchronizuoti projektą su Gradle failais (rodyklė žemyn nuo žalio apskritimo) arba nuorodą Sinchronizuoti dabar geltonoje informacijos juostoje, kuri iššoka viršuje, kad sinchronizuotų pakeistus nustatymus su projektą. Viskas, automatinis režimas nustatytas!

Dabar, kad galėtume sugeneruoti apk failą nepaleidžiant programos, į konfigūracijų sąrašą įtraukime atskirą komandą apk failo generavimui (kombinuotasis laukelis įrankių juostoje). Atidarykime „Gradle Tasks“ langą spustelėdami „Gradle“ spartųjį klavišą dešiniajame ekrano krašte arba pasirinkę jį iš apatiniame kairiajame „Android Studio“ kampe esančio mygtuko sąrašo. Skiltyje Visos užduotys atidarykite mūsų modulio užduočių sąrašą ir dešiniuoju pelės mygtuku spustelėkite užduotį assembleRelease. Pasirodžiusiame kontekstiniame meniu pasirinkite Sukurti... ir pasirinkta užduotis bus įtraukta į konfigūracijų sąrašą.

Dabar galime sugeneruoti leidimą nepaleidę programos vykdymui, tiesiog konfigūracijų sąraše pasirinkę komandą assembleRelease ir spustelėdami mygtuką Vykdyti. Automatinio apk failo kūrimo rezultatas bus aplanke build/apk/. Bus du failai: ModuleName-release-unaligned.apk ir ModuleName-release.apk. Pirmasis failas yra pusgaminis. Jis jau pasirašytas, bet dar nesuderintas. Antrasis failas jau sulygiuotas. Tai yra mūsų galutinis apk failas, kurį dabar galime pervardyti ir laisvai platinti.

Atminkite, kad failo lygiavimas užtikrina, kad visi nesuspausti duomenys prasidėtų nuo 4 baitų kartotinės pozicijos nuo failo pradžios. Tai užtikrins optimalų programos veikimą įrenginyje. Kai failas sulygiuotas, „Android“ gali nuskaityti informaciją iš failo, jei reikia, o ne įkelti visą paketą į atmintį. Dėl to sumažėja veikiančios programos sunaudojamos RAM kiekis.

Moduliai suteikia programos šaltinio kodo, išteklių failų ir programos lygio nustatymų, pvz., modulio lygio kūrimo failo ir „Android“ aprašo failo, sudėtinį rodinį. Kiekvienas modulis gali būti sukurtas, išbandytas ir derinamas atskirai.

„Android Studio“ naudoja modulius, kad būtų lengva pridėti naujų įrenginių prie projekto. Atlikdami kelis paprastus „Android Studio“ veiksmus, galite sukurti modulį, kuriame būtų kodas, būdingas įrenginio tipui, pvz., „Wear OS“ arba „Android TV“. „Android Studio“ automatiškai sukuria modulių katalogus, pvz., šaltinių ir išteklių katalogus ir numatytasis failas build.gradle, tinkamas įrenginio tipui. Be to, „Android Studio“ sukuria įrenginio modulius su rekomenduojamomis kūrimo konfigūracijomis, pvz., naudoja „Android TV“ modulių biblioteką „Leanback“.

Šiame puslapyje aprašoma, kaip pridėti naują modulį konkrečiam įrenginiui.

„Android Studio“ taip pat leidžia lengvai pridėti biblioteką arba „Google Cloud“ modulį prie projekto. Norėdami gauti daugiau informacijos apie bibliotekos modulio kūrimą, žr. Bibliotekos modulio kūrimas .

Sukurkite naują modulį

Norėdami pridėti naują modulį prie projekto naujam įrenginiui, atlikite šiuos veiksmus:

  1. Spustelėkite Failas > Nauja > Naujas modulis.
  2. Viduje Sukurti naują modulį Pasirodžiusiame lange „Android Studio“ siūlo šiuos įrenginio modulius:
    • Telefono ir planšetinio kompiuterio modulis
    • „Wear“ OS modulis
    • Android TV modulis
    • Stiklo modulis
    Pasirinkite norimo įrenginio modulį ir spustelėkite Kitas.
  3. Viduje Sukonfigūruokite naują modulį formoje įveskite šią informaciją:
    • Programos pavadinimas: šis pavadinimas naudojamas kaip naujojo modulio programų paleidimo priemonės piktogramos pavadinimas.
    • Modulio pavadinimas: Šis tekstas naudojamas kaip aplanko, kuriame matomas šaltinio kodas ir išteklių failai, pavadinimas.
    • Paketo pavadinimas: Tai yra jūsų modulio kodo Java vardų erdvė. Jis pridedamas kaip paketo atributas modulio „Android“ aprašo faile.
    • Minimalus SDK: šis nustatymas nurodo žemiausią Android platformos versiją, kurią palaiko programos modulis. Ši reikšmė nustato atributą minSdkVersion faile build.gradle, kurį vėliau galėsite redaguoti.

    Tada spustelėkite Kitas.

  4. Priklausomai nuo to, kurį įrenginio modulį pasirinkote, kitame puslapyje rodomi tinkami kodo šablonai, kuriuos galite pasirinkti naudoti kaip pagrindinę veiklą. Spustelėkite veiklos šabloną, su kuriuo norite pradėti, tada spustelėkite Kitas. Jei jums nereikia veiklos, spustelėkite Pridėti jokios veiklos, spustelėkite Baigti, ir baigsite.
  5. Jei pasirinkote veiklos šabloną, įveskite savo veiklos nustatymus Tinkinkite veiklą puslapį. Daugumoje šablonų prašoma an Veiklos pavadinimas, Išdėstymo pavadinimas, Pavadinimas, ir Šaltinio kalba, tačiau kiekviename šablone yra konkrečios veiklos nustatymai. Spustelėkite Baigti. Kai kuriate programos modulį su veiklos šablonu, galite iš karto paleisti ir išbandyti modulį savo įrenginyje.

Android Studio sukuria visus reikalingus failus naujam moduliui ir sinchronizuoja projektą su naujojo modulio gradle failais. Pridėjus modulį naujam įrenginiui, į modulio kūrimo failą įtraukiamos visos reikalingos tikslinio įrenginio priklausomybės.

Kai Gradle projekto sinchronizavimas bus baigtas, naujas modulis pasirodys Projektas langas kairėje pusėje. Jei nematote naujo modulio aplanko, įsitikinkite, kad lange rodomas „Android“ rodinys .

Importuokite modulį

Norėdami importuoti esamą modulį į savo projektą, atlikite šiuos veiksmus:

  1. Spustelėkite Failas > Naujas > Importavimo modulis.
  2. Viduje Šaltinio katalogas laukelyje įveskite arba pasirinkite modulio (-ių), kurį (-iuos) norite importuoti, katalogą:
    • Jei importuojate vieną modulį, nurodykite jo šakninį katalogą.
    • Jei iš projekto importuojate kelis modulius, nurodykite projekto aplanką. Kiekvienam aplanke esančio modulio langelis rodomas Šaltinio vieta ir Modulio pavadinimas. Įsitikinkite Importuoti pažymėtas kiekvieno modulio, kurį norite importuoti, langelis.
    Jei jūsų modulis (-iai) turi kitų priklausomybių, jie bus įtraukti į importavimo sąrašą Papildomi reikalingi moduliai.
  3. Įveskite norimą (-us) modulio pavadinimą (-us). Modulio pavadinimas laukai).
  4. Spustelėkite Baigti.

Tolesni žingsniai

Pridėję naują modulį galite keisti modulio kodą ir išteklius, konfigūruoti modulio kūrimo nustatymus ir sukurti modulį. Taip pat galite paleisti ir derinti modulį kaip ir bet kurią kitą programą.

  • Norėdami sužinoti apie modulio kūrimo parametrus, žr. Modulio lygio kūrimo failą.
  • Norėdami sukurti ir paleisti konkretų modulį, žr. skyrių Kito modulio pasirinkimas ir kūrimas .

Taip pat norėsite pridėti kodą ir išteklių, kad tinkamai palaikytumėte naują įrenginį. Norėdami gauti daugiau informacijos apie tai, kaip kurti programų modulius skirtingiems įrenginių tipams, žr. atitinkamą dokumentaciją:

  • „Wear OS“ moduliams:
  • „Android TV“ moduliams:
  • Stiklo moduliams: GDK Quick Start

Kurdami naują modulį galite sukurti nepriklausomą įrenginio kodą, kuris jau yra dubliuotas kitame programos modulyje. Užuot saugoję pasikartojantį kodą, apsvarstykite galimybę perkelti bendrinamą kodą į bibliotekos modulį ir pridėti biblioteką kaip priklausomybę prie programos modulių. Norėdami gauti daugiau informacijos apie bibliotekos modulio kūrimą ir įtraukimą kaip priklausomybę, žr

Įdiegti papildiniai yra meniu Failas | Nustatymai... | Papildiniai. Mygtukas Naršyti saugyklas... leidžia rasti papildinį saugykloje. Mygtukas Įdiegti papildinį iš disko... leidžia įdiegti papildinį iš disko, jei jį atsisiuntėte patys.

Vaivorykštės laikikliai

„Rainbow Brackets“ leidžia pažymėti kiekvieną skliaustų porą savo individualia spalva. Tai padeda vizualiai pamatyti, kur yra kodo sritis.

Pakeičia visus pažangos rodiklius studijoje mielu katinu. Jei esate rimtas programuotojas, tiesiog turite įdiegti papildinį. Suderinamas su kitomis kūrimo aplinkomis, pagrįstomis IntelliJ IDEA: PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, DataGrip, Rider, MPS.

Pasirodo visur. Pavyzdžiui, įkeliant projektą.

Dirbant kai ką sinchronizuoja.

RoboPOJOGeneratorius

Patogus paruoštų Java ir Kotlin POJO klasių generatorius iš JSON: GSON, FastJSON, AutoValue (GSON), Logan Square, Jackson.

ADB idėja

„Android Studio“ / „Intellij IDEA“ įskiepis, skirtas greitai valdyti programą:

  • Pašalinti programą – pašalinkite programą iš įrenginio
  • Kill App – užmuškite programą (pašalinkite iš atminties)
  • Pradėti programą – paleiskite programą
  • Paleisti programą iš naujo – paleiskite programą iš naujo
  • Išvalyti programos duomenis – išvalyti duomenis
  • Išvalyti programos duomenis ir paleisti iš naujo – išvalykite duomenis ir paleiskite iš naujo

Įdiegus šias komandas galima rasti per Įrankiai | Android | ADB IDĖJA.

Veiksmų paieškos langą taip pat galite iškviesti naudodami klavišų kombinaciją Ctrl + Shift + A ir naudojant simbolius A.D.B. greitai rasti konkrečią komandą.

Papildinys yra patogus norint patikrinti programos funkcionalumą įvairiose būsenose. Pavyzdžiui, anksčiau sukūrėte duomenų bazę ir nusprendėte pamatyti, kaip programa elgiasi su tuščia duomenų baze. Naudodami papildinį galite greitai išvalyti duomenis ir peržiūrėti rezultatus.