Apk separat pentru modulul studio Android. O nouă modalitate de a publica aplicații cu Android App Bundle

Introducere

Confortul unui mediu de programare depinde în mare măsură de numărul de acțiuni secundare care nu au legătură cu programarea pe care un programator trebuie să le efectueze, precum și de profunzimea studiului mediului de dezvoltare în sine pentru a-l configura corespunzător pentru propriile nevoi. În acest sens, idealul, după părerea mea, este mediul Delphi, care este ascuțit doar pentru cea mai simplă și rapidă dezvoltare a aplicațiilor pentru Windows (pentru dreptate, observ că odată cu dezvoltarea aplicațiilor pentru Android și alte sisteme, totul este încă nu atât de lin pe cât mi-aș dori).

În acest sens, pe tărâmul Android nu există medii de dezvoltare suficient de confortabile, așa cum, totuși, programele din lumea sistemelor de operare gratuite ar trebui să fie. Până de curând, Eclipse cu plug-in-uri specializate era considerat instrumentul central de dezvoltare. Cu toate acestea, în vara lui 2013, Google a introdus publicului un nou IDE - Android Studio, bazat pe concurentul de lungă durată al lui Eclipse - sistemul IntelliJ IDEA. Trebuie să spun că, în ciuda versiunii timpurii a sistemului, care nici măcar nu a intrat încă în stadiul Beta, deja depășește confortul Eclipse.

Cu toate acestea, programatorii mai trebuie să se aprofundeze atât în ​​numeroasele nuanțe de configurare a mediului, cât și în pașii neobișnuiți pentru a genera fișierele finale ale aplicațiilor gata de distribuție. Și toate acestea sunt pe fondul studierii acelor clase specifice pe care trebuie să le utilizați pentru a face ca interfața să funcționeze corect cu codul.

După o introducere atât de lungă, vă voi spune doar cum Android Studio poate genera fișiere apk finale gata de distribuție, pentru că există nuanțe. Sper că articolul meu va ușura cumva viața utilizatorilor începători ai acestui, poate, cel mai bun IDE pentru programarea Android de astăzi.

Mod manual

  1. În colțul din stânga jos al Android Studio există un mic buton care controlează afișarea etichetelor speciale la marginile ecranului. Comenzile rapide deschid diverse ferestre auxiliare. În plus, atunci când treceți pur și simplu peste acest buton cu cursorul mouse-ului, apare o listă cu toate aceste ferestre pentru a deschide rapid pe cea de care aveți nevoie. Să deschidem fereastra Build Variants și în fața modulului nostru în câmpul Build Variant, comutăm modul de compilare de la depanare la lansare.
  2. În meniul principal, deschideți Build → Generate Signed APK. Există un mesaj care, puțin parafrazând, poate fi tradus cam așa: „D Pentru proiectele construite de utilitarul Gradle, informațiile de semnare și ordinea semnării fișierelor apk trebuie scrise într-un script special. Configurați scriptul așa cum este descris în ghidul utilizatorului: http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Signing-Configurations . Apoi rulați „Gradle assembleRelease” și obțineți fișierul apk generat în folderul build/apk/» Acest mesaj ne recomandă insistent să folosim a doua modalitate de a crea un fișier apk. Luăm notă de informații, dar continuăm metoda manuală făcând clic pe OK.
  3. Se deschide fereastra asistent pentru generarea semnăturii pentru fișierul apk. Știm deja că toate aplicațiile Android distribuite trebuie să fie semnate digital de către autor, altfel aplicația nu va fi instalată pe dispozitivele utilizatorilor. Semnătura generată trebuie să fie stocată într-un fișier de stocare special aflat pe computer, de unde va fi apoi extrasă pentru a semna fișierele apk. În același timp, un spațiu de stocare poate stoca mai multe semnături pentru diferite fișiere apk. De asemenea, aceeași semnătură poate fi folosită pentru a semna diferite fișiere apk. Deci, pentru a crea un depozit, faceți clic pe butonul Creare nou... și completați câmpurile care se deschid în fereastră:
    1. Cale pentru a plasa fișierul de depozit
    2. Parola și confirmarea pentru accesarea seifului
    3. Numele semnăturii prin care va fi chemat
    4. Parola și confirmarea accesului la semnare
    5. Perioada de valabilitate a semnăturii (implicit 25 de ani, lăsați neschimbat)
    6. Cel puțin unul dintre câmpurile certificatului. De obicei, completați numele și prenumele, orașul și țara (RU).
  4. Faceți clic pe OK. Fereastra se închide și vedem că toate câmpurile din fereastra anterioară sunt completate automat cu datele pe care le-am introdus. Bifați în câmpul Remember Password, astfel încât să nu fie nevoie să introduceți parola de fiecare dată și faceți clic pe OK.
  5. În fereastra următoare, controlați calea și numele fișierului apk. În mod implicit, este egal cu numele modulului. Activem caseta de selectare Run ProGuard astfel încât fișierul nostru să fie optimizat și chiar putem schimba fișierul de configurare proguard-android.txt în proguard-android-optimize.txt pentru o optimizare mai strictă (deși acest lucru poate fi plin de unele smartphone-uri exotice). Faceți clic pe Terminare și așteptați, uitându-vă la bara de stare.
  6. Când proiectul s-a terminat de construit, va apărea o fereastră care vă va cere să deschideți folderul cu fișierul apk rezultat. Deschide-l și vezi fișierul nostru.

