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

android-assets, android-studio

Solution

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. (note: the first two links are to my blog)

Problem

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?

Original source