Dove posizionare la cartella "risorse" in Android Studio?


1413

Sono confuso riguardo alla assetscartella. Non viene creato automaticamente in Android Studio e quasi tutti i forum in cui viene discusso parlano di Eclipse.

Come si può configurare la directory delle risorse in Android Studio?

Risposte:


1670

Poiché Android Studio utilizza il nuovo sistema di generazione basato su Gradle , dovresti inserire assets/i set di sorgenti (ad es src/main/assets/.).

In un tipico progetto Android Studio, avrai un app/modulo, con un main/set di fonti ( app/src/main/fuori dalla radice del progetto), e quindi le tue risorse primarie entrerebbero app/src/main/assets/. Però:

  • Se hai bisogno di risorse specifiche per una build, ad esempio debugversus release, puoi creare set di origini per quei ruoli (ad es. app/src/release/assets/)

  • I gusti dei tuoi prodotti possono anche avere set di fonti con risorse (ad es. app/src/googleplay/assets/)

  • I suoi test strumentazione può avere un androidTestsourceset con un patrimonio personalizzati (ad esempio, app/src/androidTest/assets/), ma assicuratevi di chiedere il InstrumentationRegistryper getContext(), non è getTargetContext(), di accedere a tali beni

Inoltre, un rapido promemoria: le risorse sono di sola lettura in fase di esecuzione. Utilizzare l'archiviazione interna , l' archiviazione esterna o Storage Access Framework per contenuti di lettura / scrittura.


1
Sto cercando di includere un carattere personalizzato nella directory delle risorse. Dovrei essere bravo ad andare semplicemente incollando il file .ttf come src / main / assets / font.ttf? o devo assegnare il carattere in modo esplicito dal codice al controllo per vederlo?
kalehv,

3
@kalehv: "o devo assegnare esplicitamente il carattere al codice per il controllo per vederlo?" - oh, assolutamente. Dovrai chiamare setTypeface()tutti i TextViewwidget (e altri che ereditano TextView) da cui desideri utilizzare questo tipo di carattere.
CommonsWare,

16
Freddo. Funzionava come un fascino. Vorrei che ci fosse un modo per includere il font Assets (personalizzato) in Styles.xml piuttosto che usarlo attraverso il codice. (Il mio desiderio potrebbe sembrare troppo stupido da gestire, sono un principiante, quindi scusami se è :-P)
kalehv

1
Grazie! Ho cercato ore per questo. Ho provato a creare una sottodirectory per le risorse in / src / main / res / e la directory veniva rimossa dalla build apk.
srowley,

2
@Bora: Quindi non hai countries.txtnella assets/directory. Ecco un progetto di esempio che, tra le altre cose, copia un file dalle risorse nella memoria interna. Se hai ulteriori dubbi, ti preghiamo di porre una domanda Stack Overflow separata, in cui fornisci un esempio riproducibile minimo .
CommonsWare

1472

Lascia che Android Studio lo faccia per te.

  1. In Android Studio ( 1.0 e versioni successive ), fai clic con il pulsante destro del mouse sulla inserisci qui la descrizione dell'immaginecartella e passa a Assets Folder.

inserisci qui la descrizione dell'immagine

  1. Nella schermata successiva basta fare clic Finish.

inserisci qui la descrizione dell'immagine

E voilà! Creerà la assetscartella nel mainset di origini di destinazione.

inserisci qui la descrizione dell'immagine


92
questa soluzione è per Android Studio 1.0 e versioni successive. Altre risposte sono obsolete.
JR Tan

39
L'illustrazione grafica fa la differenza nel mondo!
Badr,

2
Problema: nelle versioni più recenti di Android Studio (sto utilizzando la 2.1.2), le cartelle delle risorse vuote non vengono visualizzate nella finestra File di progetto, rendendo difficile l'aggiunta di file. :(
Scott Biggs,

2
@ScottBiggs Dopo aver aggiunto la cartella delle risorse come mostrato sopra (su v2.1.2), dovrebbe essere visibile all'interno dell'app> src> main
Prince,

2
Quale sarebbe il collegamento a questa cartella in un file Java?
VeeK,

124

Guardando all'interno del file .iml del tuo progetto vedrai la seguente riga:

 <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />

Ciò significa che la cartella "risorse" è già dichiarata per Gradle. Dovrai crearlo in src/main/(sto usando Android Studio 0.4.2).


8
Il mio .iml non ha questo, a quale parte del file lo aggiungo?
nitsujri,

11
probabilmente hai 2 file .iml, controlla entrambi.
Fernandohur,

1
controlla app.iml non <Project-Name> .iml
Tony

1
Sempre in .im alla radice di src .. non nella directory del progetto .. Questo è solo per roba di livello.
Sindri Þór,

86

Seleziona la appcartella e quindi:

File> New> folder> assets Folder,

inserisci qui la descrizione dell'immagine

il percorso predefinito è all'interno della /maincartella

inserisci qui la descrizione dell'immagine