Voi spune imediat că, în ciuda faptului că bifez caseta Run ProGuard, din anumite motive nu funcționează pentru mine, iar fișierul apk rămâne neoptimizat. Poate că acestea sunt resturi de la o versiune anterioară a Android Studio ( Am versiunea 0.5.4). Dar ieșirea din situație este destul de simplă, activând această casetă de selectare direct în fișierul de script al utilitarului ProGuard. Găsiți în fereastra proiectului din interiorul modulului nostru fișierul build.gradle. În secțiunea android → buildTypes → lansare responsabilă de generarea versiunii, modificați parametrul runProguard de la false la adevărat.

Nu uitați să vă sincronizați proiectul cu acesta după editarea fișierului script. Pentru a face acest lucru, în bara de instrumente, faceți clic pe butonul Sincronizare proiect cu fișiere Gradle (săgeata în jos din cercul verde) sau linkul Sincronizare acum din bara galbenă de mesaje care apare în partea de sus a sursei. După sincronizare, puteți încerca să construiți din nou fișierul apk, începând cu al doilea paragraf al instrucțiunilor noastre. Doar că de data aceasta, în loc să generăm un nou stocare, îl folosim pe cel deja creat. Toate parolele și setările noastre au fost salvate, așa că tot ce trebuie să facem este să facem clic pe OK-Next-Finish în ferestrele pop-up. Vă rugăm să rețineți că fișierul apk nou generat este puțin mai mic decât data trecută.

Mod automat

Metoda automată vă permite să generați un fișier apk fără a introduce parole de fiecare dată când aplicația este lansată pentru execuție, precum și comanda assembleRelease adăugată la lista de configurații și executată de același buton Run.

Pentru a activa modul automat, trebuie să adăugăm o nouă secțiune la fișierul script build.gradle deja familiar nouă, care conține, printre altele, informații despre semnătură:


signingConfigs ( release ( storeFile file("C:\\Users\\UserName\\KEYSTORE.jks") storePassword "StoragePassword" keyAlias ​​​​"SigningName" keyPassword "SigningPassword" ) buildTypes ( release ( minifyEnabledFileSemnareaFișierului de configurare adevărată semnătură Profiguards. ("proguard-android.txt"), "proguard-rules.pro" ) ) )

În locul fișierului de setări „proguard-android.txt” puteți introduce fișierul de setări și mai optimizate „proguard-android-optimize.txt”. Acest lucru va reduce și mai mult dimensiunea fișierului apk.

Pentru a adăuga această secțiune la setări, deschideți fișierul build.gradle aflat în interiorul modulului nostru și comentați secțiunea buildTypes. În schimb, introduceți secțiunea de mai sus. Nu uitați să schimbați calea către fișierul cheie, pe care ați creat-o în prima parte a articolului când ați creat manual fișierul apk și, de asemenea, introduceți numele corect de semnătură și ambele parole.

După ce faceți modificări la fișier, faceți clic pe butonul Sincronizare proiect cu fișiere Gradle din bara de instrumente (săgeata în jos din cercul verde) sau linkul Sincronizare acum din bara galbenă de informații care apare în partea de sus pentru a sincroniza setările modificate cu proiectul . Gata, modul automat este setat!

Acum, pentru a putea genera un fișier apk fără a lansa aplicația, să adăugăm o comandă separată pentru a începe generarea unui fișier apk în lista de configurații (caseta combo din bara de instrumente). Deschideți fereastra Gradle Tasks făcând clic pe pictograma Gradle din marginea dreaptă a ecranului sau selectând-o din lista pop-up a butonului situat în colțul din stânga jos al Android Studio. În secțiunea Toate sarcinile, extindeți lista de sarcini pentru modulul nostru și faceți clic dreapta pe sarcina assembleRelease. În meniul contextual care apare, selectați elementul Creare... și sarcina selectată va fi adăugată la lista de configurații.

