Construiți apk din aplicația Android

Am construit recent apk într-o singură cerere, așa că vreau să vă spun ce este disponibil pentru această soluție.


Procesul de construire a unei aplicații Android
În primul rând, despre procesul de construire a apk.

Când porniți adunarea, citiți mai întâi AndroidManifest.xml, ea are parametri importanți, cum ar fi pachetul (de exemplu, com.example.app) și targetSdkVersion.

Apoi este apelat programul aap (Android Asset Packaging Tool), care este trecut la AndroidManifest.xml, dosarul cu res / resurse. active /. calea către android.jar a versiunii țintă dorite. aapt verifică resursele și le compilează, creând o clasă numită R.java care conține identificatori de resurse și un fișier resources.arsc care conține informații despre resursele xml și atributele lor.

Apoi, toate bibliotecile utilizate în proiect sunt preluate și Java Java compiler javac este lansat. Fișierele de clasă rezultate sunt transmise programului dx. care le traduce în format Dalvik dex. Și pentru optimizare, bibliotecile finalizate sunt de-alocate separat, iar clasele de proiect sunt separate (optimizarea este că bibliotecile de licențiere pot fi stocate în cache). Dacă sunt colectate mai multe fișiere dex, toate sunt combinate utilizând instrumentul Dex Merger. În final, primim un singur fișier class.dex (sau mai multe dacă se utilizează multidex).

Acum avem toate componentele și puteți construi apk. De fapt, este simplu de ambalat toate fișierele în zip-arhivă, dar se folosește programul special apkbuilder. După executare, primim un fișier apk nesemnat, adică fără dosarul META-INF din interior.

Ultimul pas este semnătura apk. Este nevoie de o cheie pre-generată și este transmisă jarsignerului împreună cu un fișier apk nesemnat. La ieșire, avem o aplicație gata făcută care poate fi instalată.

Construiți apk din aplicația Android

Construcția dintr-o aplicație Android
Din fericire, Android este o platformă destul de puternică, astfel încât toate aplicațiile de mai sus sunt, de asemenea, portate pentru aceasta.

Compilatorul Java este prezent în CEJ.

Cea mai recentă versiune a dx poate fi compilată din sursele din repozitoriul oficial.

Apkbuilder merge ca parte a sdklib. dar în schimb puteți folosi orice bibliotecă pentru a crea o arhivă zip.

În cele din urmă, biblioteca pentru semnarea apk este semnătura zip-ului.

Trebuie remarcat faptul că pentru asamblarea completă, vom avea nevoie nu numai de aceste biblioteci, ci și de android.jar de cea mai recentă versiune. În cele din urmă, avem 20 MB de dependențe, ceea ce nu este atât de mult. Si acelasi lucru cu android.jar si aapt pot fi descarcate la inceput, ceea ce va economisi in mod semnificativ spatiu si trafic catre utilizatori.

1. Lansați aapt în funcție de arhitectură
Cele mai multe probleme cu aapt, deoarece nu este o bibliotecă, ci un program executabil. Trebuie să executați o versiune compatibilă, pre-setând dreptul de a rula.

fișierul privat getAaptBinaryName # 40; # 41; # 123;

final String arhitectura = Build. CPU_ABI. subșir # 40; 0. 3 # 41;. toLowerCase # 40; Locale. SUA # 41; ;

final boolean usePie = Build. VERSION. SDK_INT> = Construiește. VERSION_CODES. JELLY_BEAN;

final String pieSuffix = usePie. „-plăcintă cu mere“. "";

comutator # 40; arhitectură # 41; # 123;

caz "mip". retur "aapt-mips";

cazul "x86". retur "aapt-x86" + pieSuffix;

Articole similare