¿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?

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.


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í


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).


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í


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.


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.


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'
        }
    }
}

¿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


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í



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


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


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í


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.



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/']
    }
}

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.


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.


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.


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.


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 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.