Acum putem genera o versiune fără a porni programul pentru execuție, pur și simplu selectând comanda assembleRelease din lista de configurații și apăsând butonul Run. Rezultatul creării automate a fișierului apk va fi localizat în folderul build/apk/. Vor fi două fișiere: ModuleName-release-unaligned.apk și ModuleName-release.apk. Primul dosar este un semifabricat. Este deja semnat, dar nu este încă aliniat. Al doilea fișier este deja aliniat. Acesta este fișierul nostru apk final, pe care îl putem deja redenumi și distribui liber.

Rețineți că alinierea fișierului asigură că toate datele necomprimate încep într-o poziție care este un multiplu de 4 octeți de la începutul fișierului. Acest lucru va optimiza performanța programului pe dispozitiv. Odată ce fișierul este aliniat, Android poate citi informațiile din fișier după cum este necesar, mai degrabă decât să încarce întregul pachet în memorie. Ca urmare, cantitatea de RAM consumată de aplicația care rulează este redusă.

Modulele oferă un container pentru codul sursă al aplicației, fișierele de resurse și setările la nivel de aplicație, cum ar fi fișierul de compilare la nivel de modul și fișierul manifest Android. Fiecare modul poate fi creat, testat și depanat independent.

Android Studio folosește module pentru a facilita adăugarea de noi dispozitive la proiect. Urmând câțiva pași simpli în Android Studio, puteți crea un modul care să conțină cod care este specific unui tip de dispozitiv, cum ar fi Wear OS sau Android TV. Android Studio creează automat directoare de module, cum ar fi directoare sursă și resurse și un fișier build.gradle implicit adecvat pentru tipul de dispozitiv. De asemenea, Android Studio creează module de dispozitiv cu configurații de compilare recomandate, cum ar fi utilizarea bibliotecii Leanback pentru modulele Android TV.

Această pagină descrie cum să adăugați un modul nou pentru un anumit dispozitiv.

De asemenea, Android Studio facilitează adăugarea unei biblioteci sau a unui modul Google Cloud la proiectul dvs. Pentru detalii despre crearea unui modul de bibliotecă, consultați Crearea unui modul de bibliotecă .

Creați un modul nou

Pentru a adăuga un nou modul la proiectul dvs. pentru un dispozitiv nou, procedați după cum urmează:

  1. Clic fişier > Nou > Modul nou.
  2. În Creați un nou modul fereastra care apare, Android Studio oferă următoarele module de dispozitiv:
    • Modul telefon și tabletă
    • Wear OS Module
    • Modul Android TV
    • modul de sticlă
    Selectați modulul pentru dispozitivul dorit, apoi faceți clic Următorul.
  3. În Configurați noul dvs. modul formular, introduceți următoarele detalii:
    • Numele aplicatiei: acest nume este folosit ca titlu al pictogramei lansatorului de aplicații pentru noul modul.
    • numele modulului: Acest text este folosit ca nume al folderului în care sunt vizibile fișierele de cod sursă și resurse.
    • numele pachetului: Acesta este spațiul de nume Java pentru codul din modulul dumneavoastră. Este adăugat ca atribut pachet în fișierul manifest Android al modulului.
    • SDK minim: Această setare indică cea mai joasă versiune a platformei Android pe care o acceptă modulul de aplicație. Această valoare setează atributul minSdkVersion în fișierul build.gradle, pe care îl puteți edita ulterior.

    Apoi apasa Următorul.

  4. În funcție de modulul de dispozitiv pe care l-ați selectat, următoarea pagină afișează o selecție de șabloane de cod adecvate pe care le puteți selecta să le utilizați ca activitate principală. Faceți clic pe un șablon de activitate cu care doriți să începeți, apoi faceți clic Următorul. Dacă nu aveți nevoie de o activitate, faceți clic Nu adăugați nicio activitate, faceți clic finalizarea, și apoi ai terminat.
  5. Dacă ați ales un șablon de activitate, introduceți setările pentru activitatea dvs. pe pagina Personalizați activitatea pagină. Cele mai multe șabloane cer un numele activității, Nume aspect, Titlu, și limba-sursă, dar fiecare șablon are setări specifice activității. Clic finalizarea. Când creați un modul de aplicație cu un șablon de activitate, puteți rula și testa imediat modulul pe dispozitiv.

Android Studio creează toate fișierele necesare pentru noul modul și sincronizează proiectul cu fișierele gradle ale noului modul. Adăugarea unui modul pentru un dispozitiv nou adaugă, de asemenea, orice dependențe necesare pentru dispozitivul țintă la fișierul de compilare al modulului.

