I progetti Android contengono molti file e strutture di directory relativi alla build per organizzare l'origine e le risorse dell'applicazione. Prima di iniziare nei dettagli della configurazione, esamineremo la struttura generale e le nozioni di base di ciò che appartiene a ogni parte.
In questa tabella sono elencati i file tipici di un progetto Android. Le descrizioni di ogni il file o la directory includono note sul tipo di contenuto che contiene. Migliore evolvono nel tempo e queste descrizioni potrebbero non corrispondere a un progetto ereditato o scaricato da internet.
Quando scrivi i file di build, usa un approccio dichiarativo. crea logica e attività le definizioni devono essere visualizzate solo nei plug-in. Limitando la logica di build ai plug-in, i file di build diventano dichiarazioni dei dati, più dirette e l'editing. Le versioni future potrebbero includere una specifica alternativa come Gradle dichiarativo, che impedirà la logica di build nel .
Cartella/file |
Usa |
---|---|
.gradle |
Directory della cache del progetto Gradle Gestito da Gradle e contiene la distribuzione Gradle scaricata, la cache del progetto e i file di configurazione. Non cambiare i file in questa directory. |
.idea/ |
Metadati di progetto Android Studio Non cambiare i file in questa directory. |
build.gradle(.kts) |
Deve contenere solo dichiarazioni dei plug-in per configurare un classpath del plug-in comune nei sottoprogetti. L'altro codice deve trovarsi nelle impostazioni o nei file di build nidificati a livello di progetto. |
gradle.properties |
Configurazione di esecuzione a Gradle Contiene le proprietà Gradle, che controlla gli aspetti dell'ambiente di build Gradle, come le dimensioni dell'heap, la memorizzazione nella cache e l'esecuzione parallela. Qui vengono definite alcune proprietà Android temporanee al fine di ridurre le modifiche apportate a AGP DSL man mano che vengono aggiunte e rimosse in un secondo momento. |
Gradlew (linux, Mac) gradlew.bat (Windows) |
File Gradle wrapper Esegui il bootstrap della tua build scaricando una distribuzione Gradle e inoltrandola ai comandi. In questo modo puoi eseguire build senza dover preinstallare Gradle. |
proprietà.locali |
Configurazione della macchina locale Contiene proprietà relative alla macchina locale, come la posizione dell'SDK Android. Escludi questo file dal controllo del codice sorgente. |
impostazioni.gradle(.kts) |
Contiene informazioni globali sulla build per l'inizializzazione e la configurazione del progetto Gradle, ad esempio
|
Gradle/ |
|
🎞 libs.versions.toml |
Definisce le variabili per le dipendenze e i plug-in utilizzati all'interno della build. Specifica quali versioni vuoi utilizzare qui, garantendo la coerenza tra tutti i progetti secondari del progetto. |
🎞 wrapper/ |
|
ꛭ gradle‐wrapper.jar |
Bootstrapping a Gradle eseguibile Scarica la distribuzione Gradle specificata (se non esiste) e la esegue, trasmettendo eventuali argomenti |
🎞 gradle‐wrapper.properties |
Configurazione per il wrapper Gradle Specifica dove scaricare la distribuzione Gradle (inclusa la versione da utilizzare). |
app/ |
I sottoprogetti (noti come "moduli" in Android Studio) possono creare applicazioni o librerie e potrebbero dipendere da altri sottoprogetti o dipendenze esterne.
|
ꛭ build.gradle(.kts) |
File di build a livello di sottoprogetto Dichiara come creare questo sottoprogetto. Ogni sottoprogetto richiede un file di build separato e deve contenere
Non devi includere nei file di build logica di build (ad esempio definizioni o condizioni delle funzioni Kotlin) o dichiarazioni delle attività. La logica e le attività della build devono essere contenute solo all'interno dei plug-in. |
🎞 src/ |
File di origine del sottoprogetto Raggruppa i file di origine (codice dell'applicazione e risorse) in set di origine. Il set di origini |
ꛭ principale/ |
Set di origine principale Codice sorgente e risorse comuni a tutte le varianti della build. Questa sorgente funge da base per tutte le build e altri set di origini più specifici vengono aggiunti o sostituiti. |
ꛭ java/ 🎞 kotlin/ |
Codice sorgente di Kotlin e Java La directory |
ꛭ res/ |
Contiene le risorse dell'applicazione, come le immagini e i file XML. Tutte le applicazioni utilizzano alcune risorse di base, ad esempio le icone di avvio, ma molte di queste risorse, come layout e menu, vengono utilizzate solo nelle applicazioni basate sulla visualizzazione. La scrittura delle applicazioni utilizza le risorse String definite in questa directory. |
ꛭ AndroidManifest.xml |
Metadati delle app per Android Letto dal gestore di pacchetti Android per indicare al sistema
|
🎞 androidTest/ |
Set di origini di test dispositivo Contiene un'origine per i test che verranno eseguiti su un emulatore o un dispositivo Android. Questi test hanno accesso a un ambiente Android reale, ma vengono eseguiti più lentamente dei test dell'host. |
ꛭ test/ |
Test host set di origine Contiene il codice sorgente per i test eseguiti localmente in una JVM, a differenza dei test eseguiti su un dispositivo. Questi test sono molto più veloci da eseguire rispetto a quelli del dispositivo. Tuttavia, qualsiasi chiamata di sistema (inclusi i cicli di vita che eseguono l'applicazione) deve essere simulata, simulata, simulata in altro modo o in altro modo. Tutti i file di origine nel set di origini |
🎞 proguard-rules.pro |
Definisce le regole per controllare la riduzione, l'ottimizzazione e l'offuscamento delle applicazioni. R8 rimuove codice e risorse non necessari, ottimizza le prestazioni di runtime e riduce ulteriormente al minimo il codice rinominando gli identificatori. |