Zasebni apk za android studio modul. Novi način objavljivanja aplikacija pomoću Android App Bundlea

Uvod

Udobnost programskog okruženja uvelike ovisi o broju manjih radnji nevezanih za programiranje koje programer treba izvesti, kao i o dubini proučavanja samog razvojnog okruženja kako bi ga ispravno konfigurirao za vlastite potrebe. U tom smislu, idealno je, po mom mišljenju, okruženje Delphi, dizajnirano upravo za što jednostavniji i najbrži razvoj aplikacija za Windows (pravde radi, napominjem da s razvojem aplikacija za Android i druge sustave nije sve tako glatko koliko bih želio).

U tom smislu, u kraljevstvu Androida ne postoje dovoljno udobna razvojna okruženja, kakva se doduše očekuju od programa u svijetu besplatnih operativnih sustava. Donedavno se Eclipse sa specijaliziranim dodacima smatrao središnjim razvojnim alatom. Međutim, Google je u ljeto 2013. godine javnosti predstavio novi IDE - Android Studio, temeljen na dugogodišnjem konkurentu Eclipseu - sustavu IntelliJ IDEA. Mora se reći da je unatoč ranoj verziji sustava, koja još nije ni ušla u Beta fazu, već superiorniji od Eclipsa u praktičnosti.

Međutim, programeri još uvijek moraju proniknuti u brojne nijanse postavljanja okruženja i neobične korake generiranja konačnih aplikacijskih datoteka spremnih za distribuciju. I sve je to u pozadini proučavanja onih specifičnih klasa koje se moraju koristiti kako bi sučelje ispravno radilo s kodom.

Nakon tako dugog uvoda, samo ću vam reći kako u Android Studiju možete generirati konačne apk datoteke spremne za distribuciju, jer postoje nijanse. Nadam se da će moj članak na neki način olakšati život korisnicima početnicima ovog, možda najboljeg IDE-a za Android programiranje danas.

Ručna metoda

  1. U donjem lijevom kutu Android Studija nalazi se mali gumb koji kontrolira prikaz posebnih prečaca na rubovima ekrana. Prečaci otvaraju razne pomoćne prozore. Osim toga, kada jednostavno prijeđete mišem preko ovog gumba, pojavljuje se popis svih ovih prozora za brzo otvaranje onog koji vam je potreban. Otvorimo prozor Build Variants i nasuprot našeg modula, u polju Build Variant, prebacimo način izrade s debug na release.
  2. U glavnom izborniku otvorite Build → Generate Signed APK. Pojavljuje se poruka koja se, malo parafrazirano, može prevesti otprilike ovako: “D Za projekte koje je sastavio uslužni program Gradle, informacije o potpisu i postupku potpisivanja apk datoteka moraju biti navedene u posebnoj skripti. Konfigurirajte skriptu kako je opisano u korisničkom priručniku: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations. Zatim pokrenite "Gradle assembleRelease" i preuzmite generiranu apk datoteku u folder build/apk/"Ova poruka snažno preporučuje da koristimo drugu metodu stvaranja apk datoteke. Primamo na znanje informacije, ali nastavljamo ručnu metodu klikom na OK.
  3. Otvara se prozor pomoćnika za generiranje potpisa za apk datoteku. Već znamo da sve distribuirane Android aplikacije moraju imati digitalni potpis autora, inače aplikacija neće biti instalirana na uređaje korisnika. Generirani potpis treba pohraniti u posebnu datoteku za pohranu koja se nalazi na vašem računalu, odakle će kasnije biti dohvaćen za potpisivanje apk datoteka. U ovom slučaju, jedna pohrana može pohraniti nekoliko potpisa za različite apk datoteke. Osim toga, isti se potpis može koristiti za potpisivanje različitih apk datoteka. Dakle, da biste stvorili repozitorij, kliknite gumb Stvori novo... i ispunite polja koja se otvore u prozoru:
    1. Put za postavljanje datoteke za pohranu
    2. Lozinka i potvrda za pristup pohrani
    3. Naziv potpisa kojim će se zvati
    4. Lozinka i potvrda za pristup potpisu
    5. Razdoblje valjanosti potpisa (prema zadanim postavkama 25 godina, ostavite nepromijenjeno)
    6. Barem jedno od polja certifikata. Obično unesite ime i prezime, grad i državu (RU).
  4. Pritisnite OK. Prozor se zatvara i vidimo da su sva polja u prethodnom prozoru automatski popunjena podacima koje smo unijeli. Označite okvir Zapamti lozinku kako ne biste morali svaki put upisivati ​​lozinku i kliknite U redu.
  5. U sljedećem prozoru kontroliramo put i naziv apk datoteke. Standardno je jednak nazivu modula. Omogućujemo potvrdni okvir Run ProGuard kako bi naša datoteka bila optimizirana, a možemo čak promijeniti konfiguracijsku datoteku proguard-android.txt u proguard-android-optimize.txt za strožu optimizaciju (iako to može biti prepuno nekih egzotičnih pametnih telefona). Kliknite Završi i pričekajte gledajući statusnu traku.
  6. Kada je projekt izgrađen, pojavit će se prozor koji traži da otvorite mapu s rezultirajućom apk datotekom. Otvorimo ga i vidimo našu datoteku.

