ChatGPT解决这个技术问题 Extra ChatGPT

Where to place the 'assets' folder in Android Studio?

I am confused about the assets folder. It doesn't come auto-created in Android Studio, and almost all the forums in which this is discussed talk about Eclipse.

How can the Assets directory be configured in Android Studio?


s
stkent

Since Android Studio uses the new Gradle-based build system, you should be putting assets/ inside of the source sets (e.g., src/main/assets/).

In a typical Android Studio project, you will have an app/ module, with a main/ sourceset (app/src/main/ off of the project root), and so your primary assets would go in app/src/main/assets/. However:

If you need assets specific to a build type, such as debug versus release, you can create sourcesets for those roles (e.g,. app/src/release/assets/)

Your product flavors can also have sourcesets with assets (e.g., app/src/googleplay/assets/)

Your instrumentation tests can have an androidTest sourceset with custom assets (e.g., app/src/androidTest/assets/), though be sure to ask the InstrumentationRegistry for getContext(), not getTargetContext(), to access those assets

Also, a quick reminder: assets are read-only at runtime. Use internal storage, external storage, or the Storage Access Framework for read/write content.


I am trying to include a custom font in the assets directory. Should I be good to go by just pasting the .ttf file as src/main/assets/font.ttf ? or do i need to assign the font explicitly by code to the control to see it?
@kalehv: "or do i need to assign the font explicitly by code to the control to see it?" -- oh, absolutely. You will need to call setTypeface() on all TextView widgets (and others that inherit from TextView) that you want to use this particular font.
Cool. That worked like a charm. I wish there was a way to include Assets font (custom) into Styles.xml rather than using it through code. (My wish might sound too dumb to handle, I am a beginner so excuse me if it is :-P)
Thank you! I've been searching for hours for this. I tried creating a sub directory for assets under /src/main/res/ and the directory was being removed from the apk build.
@Bora: Then you do not have countries.txt in the assets/ directory. Here is a sample project that, among other things, copies a file from assets into internal storage. If you have further concerns, please ask a separate Stack Overflow question, where you provide a minimal reproducible example.
P
Prince

Let Android Studio do it for you.

In Android Studio (1.0 & above), right-click on the folder and navigate to the Assets Folder.

https://i.stack.imgur.com/nJuct.png

On the next screen just click Finish.

https://i.stack.imgur.com/q0t34.png

And voila! It will create the assets folder in the main target source set.

https://i.stack.imgur.com/2o3SW.png


this solution is for Android Studio 1.0 and above. Other answers are obsolete.
Graphical illustration makes all the difference in the world!
Problem: on newer versions of Android Studio (I'm using 2.1.2), empty asset folders are not displayed in the Project Files window, making it difficult to add files. :(
@ScottBiggs Once you add the assets folder as shown above (on v2.1.2), it should be visible inside app > src > main
What would be the link to this folder in a java file?
P
Peter Mortensen

Looking inside the .iml file of your project you will see the following line:

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

This means the "assets" folder is already declared for Gradle. You will need to create it under src/main/ (I'm using Android Studio 0.4.2).


My .iml doesn't have this, what portion of the file do I add this to?
you probably have 2 .iml files, check both of them.
check app.iml not .iml
Allways in .im at root of you src.. not in the project directory.. Thats just for gradle stuff.
J
Jorgesys

Select the app folder and then:

File > New > folder > assets Folder ,

https://i.stack.imgur.com/Oxa83.png

the default location is inside /main folder

https://i.stack.imgur.com/khAqo.png


This is the TL;DR version of the accepted answer and is actually useful.
A
Arun J

First of all the "Assets" folder will not be created automatically with the project. We have to create it.

The location of Assets folder is: App > src > Assets

Please have a look of the simple image below.

https://i.stack.imgur.com/cGCyx.png

Note: For creating assets folder just click on Project => Right click => Select New => Folder => Assets. It will create Assets folder.


If another newbie was confused by all these answers like me, the folder structure can look different based on the selection in the top left corner. Mine was "Android" while all the people here are using "Project" or "Project Files".
project structure is different based on what you select for Project structure, project, project files, packages, Android etc, but you follow the screens what I share and see the selection of project structure type.
A
Arun J

It's simple, follow these steps

File > New > Folder > Assets Folder

Note : App must be selected before creating folder.


S
Sportman Appman

In android studio you can specify where the source, res, assets folders are located. for each module/app in the build.gradle file you can add something like:

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.1"

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

is this necessary if one follows the convention?
This is super useful if your project isn't crated from Android Studio's template (e.g. cloned from AOSP source code)
M
Mohammad Alotol

Simply, double shift then type Assets Folder

choose it to be created in the correct place


Simplest One! (Y)
This a secret one. Wow. Thanks
P
Pablo Cegarra

Click over main → new -> directory → and type as name "assets"

or... main -> new -> folder -> assets folder (see image)

https://i.stack.imgur.com/bnYSK.png


G
Gowtham Subramaniam

File > New > folder > assets Folder

https://i.stack.imgur.com/0KMSa.png


A
AmrDeveloper

In Android Studio 4.1.1

Right Click on your module (app for example) -> New -> Folder -> Assets Folder

https://i.stack.imgur.com/fj8zw.png


S
Shraddha Patel

right click on app folder->new->folder->Assets folder->set Target Source set->click on finish button


A
Arun J

Two ways:

Select app/main folder, Right click and select New => Folder => Asset Folder. It will create 'assets' directory in main. Select main folder, Right click and select New => Directory Enter name as 'assets' = > Ok.

https://i.stack.imgur.com/nFVlK.png


z
zizoujab

If you tried all your bullets in this thread in vain try cleaning your project . In my case it only worked after Projet -> clean


R
Roland Weisleder

Put the assets folder in the main/src/assets path.


w
winchester100
Src/main/Assets

It might not show on your side bar if the app is selected. Click the drop-down at the top that says android and select packages. you will see it then.


m
madjardi

need configure parameter for gradle i hope is will work

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

s
stkent

When upgrading to the release version of Android Studio, you may be automatically switched to the new Android project View (see here for more info). If you swap back to either the Project or Packages view, you should see the standard folder hierarchy of a Gradle-based project. Then refer to CommonsWare's answer for the appropriate location.


D
Dharman

Project -> app -> src -> main -> RMB(right mouse button) -> New -> Directory:

https://i.stack.imgur.com/EfO5C.png

https://i.stack.imgur.com/GCCkQ.png


P
Peter Mortensen

In Android Studio, click on the app folder, then the src folder, and then the main folder. Inside the main folder you can add the assets folder.


This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review
In Android Studio click on app folder, then src folder, then main folder . Inside main folder you can add Assets folder.
D
Deep Adhia

Step 1 : Go to Files. Step 2 : Go to Folders. Step 3 : Create Assets Folder.

In Assets folder just put fonts and use it if needed.


i
indrajeet jyoti
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 

D
Durgesh

Either create a directory under /app/src/main or use studio File-> New -> Folder - > Assets Folder.


s
shohruh Maxmudov

In Android Studio right-click Folder in app->src->main then create new DIRECTORY name that assets.


S
Shamshirsaz.Navid

It seems that nobody mentioned this: You can define it in Project Structure > Project Settings:

https://i.stack.imgur.com/zpyOe.png