¿Dónde colocar la carpeta 'activos' en Android Studio?

1413

Estoy confundido acerca de la assetscarpeta. No viene creado automáticamente en Android Studio, y casi todos los foros en los que se discute esto hablan sobre Eclipse.

¿Cómo se puede configurar el directorio Assets en Android Studio?

kalehv
fuente

Respuestas:

1670

Dado que Android Studio usa el nuevo sistema de compilación basado en Gradle , debe colocarlo assets/dentro de los conjuntos de origen (por ejemplo, src/main/assets/).

En un proyecto típico de Android Studio, tendrá un app/módulo, con un conjunto de main/fuentes ( app/src/main/fuera de la raíz del proyecto), por lo que sus activos principales entrarían app/src/main/assets/. Sin embargo:

  • Si necesita activos específicos para una compilación, como debugversus release, puede crear fuentes para esos roles (por ejemplo, app/src/release/assets/) .

  • Los sabores de su producto también pueden tener fuentes con activos (por ejemplo, app/src/googleplay/assets/)

  • Sus pruebas de instrumentación puede tener un androidTestsourceset con activos personalizados (por ejemplo, app/src/androidTest/assets/), sin embargo, asegúrese de preguntar el InstrumentationRegistrypor getContext(), no getTargetContext(), para acceder a esos activos

Además, un recordatorio rápido: los activos son de solo lectura en tiempo de ejecución. Utilice el almacenamiento interno , el almacenamiento externo o el Marco de acceso de almacenamiento para el contenido de lectura / escritura.