Odmah ću reći da unatoč činjenici da sam potvrdio okvir Run ProGuard, iz nekog razloga ne radi za mene, a apk datoteka ostaje neoptimizirana. Ovo može biti ostatak rane verzije Android Studija ( Imam verziju 0.5.4). No vrlo je lako izaći iz ove situacije uključivanjem ovog okvira izravno u datoteci skripte uslužnog programa ProGuard. Pronađite datoteku build.gradle u prozoru projekta unutar našeg modula. U odjeljku android → buildTypes → release, koji je odgovoran za generiranje izdanja, promijenite parametar runProguard iz false u true.

Ne zaboravite sinkronizirati svoj projekt s njim nakon uređivanja datoteke skripte. Da biste to učinili, na alatnoj traci kliknite gumb Sinkroniziraj projekt s Gradle datotekama (strelica prema dolje od zelenog kruga) ili vezu Sinkroniziraj sada na žutoj traci s porukama koja se pojavljuje na vrhu izvornog koda. Nakon sinkronizacije možete ponovno pokušati izgraditi apk datoteku, počevši od druge točke naših uputa. Samo ovaj put, umjesto generiranja nove memorije, koristimo već kreiranu. Sve naše lozinke i postavke su spremljene, tako da sve što trebamo učiniti je kliknuti OK-Dalje-Završi u skočnim prozorima. Imajte na umu da je novogenerirana apk datoteka nešto manja nego prošli put.

Automatska metoda

Automatska metoda omogućuje generiranje apk datoteke bez unosa lozinki svaki put kada pokrenete aplikaciju za izvršenje, kao i pomoću naredbe assembleRelease, dodane na popis konfiguracija i izvršene istim gumbom Pokreni.

Da biste omogućili automatski način rada, morate dodati novi odjeljak u već poznatu datoteku skripte build.gradle, koja sadrži informacije o potpisu:


Configs ( release ( storeFile file("C:\\Users\\UserName\\KEYSTORE.jks") storePassword "Storage Password" keyAlias ​​​​"SignatureName" keyPassword "SignaturePassword" ) buildTypes ( release ( minifyEnabled true signingConfig signingConfigs.release proguardFiles getDefaultProguardFile(" proguard-android.txt"), "proguard-rules.pro" ) ) )

Umjesto datoteke postavki "proguard-android.txt", možete unijeti datoteku još optimiziranih postavki "proguard-android-optimize.txt". To će vam omogućiti da još malo smanjite veličinu apk datoteke.

Da biste dodali ovaj odjeljak u postavke, otvorite datoteku build.gradle koja se nalazi unutar našeg modula i komentirajte odjeljak buildTypes. Umjesto toga, umetnut ćemo gornji odjeljak. Nemojte zaboraviti promijeniti put do vaše datoteke ključa koju ste stvorili u prvom dijelu članka kada ručno kreirate apk datoteku, a također unesite ispravno ime potpisa i obje lozinke.

Nakon što izvršite promjene u datoteci, kliknite gumb Sinkroniziraj projekt s Gradle datotekama na alatnoj traci (strelica prema dolje od zelenog kruga) ili vezu Sinkroniziraj sada na žutoj informacijskoj traci koja se pojavljuje na vrhu kako biste sinkronizirali promijenjene postavke s projekt. To je to, automatski način rada je postavljen!

Sada, kako bismo mogli generirati apk datoteku bez pokretanja aplikacije, dodajmo zasebnu naredbu za pokretanje generiranja apk datoteke na popis konfiguracija (kombo okvir na alatnoj traci). Otvorimo prozor Gradle Tasks klikom na prečac Gradle na desnom rubu ekrana ili odabirom iz pop-up popisa gumba koji se nalazi u donjem lijevom kutu Android Studija. U odjeljku Svi zadaci otvorite popis zadataka za naš modul i desnom tipkom miša kliknite zadatak assembleRelease. U kontekstnom izborniku koji se pojavi odaberite Stvori... i odabrani zadatak bit će dodan na popis konfiguracija.