Odată ce sincronizarea proiectului Gradle se termină, noul modul apare în proiect fereastra din stanga. Dacă nu vedeți noul folder de modul, asigurați-vă că fereastra afișează vizualizarea Android .

Importați un modul

Pentru a importa un modul existent în proiect, procedați după cum urmează:

  1. Clic Fișier > Nou > Modul de import.
  2. În directorul sursă caseta, tastați sau selectați directorul modulelor pe care doriți să le importați:
    • Dacă importați un modul, indicați directorul rădăcină al acestuia.
    • Dacă importați mai multe module dintr-un proiect, indicați folderul proiectului. Pentru fiecare modul din dosar, apare o casetă care indică locația surseiși numele modulului. Asigurați-vă că Import caseta este bifată pentru fiecare modul pe care doriți să-l importați.
    Dacă modulele dvs. au alte dependențe, acestea vor fi listate pentru a fi importate sub Module suplimentare necesare.
  3. Introduceți numele de modul dorit(e) în fișierul numele modulului câmpuri).
  4. Clic Finalizarea.

Pasii urmatori

După ce ați adăugat un modul nou, puteți modifica codul și resursele modulului, puteți configura setările de construire a modulului și puteți construi modulul. De asemenea, puteți rula și depana modulul ca orice altă aplicație.

  • Pentru a afla despre setările de compilare pentru un modul, consultați Fișierul de compilare la nivel de modul .
  • Pentru a construi și a rula un anumit modul, consultați Selectarea și construirea unui alt modul.

De asemenea, veți dori să adăugați cod și resurse pentru a sprijini corect noul dispozitiv. Pentru mai multe informații despre cum să dezvoltați module de aplicație pentru diferite tipuri de dispozitive, consultați documentația corespunzătoare:

  • Pentru modulele WearOS:
  • Pentru modulele Android TV:
  • Pentru modulele Glass: GDK Quick Start

Pe măsură ce dezvoltați noul modul, este posibil să creați cod independent de dispozitiv care este deja duplicat într-un alt modul de aplicație. În loc să păstrați codul duplicat, luați în considerare mutarea codului partajat într-un modul de bibliotecă și adăugarea bibliotecii ca dependență la modulele aplicației dvs. Pentru mai multe informații despre crearea unui modul de bibliotecă și adăugarea acestuia ca dependență, consultați

Pluginurile instalate sunt în meniu dosar | setari... | pluginuri. Buton Răsfoiți depozitele... vă permite să găsiți pluginul în depozit. Buton Instalează pluginul de pe disc... vă permite să instalați pluginul de pe disc dacă l-ați descărcat singur.

paranteze curcubeu

„Parantezele curcubeu” vă permit să marcați fiecare pereche de paranteze cu propria sa culoare individuală. Acest lucru vă ajută să vedeți vizual unde se află zona de cod.

Înlocuiește toate barele de progres din studio cu o pisică drăguță. Dacă sunteți un programator serios, atunci trebuie pur și simplu să instalați . Compatibil cu alte medii de dezvoltare bazate pe IntelliJ IDEA: PhpStorm, WebStorm, PyCharm, RubyMine, AppCode, CLion, Gogland, DataGrip, Rider, MPS.

Apare peste tot. De exemplu, la încărcarea unui proiect.

În timp ce lucrezi în timp ce sincronizezi ceva.

RoboPOJOGenerator

Un generator convenabil de clase Java și Kotlin POJO gata făcute din JSON: GSON, FastJSON, AutoValue (GSON), Logan Square, Jackson.

idei adb

Plugin pentru Android Studio/Intellij IDEA pentru operații rapide pe aplicație:

  • Uninstall App - eliminați aplicația de pe dispozitiv
  • Kill App - omorâți aplicația (ștergeți din memorie)
  • Porniți aplicația - porniți aplicația
  • Restart App - reporniți aplicația
  • Ștergeți datele aplicației - ștergeți datele
  • Ștergeți datele aplicației și reporniți - ștergeți datele și reporniți

Odată instalate, aceste comenzi pot fi găsite prin unelte | android | IDEA ADB.

De asemenea, puteți apela fereastra de căutare a acțiunilor printr-o comandă rapidă de la tastatură Ctrl+Shift+Ași cu simboluri adb găsi rapid o comandă specifică.

Pluginul este convenabil pentru verificarea stării de sănătate a aplicației în diferite stări. De exemplu, ați creat anterior o bază de date și ați decis să vedeți cum se comportă aplicația cu o bază de date goală. Cu ajutorul pluginului, puteți curăța rapid datele și puteți privi rezultatul.