2
Questa è la versione TL; DR della risposta accettata ed è effettivamente utile.
Guillaume Perrot,

45

Innanzitutto la cartella "Risorse" non verrà creata automaticamente con il progetto. Dobbiamo crearlo.

La posizione della cartella Risorse è: App> src> Risorse

Si prega di dare un'occhiata alla semplice immagine qui sotto.

inserisci qui la descrizione dell'immagine

Nota: per creare la cartella delle risorse è sufficiente fare clic su Progetto => Clic destro => Seleziona Nuovo => Cartella => Risorse. Creerà la cartella delle risorse.


Se un altro novizio è stato confuso da tutte queste risposte come me, la struttura delle cartelle può apparire diversa in base alla selezione nell'angolo in alto a sinistra. Il mio era "Android" mentre tutte le persone qui utilizzavano "Progetto" o "File di progetto".
Big_Chair il

la struttura del progetto differisce in base a ciò che selezioni per Struttura del progetto, progetto, file di progetto, pacchetti, Android ecc., ma segui le schermate che condivido e vedi la selezione del tipo di struttura del progetto.
Lovekush Vishwakarma,

39

È semplice, segui questi passaggi

File> Nuovo> Cartella> Cartella risorse

Nota: l' app deve essere selezionata prima di creare la cartella.


29

In Android Studio puoi specificare dove si trovano le cartelle sorgente, res, asset. per ogni modulo / app nel file build.gradle puoi aggiungere qualcosa come:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    sourceSets {
        main {
            java.srcDirs = ['src']
            assets.srcDirs = ['assets']
            res.srcDirs = ['res']
            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}

è necessario se si segue la convenzione?
H.Rabiee,

Questo è super utile se il tuo progetto non è stato creato dal modello di Android Studio (ad esempio, clonato dal codice sorgente AOSP)
Phạm Nguyễn Hoàng,


18

Fai clic su principale → nuovo -> directory → e digita come nome "risorse"

oppure ... principale -> nuovo -> cartella -> cartella risorse (vedi immagine)

inserisci qui la descrizione dell'immagine



10

Se hai provato tutti i tuoi proiettili in questo thread invano, prova a pulire il tuo progetto. Nel mio caso ha funzionato solo dopo Projet->clean


10

fare clic con il tasto destro sulla cartella app-> nuovo-> cartella-> Cartella risorse-> imposta set sorgente di destinazione-> fare clic sul pulsante Fine


9

Due strade:

  1. Seleziona l'app / cartella principale, fai clic con il pulsante destro del mouse e seleziona Nuovo => Cartella => Cartella risorse. Creerà la directory 'risorse' in principale.

  2. Selezionare la cartella principale, fare clic con il tasto destro e selezionare Nuovo => Directory Immettere il nome come 'assets' => Ok.

inserisci qui la descrizione dell'immagine


7

Quando esegui l'upgrade alla versione di rilascio di Android Studio, potresti passare automaticamente alla nuova vista progetto Android (vedi qui per maggiori informazioni). Se si passa alla vista Progetto o Pacchetti, si dovrebbe vedere la gerarchia di cartelle standard di un progetto basato su Gradle. Quindi fare riferimento alla risposta di CommonsWare per la posizione appropriata.



6


Ho bisogno di configurare il parametro per il grado, spero che funzionerà

// file: build.gradle  
sourceSets {
    main {
        assets.srcDirs = ['src/main/res/icon/', 'src/main/assets/']
    }
}

6
Src/main/Assets

Potrebbe non essere visualizzato nella barra laterale se l'app è selezionata. Fai clic sul menu a discesa in alto con scritto Android e seleziona i pacchetti. lo vedrai allora.


3

Passaggio 1: vai a File. Passaggio 2: vai a Cartelle. Passaggio 3: creare la cartella delle risorse.

Nella cartella Asset basta inserire i caratteri e utilizzarli se necessario.


2

In Android Studio, fai clic sulla appcartella, quindi sulla srccartella, quindi sulla maincartella. All'interno della cartella principale è possibile aggiungere la cartella delle risorse.


3
Questo non fornisce una risposta alla domanda. Una volta che hai una reputazione sufficiente , sarai in grado di commentare qualsiasi post ; fornire invece risposte che non richiedono chiarimenti da parte del richiedente . - Dalla recensione
Gaurav Dave,

2
In Android Studio fai clic sulla cartella dell'app, quindi sulla cartella src, quindi sulla cartella principale. Nella cartella principale è possibile aggiungere la cartella Risorse.
Dharmendra Pratap,

2

O crea una directory in / app / src / main o usa studio File-> Nuovo -> Cartella -> Cartella Risorse.


2
follow these steps 

1)file->New->Folder
 there are multiple options like
      aidl folder
      assets folder
      jni folder
2) choose options assets folder
3) then there is option to change path of assets folder if you 
    want to change then check otherwise left that checkbox of cahnge folder location
4) click on finish 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.