Sada možemo generirati izdanje bez pokretanja programa za izvođenje, jednostavnim odabirom naredbe assembleRelease na popisu konfiguracija i klikom na gumb Pokreni. Rezultat automatskog stvaranja apk datoteke nalazit će se u mapi build/apk/. Bit će dvije datoteke: ModuleName-release-unaligned.apk i ModuleName-release.apk. Prva datoteka je poluproizvod. Već je potpisan, ali još nije usklađen. Druga datoteka je već poravnata. Ovo je naša konačna apk datoteka, koju sada možemo preimenovati i slobodno distribuirati.

Imajte na umu da poravnanje datoteke osigurava da svi nekomprimirani podaci započinju na poziciji koja je višekratnik 4 bajta od početka datoteke. To će osigurati optimizirane performanse programa na uređaju. Kada je datoteka usklađena, Android može čitati informacije iz datoteke prema potrebi, umjesto da učitava cijeli paket u memoriju. Kao rezultat toga, smanjuje se količina RAM-a koju troši pokrenuta aplikacija.

Moduli pružaju spremnik za izvorni kod vaše aplikacije, datoteke resursa i postavke na razini aplikacije, kao što je datoteka za izradu na razini modula i datoteka manifesta za Android. Svaki modul može se neovisno izgraditi, testirati i otkloniti pogreške.

Android Studio koristi module za jednostavno dodavanje novih uređaja vašem projektu. Slijedeći nekoliko jednostavnih koraka u Android Studiju, možete izraditi modul koji će sadržavati kod koji je specifičan za vrstu uređaja, kao što je Wear OS ili Android TV. Android Studio automatski stvara direktorije modula, kao što su direktoriji izvora i resursa, i zadanu datoteku build.gradle koja odgovara vrsti uređaja, Android Studio također stvara module uređaja s preporučenim konfiguracijama izrade, kao što je korištenje biblioteke Leanback za module Android TV.

Ova stranica opisuje kako dodati novi modul za određeni uređaj.

Android Studio također olakšava dodavanje knjižnice ili Google Cloud modula vašem projektu. Za pojedinosti o stvaranju modula knjižnice pogledajte Stvaranje modula knjižnice.

Napravite novi modul

Da biste svom projektu dodali novi modul za novi uređaj, postupite na sljedeći način:

  1. Klik Datoteka > Novi > Novi modul.
  2. u Stvori novi modul prozoru koji se pojavi, Android Studio nudi sljedeće module uređaja:
    • Modul za telefon i tablet
    • Wear OS modul
    • Android TV modul
    • Stakleni modul
    Odaberite modul za uređaj koji želite, a zatim kliknite Sljedeći.
  3. u Konfigurirajte svoj novi modul obrazac, unesite sljedeće podatke:
    • Naziv aplikacije: Ovo se ime koristi kao naslov vaše ikone pokretača aplikacije za novi modul.
    • Naziv modula: Ovaj tekst se koristi kao naziv mape u kojoj su vidljivi vaš izvorni kod i datoteke resursa.
    • Naziv paketa: Ovo je Java imenski prostor za kod u vašem modulu. Dodaje se kao atribut paketa u datoteci manifesta za Android modula.
    • Minimalni SDK: Ova postavka označava najnižu verziju Android platforme koju podržava modul aplikacije. Ova vrijednost postavlja atribut minSdkVersion u datoteci build.gradle koju kasnije možete urediti.

    Zatim kliknite Sljedeći.

  4. Ovisno o modulu uređaja koji ste odabrali, sljedeća stranica prikazuje izbor odgovarajućih predložaka kodova koje možete odabrati kao svoju glavnu aktivnost. Pritisnite predložak aktivnosti s kojim želite započeti, a zatim kliknite Sljedeći. Ako ne trebate aktivnost, kliknite Dodaj bez aktivnosti, kliknite Završi, i onda ste gotovi.
  5. Ako ste odabrali predložak aktivnosti, unesite postavke za svoju aktivnost na Prilagodite aktivnost stranica. Većina predložaka traži Naziv aktivnosti, Naziv izgleda, Titula, i Izvorni jezik, ali svaki predložak ima postavke specifične za aktivnost. Klik Završi. Kada izradite modul aplikacije s predloškom aktivnosti, možete odmah pokrenuti i testirati modul na svom uređaju.

Android Studio stvara sve potrebne datoteke za novi modul i sinkronizira projekt s novim gradle datotekama modula. Dodavanje modula za novi uređaj također dodaje sve potrebne ovisnosti za ciljni uređaj u datoteku za izgradnju modula.