CommonsWare
fuente
1
Estoy tratando de incluir una fuente personalizada en el directorio de activos. ¿Debo ser bueno simplemente pegando el archivo .ttf como src / main / assets / font.ttf? ¿o necesito asignar la fuente explícitamente por código al control para verla?
kalehv
3
@kalehv: "¿o necesito asignar la fuente explícitamente por código al control para verla?" Oh, absolutamente. Deberá invocar setTypeface()todos los TextViewwidgets (y otros que hereden TextView) de los que desea usar esta fuente en particular.
CommonsWare
16
Frio. Eso funcionó a las mil maravillas. Desearía que hubiera una manera de incluir la fuente Assets (personalizada) en Styles.xml en lugar de usarla a través del código. (Mi deseo puede sonar demasiado tonto para manejar, soy un principiante, así que discúlpeme si es
:-P
1
¡Gracias! Llevo horas buscando esto. Intenté crear un subdirectorio para activos en / src / main / res / y el directorio se estaba eliminando de la compilación apk.
srowley
2
@Bora: Entonces no tienes countries.txten el assets/directorio. Aquí hay un proyecto de muestra que, entre otras cosas, copia un archivo de los activos en el almacenamiento interno. Si tiene más inquietudes, haga una pregunta de desbordamiento de pila por separado, en la que proporcione un ejemplo reproducible mínimo .
CommonsWare
1473

Deja que Android Studio lo haga por ti.

  1. En Android Studio ( 1.0 y superior ), haga clic derecho en la ingrese la descripción de la imagen aquícarpeta y navegue hasta Assets Folder.

ingrese la descripción de la imagen aquí

  1. En la siguiente pantalla simplemente haz clic Finish.

ingrese la descripción de la imagen aquí

¡Y voilá! Creará la assetscarpeta en el mainconjunto de origen de destino.

ingrese la descripción de la imagen aquí

Príncipe
fuente
92
Esta solución es para Android Studio 1.0 y superior. Otras respuestas son obsoletas.
JR Tan
40
¡La ilustración gráfica marca la diferencia en el mundo!
Badr
2
Problema: en las versiones más recientes de Android Studio (estoy usando 2.1.2), las carpetas de activos vacías no se muestran en la ventana de Archivos de proyecto, lo que dificulta agregar archivos. :(
Scott Biggs
2
@ScottBiggs Una vez que agregue la carpeta de activos como se muestra arriba (en v2.1.2), debería estar visible dentro de la aplicación> src> main
Prince
2
¿Cuál sería el enlace a esta carpeta en un archivo java?
VeeK
124

Mirando dentro del archivo .iml de su proyecto, verá la siguiente línea:

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

Esto significa que la carpeta "activos" ya está declarada para Gradle. Deberá crearlo en src/main/(Estoy usando Android Studio 0.4.2).

Miguel El Merendero
fuente
8
Mi .iml no tiene esto, ¿a qué parte del archivo agrego esto?
nitsujri
11
probablemente tenga 2 archivos .iml, verifique ambos.
fernandohur
1
compruebe app.iml no <Project-Name> .iml
Tony
1
Siempre en .im en la raíz de tu src ... no en el directorio del proyecto ... Eso es solo para cosas de gradle.
Sindri Sepór
86

Seleccione la appcarpeta y luego:

File> New> folder> assets Folder,

ingrese la descripción de la imagen aquí

la ubicación predeterminada es dentro de la /maincarpeta

ingrese la descripción de la imagen aquí

Jorgesys
fuente
2
Esta es la versión TL; DR de la respuesta aceptada y es realmente útil.
Guillaume Perrot
45

En primer lugar, la carpeta "Activos" no se creará automáticamente con el proyecto. Tenemos que crearlo.

La ubicación de la carpeta Activos es: Aplicación> src> Activos

Por favor, eche un vistazo a la imagen simple a continuación.

ingrese la descripción de la imagen aquí

Nota: Para crear una carpeta de activos, simplemente haga clic en Proyecto => Haga clic derecho => Seleccione Nuevo => Carpeta => Activos. Creará la carpeta Activos.

Lovekush Vishwakarma
fuente
Si otro novato estaba confundido por todas estas respuestas como yo, la estructura de la carpeta puede verse diferente según la selección en la esquina superior izquierda. El mío era "Android", mientras que todas las personas aquí están usando "Proyecto" o "Archivos de proyecto".
Big_Chair
la estructura del proyecto es diferente según lo que seleccione para Estructura del proyecto, proyecto, archivos de proyecto, paquetes, Android, etc., pero sigue las pantallas que comparto y ve la selección del tipo de estructura del proyecto.
Lovekush Vishwakarma
39

Es simple, sigue estos pasos

Archivo> Nuevo> Carpeta> Carpeta de activos

Nota: La aplicación debe seleccionarse antes de crear la carpeta.

Pankaj kumar
fuente
29

En Android Studio, puede especificar dónde se encuentran las carpetas de origen, resolución y activos. para cada módulo / aplicación en el archivo build.gradle puede agregar algo como:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

    sourceSets {
        main {
            java.srcDirs = ['src']
            assets.srcDirs = ['assets']
            res.srcDirs = ['res']
            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}
Sportman Appman
fuente
¿Es esto necesario si uno sigue la convención?
H.Rabiee
Esto es súper útil si su proyecto no está creado a partir de la plantilla de Android Studio (por ejemplo, clonado del código fuente de AOSP)
Phạm Nguyễn Hoàng
22

Simplemente, doble turno y luego escriba Carpeta de activos

elígelo para crearlo en el lugar correcto

Mohammad Alotol
fuente
1
Más simple! (S)
GreenROBO
Este es uno secreto. Guau. Gracias
ralphgabb
18

Haga clic sobre principal → nuevo -> directorio → y escriba como nombre "activos"

o ... principal -> nuevo -> carpeta -> carpeta de activos (ver imagen)

ingrese la descripción de la imagen aquí

Pablo Cegarra
fuente
14

Archivo> Nuevo> carpeta> Carpeta de activos

Carpeta de activos

Gowtham Subramaniam
fuente
10

Si probó todas sus balas en este hilo en vano, intente limpiar su proyecto. En mi caso solo funcionó después de Projet->clean

zizoujab
fuente
10

haga clic derecho en la carpeta de la aplicación-> nuevo-> carpeta-> Carpeta de activos-> establezca el conjunto de origen de destino-> haga clic en el botón Finalizar

Shraddha Patel
fuente
9

Dos caminos:

  1. Seleccione la aplicación / carpeta principal, haga clic derecho y seleccione Nuevo => Carpeta => Carpeta de activos. Creará el directorio 'assets' en main.

  2. Seleccione la carpeta principal, haga clic derecho y seleccione Nuevo => Directorio Ingrese el nombre como 'activos' => Ok.

ingrese la descripción de la imagen aquí

TejpalBh
fuente
7

Al actualizar a la versión de lanzamiento de Android Studio, es posible que cambie automáticamente a la nueva Vista de proyecto de Android (consulte aquí para obtener más información). Si vuelve a cambiar a la vista Proyecto o Paquetes, debería ver la jerarquía de carpetas estándar de un proyecto basado en Gradle. Luego, consulte la respuesta de CommonsWare para conocer la ubicación adecuada.

stkent
fuente
7

Ponga la carpeta de activos en la main/src/assetsruta.

Roland Weisleder
fuente
6

necesita configurar el parámetro para gradle,
espero que funcione

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

Es posible que no se muestre en su barra lateral si se selecciona la aplicación. Haga clic en el menú desplegable en la parte superior que dice Android y seleccione paquetes. lo verás entonces.

S.Doyle
fuente
3

Paso 1: ve a Archivos. Paso 2: Ve a Carpetas. Paso 3: Crear carpeta de activos.

En la carpeta Activos, simplemente coloque las fuentes y úselas si es necesario.

ADHIYA PROFUNDA
fuente
2

En Android Studio, haga clic en la appcarpeta, luego en la srccarpeta y luego en la maincarpeta. Dentro de la carpeta principal puede agregar la carpeta de activos.

Dharmendra Pratap
fuente
3
Esto no proporciona una respuesta a la pregunta. Una vez que tenga suficiente reputación , podrá comentar cualquier publicación ; en su lugar, proporcione respuestas que no requieran una aclaración del autor de la pregunta . - De la opinión
Gaurav Dave
2
En Android Studio, haga clic en la carpeta de la aplicación, luego en la carpeta src, luego en la carpeta principal. Dentro de la carpeta principal puede agregar la carpeta Activos.
Dharmendra Pratap
2

Cree un directorio en / app / src / main o use Studio File-> New -> Folder -> Assets Folder.

Durgesh
fuente
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 
indrajeet jyoti
fuente