Nakon dovršetka sinkronizacije Gradle projekta, novi modul pojavljuje se u Projekt prozor s lijeve strane. Ako ne vidite novu mapu modula, provjerite prikazuje li prozor Android prikaz.

Uvezi modul

Za uvoz postojećeg modula u vaš projekt, postupite na sljedeći način:

  1. Klik Datoteka > Novo > Uvezi modul.
  2. u Izvorni direktorij okvir, upišite ili odaberite direktorij modula koje želite uvesti:
    • Ako uvozite jedan modul, označite njegov korijenski direktorij.
    • Ako uvozite više modula iz projekta, označite mapu projekta. Za svaki modul unutar mape pojavljuje se okvir koji označava Lokacija izvora i Naziv modula. Budi siguran Uvoz okvir je označen za svaki modul koji želite uvesti.
    Ako vaš modul(i) ima druge ovisnosti, oni će biti navedeni za uvoz pod Dodatni potrebni moduli.
  3. Upišite željeni naziv modula u polje Naziv modula polje(a).
  4. Klik Završi.

Sljedeći koraci

Nakon što ste dodali novi modul, možete izmijeniti kod modula i resurse, konfigurirati postavke izrade modula i izgraditi modul. Također možete pokrenuti modul i otkloniti pogreške kao bilo koju drugu aplikaciju.

  • Da biste saznali više o postavkama izgradnje za modul, pogledajte datoteku izgradnje na razini modula.
  • Da biste izgradili i pokrenuli određeni modul, pogledajte Odabir i izgradnja drugog modula.

Također ćete htjeti dodati kôd i resurse za pravilnu podršku novom uređaju. Za više informacija o tome kako razviti module aplikacije za različite vrste uređaja, pogledajte odgovarajuću dokumentaciju:

  • Za Wear OS module:
  • Za Android TV module:
  • Za staklene module: GDK Quick Start

Dok razvijate svoj novi modul, mogli biste stvoriti neovisni kod uređaja koji je već dupliciran u drugom modulu aplikacije. Umjesto održavanja dupliciranog koda, razmislite o premještanju dijeljenog koda u modul biblioteke i dodavanju biblioteke kao ovisnosti vašim modulima aplikacije. Za više informacija o stvaranju modula knjižnice i njegovom dodavanju kao ovisnosti, pogledajte

Instalirani dodaci nalaze se u izborniku Datoteka | Postavke... | Dodaci. Dugme Pregledajte spremišta... omogućuje vam pronalaženje dodatka u repozitoriju. Dugme Instalirajte dodatak s diska... omogućuje vam instaliranje dodatka s diska ako ste ga sami preuzeli.

Dugine zagrade

"Rainbow Brackets" vam omogućuje označavanje svakog para zagrada vlastitom individualnom bojom. To vam pomaže da vizualno vidite gdje je područje koda.

Zamjenjuje sve indikatore napretka u studiju slatkom mačkom. Ako ste ozbiljan programer, jednostavno morate instalirati dodatak. Kompatibilan s drugim razvojnim okruženjima temeljenim na IntelliJ IDEA: PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, DataGrip, Rider, MPS.

Pojavljuje se posvuda. Na primjer, prilikom učitavanja projekta.

Dok radi kad nešto sinkronizira.

RoboPOJOGenerator

Zgodan generator gotovih Java i Kotlin POJO klasa iz JSON-a: GSON, FastJSON, AutoValue (GSON), Logan Square, Jackson.

ADB Ideja

Dodatak za Android Studio/Intellij IDEA za brze operacije na aplikaciji:

  • Uninstall App - uklonite aplikaciju s uređaja
  • Kill App - zatvori aplikaciju (ukloni iz memorije)
  • Start App - pokretanje aplikacije
  • Restart App - ponovno pokrenite aplikaciju
  • Clear App Data - brisanje podataka
  • Brisanje podataka aplikacije i ponovno pokretanje - brisanje podataka i ponovno pokretanje

Nakon instaliranja, te se naredbe mogu pronaći putem Alati | Android | ADB IDEJA.

Prozor za traženje radnji možete pozvati i kombinacijom tipki Ctrl+Shift+A i pomoću simbola A.D.B. brzo pronaći određenu naredbu.

Dodatak je prikladan za provjeru funkcionalnosti aplikacije u različitim stanjima. Na primjer, prethodno ste izradili bazu podataka i odlučili vidjeti kako se aplikacija ponaša s praznom bazom podataka. Pomoću dodatka možete brzo izbrisati podatke i pogledati rezultate.